summaryrefslogtreecommitdiff
path: root/src/net_server.c
diff options
context:
space:
mode:
authorSimon Howard2006-01-21 14:16:49 +0000
committerSimon Howard2006-01-21 14:16:49 +0000
commit27055f4b7a9cbb63c5b7e4b77e556c8d13781bdb (patch)
tree65b10a4404e694dbcd02b5e2d58560a4ae42b32f /src/net_server.c
parentcc79c48602735f7daabd01f67d0038f1967830ba (diff)
downloadchocolate-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.c21
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)