empty chatlist when reconnecting

I connected a few times.
First time it told me that the chat was disconnect from the server right from the start.
Second time everything worked.
Third time and onwoards I couldn't enjoy the chat because I already joined the general chatrooms - but my channellist was still empty.
After a few times of relogging I observed my java log on my next relog:

The exception appeared before even the client opened.
The chat itself didn't do anything

java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.peek(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at HWChat.client.chatFrame.(chatFrame.java:292)
at GUI.Hacker.(Hacker.java:205)
at View.View.startProgram(View.java:104)
at View.View.addData(View.java:200)
at Assignments.LoginSuccessAssignment.execute(LoginSuccessAssignment.java:49)
at com.plink.dolphinnet.Reporter$RunAssignment.run(Reporter.java:83)
at java.lang.Thread.run(Unknown Source)
Players Connected: 9
0.0

After some time (one/ two minutes(?)) I got this:
[11:11:26 PM] !System!: You are already a member of the General-0 channel.
[11:11:26 PM] !System!: You are already a member of the Trade-0 channel.
[11:11:26 PM] !System!: You are already a member of the Help-0 channel.
[11:11:26 PM] !System!: You are already a member of the General-0 channel.

1. My channellist was empty.
2. I cannot join them because I joined them already.
3. I cannot leave the channels because I can only leave them from inside a channel.

I would like to leave a channel from outside using something like
/lc <channelname>
That could be used as workaround too.

I would like to have /cc and /jc back. At least as different calls for /sc, you know, different spelling but same function. Why did you choose /sc?

I guess the code has some silenced exception catches ( try{[...]} catch (Exception e){}; ) in a loop. I think those are responsible for the delays.

second log of hw join

This is the result of my next relog:
The cast exception seems to be the result why the connection to the server dropped right from the start. I guess some old class files survived either on the server or the client. A full recompile is suggested!

[bunch of zeroes]
0
0
0
0
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.peek(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at HWChat.client.chatFrame.(chatFrame.java:292)
at GUI.Hacker.(Hacker.java:205)
at View.View.startProgram(View.java:104)
at View.View.addData(View.java:200)
at Assignments.LoginSuccessAssignment.execute(LoginSuccessAssignment.java:49)
at com.plink.dolphinnet.Reporter$RunAssignment.run(Reporter.java:83)
at java.lang.Thread.run(Unknown Source)
Players Connected: 15
0.0
[client opened]
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to HWChat.messages.chatMessage
at HWChat.client.chatFrame.run(chatFrame.java:424)
at java.lang.Thread.run(Unknown Source)

third try

A retry after a few minutes.

JNLPAppletLauncher: static initializer
os.name = windows 7
nativePrefix = nativeSuffix = .dll
tmpRootDir = C:\Users\username\AppData\Local\Temp\jnlp-applet\jln8860094397295536808
Applet.init
subapplet.classname = Applet.Load
subapplet.displayname = Hack Wars
Applet.start
os.name = windows 7
os.arch = x86
processNativeJar: using previously cached: C:\Users\username\.jnlp-applet\cache\www_crackjawpublishing_com\bebf5384636ed2f399b39062b6685a52fe3f2991\jogl-natives-windows-i586.jar
validateCertificates:
VALIDATE: jogl.dll
VALIDATE: jogl_awt.dll
VALIDATE: jogl_cg.dll
extractNativeLibs:
EXTRACT: jogl.dll(jogl)
EXTRACT: jogl_awt.dll(jogl_awt)
EXTRACT: jogl_cg.dll(jogl_cg)
processNativeJar: using previously cached: C:\Users\username\.jnlp-applet\cache\www_crackjawpublishing_com\bebf5384636ed2f399b39062b6685a52fe3f2991\gluegen-rt-natives-windows-i586.jar
validateCertificates:
VALIDATE: gluegen-rt.dll
extractNativeLibs:
EXTRACT: gluegen-rt.dll(gluegen-rt)
checksum.txt Unzipped.
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.peek(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at HWChat.client.chatFrame.(chatFrame.java:292)
at GUI.Hacker.(Hacker.java:205)
at View.View.startProgram(View.java:104)
at View.View.addData(View.java:200)
at Assignments.LoginSuccessAssignment.execute(LoginSuccessAssignment.java:49)
at com.plink.dolphinnet.Reporter$RunAssignment.run(Reporter.java:83)
at java.lang.Thread.run(Unknown Source)
Players Connected: 6
0.0
java.lang.ClassCastException: java.util.Vector cannot be cast to HWChat.messages.chatMessage
at HWChat.client.chatFrame.run(chatFrame.java:424)
at java.lang.Thread.run(Unknown Source)

Restarted client. For a few seconds I saw a chatlist.

java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.peek(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at HWChat.client.chatFrame.(chatFrame.java:292)
at GUI.Hacker.(Hacker.java:205)
at View.View.startProgram(View.java:104)
at View.View.addData(View.java:200)
at Assignments.LoginSuccessAssignment.execute(LoginSuccessAssignment.java:49)
at com.plink.dolphinnet.Reporter$RunAssignment.run(Reporter.java:83)
at java.lang.Thread.run(Unknown Source)

somewhere in the following three lines a few seconds passed and everything looked fine

Players Connected: 7
0.0
Help-0

And that threw me off again. My connection to the chatserver dropped according to the chat window

java.lang.ClassCastException: java.lang.String cannot be cast to HWChat.messages.chatMessage
at HWChat.client.chatFrame.run(chatFrame.java:424)
at java.lang.Thread.run(Unknown Source)

The classCastException is the same but this time it was a string...

yep

I am having the same issues with the chat channels.

work on chat

Hey guys, the dev team will be working on the various bugs that we have identified in chat 2.0, and we will be restarting the server occasionally as we fix them. Hopefully in the next couple of days things will be mostly ironed out and smooth. Thanks for your patience.

-TTJ

(Im in ur compilerz lolin' ur codez !)

request for tiny improved chat commands

Can you drop a note so that I know when to recheck the above issues?

Again I would like to leave a channel from outside using something like
/lc <channelname>
That could be used as workaround - In fact I missed such a function in the past too.

I would like to have /cc and /jc back. At least as alias calls for /sc. Why did you choose /sc anyway? start channel?

re: request

Sure, I'll let you know when to recheck.

I have also thought of the /lc channelName, and we might implement it while polishing up chat.

/cc and /jc we will probably add as aliases to /sc, and your guess for the origin of the name is correct: "start channel".

-TTJ

(Im in ur compilerz lolin' ur codez !)

Ask and you shall receive (sometimes)

I have increased the socket timeout so that players should drop less. I believe this will help with some of the connection problems that people have been having (including the ones in your post). As of the writing of this post the client and server changes aren't live yet so you won't be able to test them until they are updated. I'll make sure to post something when the next update occurs.

I have also added in the option to the /lc command as well as made /cc and /jc aliases for /sc.

-----------------------------------------
Give a man a fish and he eats for a day. Teach him how to fish and you get rid of him all weekend.

Future Update

I have no clue as to why your chat interface reminds me of IRC chat. I actually caught myself typing in /join #General-0. Hahaha, anyways, thanks for the socket timeout increase, I am not getting disconnected nearly as often (unless I fall asleep from many sleepless nights of grinding).

It's supposed to look like a

It's supposed to look like a IRC chat. lol they should make have #General and stuff

~ShadowPhang

chat bugs feedback

the first login now works much better and I never lost the chat connection.
But rejoining is still troublesome.

First time I got the bunch of zeroes
Second time I got an EOF exception.
In both cases I couldn't see any channels because I already joined them.

checksum.txt Unzipped.
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Players Connected: 34
0.0
Players Connected: 35
Players Connected: 35
0.0

second relog (not a really helpful stacktrace)

java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at HWChat.client.chatFrame.run(chatFrame.java:420)
at java.lang.Thread.run(Unknown Source)
Players Connected: 33
0.0

the dreaded zeros

All of those stupid zeros are a hacked fix for some problem. If we print out the value of the variable then the next line works. If we don't then the value of the variable is null or something for some stupid reason. While a better solution is being figured out, all the zeros being printed once when it's started shouldn't hurt to much for now.

The second error I think occurs due to the socket timeout being to low. The increased timeout _should_ help with that. Hopefully we'll push out the new client tonight and we can get some real testing done to see if that solves the problem.

-----------------------------------------
Give a man a fish and he eats for a day. Teach him how to fish and you get rid of him all weekend.

feedback from a quick chat test

If the the reason is that you need to pas some time then I sugegst to use sleep() (or was it wait?). It would be still an ugly hack.

Which javafunction did throw that error?

Less problems this time. On my first quick relog the EOFException happened again but this time it didn't do anything bad (I just checked the chat).

The unability to rejoin the default channels after a quick relog still exists (no exceptions) when I relogged in quickly a second time.

/lv works - I tested it with a newly created personal channel. But I was unable to leave General-0 when the default channels were invisible. Does the client check if a channel is joined before it will leave it? That defeats the purpose for what I intended to use it: to leave channels that the client didn't know that I joined them previously.

The dreaded 0s didn't appear.

Thats why I didn't include java log this time. Nothing interesting in it.

I'm not sure if it was a time

I'm not sure if it was a time thing or not, Joe came up with that solution.

I did realize that /lc [channel name] would not allow you to leave channels that you had become stuck in (deemed 'ghosting'). However, I did not realize this in time for the update. While I'm still trying to resolve the issue, I will create a function such as /ghostBuster or modify /lc in order to leave ghosted channels. You are correct in that the thread that handles user input checks against a list of joined channels to find the channel to forward the message to. Since this new login profile was unable to connect to the channels it doesn't have a reference to pass the /lc command to, thus the problem. I'm thinking that the EOFException is related to the ghosting problem, since it seems that anytime someone receives and EOFException they will ghost when they log out.

I would recommend that everyone temporarily type /lc in General-0 before logging out to help prevent them getting locked out of all the public channels until we can get a fix live.

Thanks for the feedback SL.

-----------------------------------------
Give a man a fish and he eats for a day. Teach him how to fish and you get rid of him all weekend.