From aaa4ff61f7b17759c4f4ccb3ac9011dd5f8a93f5 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Thu, 24 Jul 2008 00:47:13 +0000 Subject: primary, secondary, tertiary color rendering --- src/core/netserver.cc | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/core/netserver.cc') diff --git a/src/core/netserver.cc b/src/core/netserver.cc index 065d695..2d59788 100644 --- a/src/core/netserver.cc +++ b/src/core/netserver.cc @@ -493,12 +493,20 @@ void NetServer::parse_incoming_message(NetClient *client, const std::string & me unsigned int protover; if (msgstream >> protover) { if (protover != PROTOCOLVERSION) { + // set protocol version mismatch notification std::stringstream netmsgstream(""); - netmsgstream << "Protocol version mismatch: "; + netmsgstream << "^WProtocol version mismatch: "; netmsgstream << "client " << protover << " server " << PROTOCOLVERSION << "!\n"; con_print << client->host() << ":" << client->port() << " " << netmsgstream.str() << std::endl; - server()->send(client->player(), netmsgstream.str()); + send_message(client, "info", netmsgstream.str()); + + netmsgstream.str("disconnect\n"); + netmsgstream.clear(); + + client->send(netmsgstream.str()); + client->transmit(fd()); + client->abort(); } else { client_initialize(client); } @@ -506,7 +514,7 @@ void NetServer::parse_incoming_message(NetClient *client, const std::string & me std::string message("Unknown client protocol version!"); con_print << client->host() << ":" << client->port() << " " << message << std::endl; server()->send(client->player(), message); - client->abort(); + } return; } -- cgit v1.2.3