Freelancer Community Network
Reminder: Internet Explorer 6 or below are NOT supported.
HomeHome
ForumForum
WikiWiki
DownloadsDownloads
ForgeForge
Multiplayer Connection Tutorial
Collapse/Expand Random Image
Collapse/Expand Login
Username:

Password:

Remember me



Lost Password?

Register now!
Collapse/Expand Chat
Collapse/Expand Who's Online
57 user(s) are online (32 user(s) are browsing Forum)

Members: 0
Guests: 57

more...
Collapse/Expand Donations
Monthly costs: -30€
Income (ads): +5€
Donations (last month): +30€

Current balance: -190€
(last updated 04/2017)

Please make a donation if you want to help keeping The-Starport online:

Bitcoin address:
Thanks!
Collapse/Expand Links
Collapse/Expand Advertisement
There are currently 92 users playing Freelancer on 37 servers.
October. 23, 2017

Browsing this Thread:   1 Anonymous Users



 Bottom   Previous Topic   Next Topic  Register To Post



Condata weirdness
Starport Admin
Joined:
2009/2/21 21:42
Group:
Webmasters
Registered Users
Posts: 3447
Offline
So while trying to diagnose a crash log, I stumbled on this bit of code which was causing trouble for us for a few days:
Code:

// Are there accounts connected with client IDs greater than max player count?
// If so, kick them as FLServer is buggy and will use high client IDs but 
// will not allow character selection on them.
for (int iClientID = Players.GetMaxPlayerCount() + 1; iClientID <= MAX_CLIENT_ID; iClientID++)
{
if (Players[iClientID].iOnlineID)
{
CAccount *acc = Players.FindAccountFromClientID(iClientID);
if (acc)
{
//ConPrint(L\"Kicking lag bug account iClientID=%u %u\n\", iClientID,Players[iClientID].iOnlineID);
acc->ForceLogout();
Players.logout(iClientID);
}
}
}


Firstly, is this even justified? It's relatively hard to test for reproduction, but right now the result for us was even worse: people would get instantly kicked on connecting and there was nothing short of a restart that would fix it because the server wasn't attempting to reassign client IDs lower than the max player count.

I don't know if it's Hook, FLServer, or one of our plugins, but the client IDs seem to stick quite persistently to the extent that they're almost never reassigned, so we just keep going up and up as the day goes on. I'd recently dropped our player cap to 32 (from 128), so when we reached that, bam, nobody new could connect.

Is there something to force FLServer to reassign free client ids or should this piece of code just be removed outright?

Posted on: 8/10 4:38
"Cynicism is not realistic and tough. It's unrealistic and kind of cowardly because it means you don't have to try."
-Peggy Noonan
Top
Re: Condata weirdness
Just can't stay away
Joined:
2010/8/9 17:45
Group:
Registered Users
FLServer Admins
Posts: 310
Offline
Used to have this experience a while ago:
No Player or Account is "really" online, but there are account-ids in the list of FlServer of "connected IDs" that don´t show up in the "correct" way or correspond to ANY "registered" Account-ID. The only way to "kick" those "hickup-accounts" was to shutdown the server and restart it... Don´t know if this is related to your post ?


Greetings
J.R.

Posted on: 8/10 15:26
ENIGMA V.4 ATG HOMEPAGE/FORUM
Top
Re: Condata weirdness
Starport Admin
Joined:
2009/2/21 21:42
Group:
Webmasters
Registered Users
Posts: 3447
Offline
No, that's more likely to be the partial connection ddos technique that was particularly popular some time ago.

In my case, no account shows up as online and any listing comes up empty, yet when a new player connects they get assigned a client ID of 33 (since the player cap was 32).

Posted on: 8/10 15:34
"Cynicism is not realistic and tough. It's unrealistic and kind of cowardly because it means you don't have to try."
-Peggy Noonan
Top