Complete.Org: Mailing Lists: Archives: freeciv-dev: April 2006:
[Freeciv-Dev] (PR#15911) elusive windows client bug
Home

[Freeciv-Dev] (PR#15911) elusive windows client bug

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: jarol1@xxxxxxxxx
Subject: [Freeciv-Dev] (PR#15911) elusive windows client bug
From: "Guest" <rt-guest@xxxxxxxxxxx>
Date: Tue, 4 Apr 2006 10:47:42 -0700
Reply-to: bugs@xxxxxxxxxxx

<URL: http://bugs.freeciv.org/Ticket/Display.html?id=15911 >

I have identified the problem in void handle_conn_info(struct
packet_conn_info *pinfo) in client/packhand.c.
It doesn't increase the number of players when new players join the game.

There is a flaw in both server/client - server doesn't let the client
know the number of players when the client joins the game (only after he
types /obs). Another flaw is the client doesn't differentiate between 2
pre-game states when the server is in game-running/pre-game state. So
when client joins a running game it thinks it's not running. Another
possibility is when client joins a server in pre-game state.
These 2 "pre-game" states should be separated.

When a player leaves while server is in pre-game state,
game_renumber_players() is executed and it decreases game.nplayers which
was 0 to -1 and other game structures are overwritten. This causes the
windows client to crash when player attacks.
If more than 1 player leaves then even more damage is done as
game.nplayers is decreased to -2.





[Prev in Thread] Current Thread [Next in Thread]
  • [Freeciv-Dev] (PR#15911) elusive windows client bug, Guest <=