From a2af952c687ff666208a316d8b7b4e394df19d2f Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 9 Sep 2015 22:15:19 +0300 Subject: Read server packet version from server (hercules). --- src/net/eathena/loginrecv.cpp | 16 ++++++++++++++++ src/net/tmwa/loginrecv.cpp | 3 +++ 2 files changed, 19 insertions(+) (limited to 'src/net') 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"); -- cgit v1.2.3-60-g2f50