Better version match fail messages from server
authorPerttu Ahola <celeron55@gmail.com>
Tue, 29 Nov 2011 20:23:03 +0000 (22:23 +0200)
committerPerttu Ahola <celeron55@gmail.com>
Tue, 29 Nov 2011 20:23:03 +0000 (22:23 +0200)
src/server.cpp

index 4cabcda0ca35e1a6893a48dc2b7823a71358c7e3..64e67c4658cb2a25b1d55038063baa69bff3b976 100644 (file)
@@ -2069,8 +2069,11 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
                        infostream<<"Server: Cannot negotiate "
                                        "serialization version with peer "
                                        <<peer_id<<std::endl;
-                       SendAccessDenied(m_con, peer_id,
-                                       L"Your client is too old (map format)");
+                       SendAccessDenied(m_con, peer_id, std::wstring(
+                                       L"Your client's version is not supported.\n"
+                                       L"Server version is ")
+                                       + narrow_to_wide(VERSION_STRING) + L"."
+                       );
                        return;
                }
                
@@ -2088,18 +2091,23 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
 
                if(net_proto_version == 0)
                {
-                       SendAccessDenied(m_con, peer_id,
-                                       L"Your client is too old. Please upgrade.");
+                       SendAccessDenied(m_con, peer_id, std::wstring(
+                                       L"Your client's version is not supported.\n"
+                                       L"Server version is ")
+                                       + narrow_to_wide(VERSION_STRING) + L"."
+                       );
                        return;
                }
                
-               /* Uhh... this should actually be a warning but let's do it like this */
                if(g_settings->getBool("strict_protocol_version_checking"))
                {
-                       if(net_proto_version < PROTOCOL_VERSION)
+                       if(net_proto_version != PROTOCOL_VERSION)
                        {
-                               SendAccessDenied(m_con, peer_id,
-                                               L"Your client is too old. Please upgrade.");
+                               SendAccessDenied(m_con, peer_id, std::wstring(
+                                               L"Your client's version is not supported.\n"
+                                               L"Server version is ")
+                                               + narrow_to_wide(VERSION_STRING) + L"."
+                               );
                                return;
                        }
                }