shithub: choc

Download patch

ref: 2b978dbdade40124667ff139140abb5006f0ad1a
parent: 72bdda2c48147f37c7f3630f0b5353ef319b6a85
author: Simon Howard <fraggle@gmail.com>
date: Sat Feb 16 22:12:25 EST 2008

Add command line option for server to allow client version checking to
be disabled.

Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1086

--- a/man/chocolate-server.6
+++ b/man/chocolate-server.6
@@ -22,6 +22,11 @@
 .br
 .SH OPTIONS
 .TP
+\fB-ignoreversion\fR
+Ignore version mismatches between the server and the client. Using this
+option may cause game desyncs to occur, or differences in protocol may
+mean the netgame will simply not function at all. 
+.TP
 \fB-port <n>\fR
 Use the specified UDP port for communications, instead of the default (2342). 
 .SH AUTHOR
--- a/src/net_server.c
+++ b/src/net_server.c
@@ -478,8 +478,22 @@
 
     if (strcmp(client_version, PACKAGE_STRING) != 0)
     {
-        NET_SV_SendReject(addr, "Different versions cannot play a network game!");
-        return;
+        //!
+        // @category net
+        //
+        // When running a netgame server, ignore version mismatches between
+        // the server and the client. Using this option may cause game
+        // desyncs to occur, or differences in protocol may mean the netgame
+        // will simply not function at all.
+        //
+
+        if (M_CheckParm("-ignoreversion") == 0) 
+        {
+            NET_SV_SendReject(addr,
+                              "Version mismatch: server version is: "
+                              PACKAGE_STRING);
+            return;
+        }
     }
 
     // read the game mode and mission