# HG changeset patch # User rubidium # Date 1216307682 0 # Node ID 2004a55700471e201d4443ae365bbc43cb6ce4f5 # Parent a0173588b15ef660ef7ba6dbb7ffce95662a9e1e (svn r13716) -Fix [FS#2144]: any player could construct new companies. diff -r a0173588b15e -r 2004a5570047 src/network/network_server.cpp --- a/src/network/network_server.cpp Thu Jul 17 13:47:04 2008 +0000 +++ b/src/network/network_server.cpp Thu Jul 17 15:14:42 2008 +0000 @@ -901,7 +901,7 @@ * to match the player in the packet. If it doesn't, the client has done * something pretty naughty (or a bug), and will be kicked */ - if (!(cp->cmd == CMD_PLAYER_CTRL && cp->p1 == 0) && ci->client_playas != cp->player) { + if (!(cp->cmd == CMD_PLAYER_CTRL && cp->p1 == 0 && ci->client_playas == PLAYER_NEW_COMPANY) && ci->client_playas != cp->player) { IConsolePrintF(CC_ERROR, "WARNING: player %d (IP: %s) tried to execute a command as player %d, kicking...", ci->client_playas + 1, GetPlayerIP(ci), cp->player + 1); SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_PLAYER_MISMATCH);