diff options
author | Simon Howard | 2006-01-21 14:16:49 +0000 |
---|---|---|
committer | Simon Howard | 2006-01-21 14:16:49 +0000 |
commit | 27055f4b7a9cbb63c5b7e4b77e556c8d13781bdb (patch) | |
tree | 65b10a4404e694dbcd02b5e2d58560a4ae42b32f /src/net_server.c | |
parent | cc79c48602735f7daabd01f67d0038f1967830ba (diff) | |
download | chocolate-doom-27055f4b7a9cbb63c5b7e4b77e556c8d13781bdb.tar.gz chocolate-doom-27055f4b7a9cbb63c5b7e4b77e556c8d13781bdb.tar.bz2 chocolate-doom-27055f4b7a9cbb63c5b7e4b77e556c8d13781bdb.zip |
Add first game data sending code. Check the client version when connecting.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 312
Diffstat (limited to 'src/net_server.c')
-rw-r--r-- | src/net_server.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/net_server.c b/src/net_server.c index 31ea03ea..a84c53a2 100644 --- a/src/net_server.c +++ b/src/net_server.c @@ -1,7 +1,7 @@ // Emacs style mode select -*- C++ -*- //----------------------------------------------------------------------------- // -// $Id: net_server.c 285 2006-01-12 02:18:59Z fraggle $ +// $Id: net_server.c 312 2006-01-21 14:16:49Z fraggle $ // // Copyright(C) 2005 Simon Howard // @@ -21,6 +21,9 @@ // 02111-1307, USA. // // $Log$ +// Revision 1.22 2006/01/21 14:16:49 fraggle +// Add first game data sending code. Check the client version when connecting. +// // Revision 1.21 2006/01/12 02:18:59 fraggle // Only start new games when in the waiting-for-start state. // @@ -105,6 +108,8 @@ #include <stdlib.h> #include <string.h> +#include "config.h" + #include "doomdef.h" #include "doomstat.h" #include "i_system.h" @@ -268,6 +273,7 @@ static void NET_SV_ParseSYN(net_packet_t *packet, unsigned int magic; unsigned int cl_gamemode, cl_gamemission; char *player_name; + char *client_version; int i; // read the magic number @@ -300,6 +306,13 @@ static void NET_SV_ParseSYN(net_packet_t *packet, { return; } + + client_version = NET_ReadString(packet); + + if (client_version == NULL) + { + return; + } // received a valid SYN @@ -358,6 +371,12 @@ static void NET_SV_ParseSYN(net_packet_t *packet, return; } + if (strcmp(client_version, PACKAGE_STRING) != 0) + { + NET_SV_SendReject(addr, "Different versions cannot play a network game!"); + return; + } + // Adopt the game mode and mission of the first connecting client if (num_clients == 0) |