diff options
Diffstat (limited to 'src/engine/server/server.cpp')
| -rw-r--r-- | src/engine/server/server.cpp | 12 |
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(); |