Page 2 of 5

Re: Partial Connection

Posted: Mon Oct 13, 2014 1:39 am
by Lokked
It's worth a shot, but if this is true, why would the client be sending the same request in a single packet?

It's also possible that the client is actually looking for 2 responses to this, and not getting it.

Re: Partial Connection

Posted: Mon Oct 13, 2014 1:42 am
by Volt
Lokked please get online in IRC or lets PM. I am really not getting through here .

Re: Partial Connection

Posted: Mon Oct 13, 2014 1:44 am
by Lokked
I can't this weekend :/
I'll connect with you this coming week. All I can do is type in the forums. I'm driving back home tomorrow, so perhaps tomorrow evening.

Re: Partial Connection

Posted: Mon Oct 13, 2014 1:56 am
by Volt
Gotcha. Please PM me with some time proposals when you know them. My best hour is Xinux lunch time ^^ and I guess that is a no go for you. I could be making it in the EU morning but we'd need to schedule (sorry if that sounds like boring work!) because I can't be stand by in IRC during day time.

Re: Partial Connection

Posted: Mon Oct 13, 2014 10:31 am
by John Adams
[quote="Lokked"]Thanks for all the info on this. Regarding Jab's stint, John, do you have the log file for this? I'll be able to look at this over this coming week, when I'm at home.[/quote]
Here's yesterday's log with me and Jab chatting it up and him getting disconnected.

[The extension log has been deactivated and can no longer be displayed.]

And this morning's crash:

[The extension log has been deactivated and can no longer be displayed.]

FWIW, the world ran from 19:00 to almost 7:00 the following morning with no incidents, then crashed - so it was a pretty large log. This convinces me the problem is quite random, so I will push the current dev code to Public this morning.

Re: Partial Connection

Posted: Mon Oct 13, 2014 12:21 pm
by Lokked
This morning's crash, again, appears to be because of the KickDuplicateClient function. It is apparent that the server crashed as a player was entering the game from Character Select, after being dropped by the server.

Some background info on the spam of Character Created / Destroyed (someone made a comment assumption about this that was incorrect, recently, but I can't find it):
This is tracking Live WorldCharacter objects across all chunks and should match the character count returned by typing 'characters' in the WS Console. For an unknown reason, when you hit the Character Select screen, 12 or 13 WorldCharacter objects to hold the potential information being sent from the LoginServer at this point. Once the information is received, the unused objects are deleted. When a character is selected, this happens again, and all but one (the selected character) should be deleted. Note that the number in the console is the total WorldCharacter object count. Only the Chunk Client object holds a WorldCharacter object.

Re: Partial Connection

Posted: Mon Oct 13, 2014 2:43 pm
by John Adams
Could "12" simply be the size of max characters allowed? Ie., 1/12 if I have 1 character created, with a max of 12.

Re: Partial Connection

Posted: Mon Oct 13, 2014 2:53 pm
by Lokked
Is that really Brad in the chat logs? We should block gm/dev names like that, if not :p

No, I think it's Mithara :p

Re: Partial Connection

Posted: Sat Oct 18, 2014 10:36 am
by Lokked
[quote="John Adams"]Lastly, the Server Info for New Telon shows 1 "is_online" character, when there is clearly 4 according to World (even though it's really only 3)[/quote]

I was lucky enough to catch this on my server, although I still don't have a solution. This pertains to clients being dropped randomly, such as the Jabantiz case and the case where John showed multiple disconnections occurring at the same time, yet the server lives on. This also helps to explain the report about combat not working, and then the client disconnecting shortly after.

The function character->SetIsOnline(false) is definitely being called, on occasion, prematurely. I know this because when I noticed combat was not working on my server, I break pointed in the combat loop and saw my character is_online set to false (which prompts removal from the combat loop). Why?

This function is only called in 3 places and only 1 is relevant: DisconnectClient. Besides being prompted to disconnect via the camp command, the only other thing to look at is the "removes" list, which store the list of clients to be removed, and the WorldHeartbeat, which places timeouts on this list.

Re: Partial Connection

Posted: Sat Oct 18, 2014 2:26 pm
by Volt
Lokked found (thanks!) that I had put the sequence variable in a bad place, which was a cause to this issue. Fix committed in Rev 723.