diff options
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/eathena/loginrecv.cpp | 16 | ||||
-rw-r--r-- | src/net/tmwa/loginrecv.cpp | 3 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/net/eathena/loginrecv.cpp b/src/net/eathena/loginrecv.cpp index 472ce76be..cd0a09060 100644 --- a/src/net/eathena/loginrecv.cpp +++ b/src/net/eathena/loginrecv.cpp @@ -35,6 +35,8 @@ #include "debug.h" +extern int packetVersion; + namespace EAthena { @@ -145,9 +147,23 @@ void LoginRecv::processServerVersion(Net::MessageIn &msg) msg.readInt32("unused"); serverVersion = msg.readInt32("server version"); if (serverVersion > 0) + { logger->log("Evol2 server version: %d", serverVersion); + if (serverVersion >= 8) + { + packetVersion = msg.readInt32("packet version"); + logger->log("Hercules packet version: %d", packetVersion); + } + else + { + packetVersion = 20150000; + logger->log("Possible hercules packet version: %d", packetVersion); + } + } else + { logger->log("Hercules without version"); + } client->setState(STATE_LOGIN); } diff --git a/src/net/tmwa/loginrecv.cpp b/src/net/tmwa/loginrecv.cpp index 772691573..d5ca68241 100644 --- a/src/net/tmwa/loginrecv.cpp +++ b/src/net/tmwa/loginrecv.cpp @@ -33,6 +33,8 @@ #include "debug.h" +extern int packetVersion; + namespace TmwAthena { @@ -45,6 +47,7 @@ enum ServerFlags void LoginRecv::processServerVersion(Net::MessageIn &msg) { + packetVersion = 0; const uint8_t b1 = msg.readUInt8("b1"); // -1 const uint8_t b2 = msg.readUInt8("b2"); const uint8_t b3 = msg.readUInt8("b3"); |