OpenTTD

Tasklist

FS#4574 - Only one client can download the map at a time

Attached to Project: OpenTTD
Opened by xi (xi) - Monday, 04 April 2011, 19:31 GMT
Last edited by Remko Bijker (Rubidium) - Saturday, 09 April 2011, 21:52 GMT
Type Bug
Category Network
Status Closed
Assigned To No-one
Operating System All
Severity Low
Priority Normal
Reported Version 1.1.0
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Only one client can join server at once. Second client trying to join game is kicked with no message.
This task depends upon

Closed by  Remko Bijker (Rubidium)
Saturday, 09 April 2011, 21:52 GMT
Reason for closing:  Fixed
Additional comments about closing:  In r22308
Comment by xi (xi) - Tuesday, 05 April 2011, 20:25 GMT
DEF_GAME_RECEIVE_COMMAND(Client, PACKET_SERVER_WAIT)
{
if (this->status != STATUS_AUTHORIZED) return NETWORK_RECV_STATUS_MALFORMED_PACKET;
this->status = STATUS_MAP_WAIT;


DEF_GAME_RECEIVE_COMMAND(Client, PACKET_SERVER_WAIT)
{
if (this->status != STATUS_MAP_WAIT) return NETWORK_RECV_STATUS_MALFORMED_PACKET;
//this->status = STATUS_MAP_WAIT;
Comment by frosch (frosch) - Tuesday, 05 April 2011, 21:47 GMT
  • Field changed: Status (New → Confirmed)
Ah! Completely misunderstood the report at first :o

So, it is about: Only one client can download the map at any time.
Comment by xOR (xOR) - Wednesday, 06 April 2011, 23:02 GMT
I could reproduce that here by simply setting one of my servers to have a quite huge map (12x12, to make sure downloading will take some time even with the new compression) and then trying to connect 2 clients. While the first client is still downloading the map the second client cannot connect, it is simply thrown back to the main menu after the status said "Authorized" for a split second (where in 1.0.5 it would say that it's waiting in the line and eventually start downloading the map, too).

I have run the server with -d net=3 while reproducing it but I only see that a second connection is coming in but disconnected the same second:
dbg: [net] [server] Client connected from X.X.X.X on frame 1733
dbg: [net] [server] Client connected from X.X.X.X on frame 1762
dbg: [net] Closed client connection 5

While the first connection finally finishes its map download and joins:
*** xOR has joined the game (Client #4)

Now at this point the second client can join, too.

Running 1.1.0 without any patches (on Debian, installed from x64 .deb package).

Loading...