about summary refs log tree commit diff
path: root/src/engine/server/server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/server/server.cpp')
-rw-r--r--src/engine/server/server.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp
index c20821eb..6a2b7b8f 100644
--- a/src/engine/server/server.cpp
+++ b/src/engine/server/server.cpp
@@ -397,6 +397,18 @@ public:
 			// system message
 			if(msg == NETMSG_INFO)
 			{
+				char version[64];
+				strncpy(version, msg_unpack_string(), 64);
+				if(strcmp(version, TEEWARS_NETVERSION_STRING) != 0)
+				//if(strcmp(version, "ERROR") != 0)
+				{
+					// OH FUCK! wrong version, drop him
+					char reason[256];
+					sprintf(reason, "wrong version. server is running %s.", TEEWARS_NETVERSION_STRING);
+					net.drop(cid, reason);
+					return;
+				}
+				
 				strncpy(clients[cid].name, msg_unpack_string(), MAX_NAME_LENGTH);
 				strncpy(clients[cid].clan, msg_unpack_string(), MAX_CLANNAME_LENGTH);
 				const char *password = msg_unpack_string();