Lobby Server problems

Discuss the future of Warzone 2100 with us.
Post Reply
User avatar
Serman
Trained
Trained
Posts: 244
Joined: 25 May 2007, 03:54
Location: New York City

Lobby Server problems

Post by Serman »

Over the time that 2.0.7 has been out, there has been a strange phenomenon in the lobby server, that most of you know as 'ghost games'.

These are very annoying, and take up all the space in the world.
As of today, there are seven ghost games taking up space in the lobby server. These are unplayable, and in some cases crash your computer.

I would sure like to know what causes these, and if it can be corrected by a simple server reset if at all possible.
Kamaze
Regular
Regular
Posts: 1017
Joined: 30 Jul 2006, 15:23

Re: Lobby Server problems

Post by Kamaze »

I restarted it.
We all have the same heaven, but not the same horizon.
Giel
Regular
Regular
Posts: 725
Joined: 26 Dec 2006, 19:18
Contact:

Re: Lobby Server problems

Post by Giel »

Serman wrote: I would sure like to know what causes these, and if it can be corrected by a simple server reset if at all possible.
If we knew what causes it then we would have fixed it already by now.

A simple server reset should alleviate the problems (temporarily!) though.
"First make sure it works good, only then make it look good." -- Giel
Want to tip/donate? bitcoin:1EaqP4ZPMvUffazTxm7stoduhprzeabeFh
User avatar
Terminator
Regular
Regular
Posts: 1077
Joined: 05 Aug 2006, 13:46
Location: Ukraine
Contact:

Re: Lobby Server problems

Post by Terminator »

Again this sh*t happens. I thought about that... Is it possible to add a something like a timeout for hosted games..exemple: if hostedgame doesnt removes from list by its starting, so after 2-3 hours its removes by lobby automaticaly.. something like that.
Death is the only way out... sh*t Happens !

Russian-speaking Social network Group http://vk.com/warzone2100
User avatar
DevUrandom
Regular
Regular
Posts: 1690
Joined: 31 Jul 2006, 23:14

Re: Lobby Server problems

Post by DevUrandom »

We could try periodic connects, maybe?
User avatar
Terminator
Regular
Regular
Posts: 1077
Joined: 05 Aug 2006, 13:46
Location: Ukraine
Contact:

Re: Lobby Server problems

Post by Terminator »

DevUrandom wrote: We could try periodic connects, maybe?
mmm.. what that means ?
Death is the only way out... sh*t Happens !

Russian-speaking Social network Group http://vk.com/warzone2100
User avatar
kage
Regular
Regular
Posts: 751
Joined: 05 Dec 2006, 21:45

Re: Lobby Server problems

Post by kage »

Terminator wrote: mmm.. what that means ?
it means they could try connecting again and again after an amount of time
Giel
Regular
Regular
Posts: 725
Joined: 26 Dec 2006, 19:18
Contact:

Re: Lobby Server problems

Post by Giel »

DevUrandom wrote: We could try periodic connects, maybe?
I think sending some kind of heartbeat "signal" over the TCP connection might be a better idea.
"First make sure it works good, only then make it look good." -- Giel
Want to tip/donate? bitcoin:1EaqP4ZPMvUffazTxm7stoduhprzeabeFh
User avatar
Terminator
Regular
Regular
Posts: 1077
Joined: 05 Aug 2006, 13:46
Location: Ukraine
Contact:

Re: Lobby Server problems

Post by Terminator »

for better checking systerm I think "heartbeat "signal" over the TCP" & timeout (like a double protection) for hosted games will resolve this bug temporarily.
Death is the only way out... sh*t Happens !

Russian-speaking Social network Group http://vk.com/warzone2100
User avatar
DevUrandom
Regular
Regular
Posts: 1690
Joined: 31 Jul 2006, 23:14

Re: Lobby Server problems

Post by DevUrandom »

Yes, something like that. We currently only check whether we can connect to the game (port 9999) when the game is initialy setup. I thought we might want to connect every hour or so to check whether the game is still up. The connection to the lobbyserver is continuing till the game is started anyway. We would be notified if the tcp connection times out or anything...
Giel
Regular
Regular
Posts: 725
Joined: 26 Dec 2006, 19:18
Contact:

Re: Lobby Server problems

Post by Giel »

DevUrandom wrote: We would be notified if the tcp connection times out or anything...
Well yes we will be notified when the connection times out, though the problem is that TCP time-outs can take up to several days to occur. It is more likely that games get removed from the list by means of sending a FIN packet. If however something goes wrong this FIN packet might never be sent (or received).

As for attempting to connect multiple times; I personally think adding a "heartbeat" feature to the protocol might be a better approach. Though that's just my 2 cents.
"First make sure it works good, only then make it look good." -- Giel
Want to tip/donate? bitcoin:1EaqP4ZPMvUffazTxm7stoduhprzeabeFh
User avatar
mcdebugger
Trained
Trained
Posts: 66
Joined: 02 Feb 2007, 20:54
Location: Russian Federation
Contact:

Re: Lobby Server problems

Post by mcdebugger »

And what about to send something like Keep-Alive packets to the lobby server? If at least one peer is in game this game will be in the games list. And if server doesn't recieve any packet for a long time (for example 1 hour) it'll remove game from list. Just a one problem: server need to identify a game from which packet was transferred. So it'll need additional information and maybe something requests language that need some source code to be rewritten...
Hardware: MacBook Pro 13 2015
Software: macOS 10.15 Catalina
Giel
Regular
Regular
Posts: 725
Joined: 26 Dec 2006, 19:18
Contact:

Re: Lobby Server problems

Post by Giel »

mcdebugger wrote: And what about to send something like Keep-Alive packets to the lobby server? If at least one peer is in game this game will be in the games list. And if server doesn't recieve any packet for a long time (for example 1 hour) it'll remove game from list.
That's exactly what is being proposed by me and DevUrandom (we've both just got small variants on how to do that it).
mcdebugger wrote: Just a one problem: server need to identify a game from which packet was transferred. So it'll need additional information and maybe something requests language that need some source code to be rewritten...
Erm, well actually that isn't a problem as the IP protocol already deals with that. When sending packets across an IP network (the internet is a _very_ large IP network) every one of those packets should contain both the source and destination IP addresses and ports. So determining to which game a packet belongs is no problem.
"First make sure it works good, only then make it look good." -- Giel
Want to tip/donate? bitcoin:1EaqP4ZPMvUffazTxm7stoduhprzeabeFh
Post Reply