From d92d376148f7ed35df1c757aab5eca5645bb8ddd Mon Sep 17 00:00:00 2001 From: est31 Date: Sun, 5 Jul 2015 21:05:07 +0200 Subject: Client: better m_proto_ver initialisation Previously, m_proto_ver was set to the serialisation version inside the legacy init packet. Now, if the server doesn't send a protocol version (protocols < 25), we set m_proto_ver to some value < 25 and > 0. --- src/network/clientpackethandler.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/network/clientpackethandler.cpp') diff --git a/src/network/clientpackethandler.cpp b/src/network/clientpackethandler.cpp index c0acff985..1ec6a2a1a 100644 --- a/src/network/clientpackethandler.cpp +++ b/src/network/clientpackethandler.cpp @@ -151,20 +151,23 @@ void Client::handleCommand_InitLegacy(NetworkPacket* pkt) if (pkt->getSize() < 1) return; - u8 deployed; - *pkt >> deployed; + u8 server_ser_ver; + *pkt >> server_ser_ver; infostream << "Client: TOCLIENT_INIT_LEGACY received with " - "deployed=" << ((int)deployed & 0xff) << std::endl; + "server_ser_ver=" << ((int)server_ser_ver & 0xff) << std::endl; - if (!ser_ver_supported(deployed)) { + if (!ser_ver_supported(server_ser_ver)) { infostream << "Client: TOCLIENT_INIT_LEGACY: Server sent " << "unsupported ser_fmt_ver"<< std::endl; return; } - m_server_ser_ver = deployed; - m_proto_ver = deployed; + m_server_ser_ver = server_ser_ver; + + // We can be totally wrong with this guess + // but we only need some value < 25. + m_proto_ver = 24; // Get player position v3s16 playerpos_s16(0, BS * 2 + BS * 20, 0); -- cgit v1.2.3