X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fnetserv.c;h=4b846f9da413425db5e86999fd149111f34ea77c;hb=d2bb945e958e551ee43005160e671db37899e8cb;hp=4fd8461076fa0c3a5332ca500f9b0c9d2ed916f4;hpb=534881ab3184952023d05c6aa739bc7fcf8da82a;p=rocksndiamonds.git diff --git a/src/netserv.c b/src/netserv.c index 4fd84610..4b846f9d 100644 --- a/src/netserv.c +++ b/src/netserv.c @@ -129,6 +129,7 @@ static void RemovePlayer(struct NetworkServerPlayerInfo *player) free(player); clients--; +#if 0 /* do not terminate network server if last player disconnected */ if (onceonly && clients == 0) { if (options.verbose) @@ -138,6 +139,7 @@ static void RemovePlayer(struct NetworkServerPlayerInfo *player) } exit(0); } +#endif } static void AddPlayer(TCPsocket fd) @@ -587,10 +589,12 @@ void NetworkServer(int port, int serveronly) memmove(player->readbuffer, player->readbuffer + 4 + len, player->nread); buffer[0] = player->number; - if (!player->introduced && buffer[1] != OP_PLAYER_NAME) + if (!player->introduced && + buffer[1] != OP_PLAYER_NAME && + buffer[1] != OP_PROTOCOL_VERSION) { if (options.verbose) - Error(ERR_NETWORK_SERVER, "!(client %d)->introduced && buffer[1]==%d (expected OP_PLAYER_NAME)", buffer[0], buffer[1]); + Error(ERR_NETWORK_SERVER, "!(client %d)->introduced && buffer[1]==%d (expected OP_PLAYER_NAME or OP_PROTOCOL_VERSION)", buffer[0], buffer[1]); RemovePlayer(player); interrupt = 1;