summaryrefslogtreecommitdiff
path: root/src/network/network_udp.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-05-06 09:52:52 +0000
committerrubidium <rubidium@openttd.org>2009-05-06 09:52:52 +0000
commit951b9e76153380e97cadab2c6a0ac3454539bb6f (patch)
treef6f2235e26b9e295c7cc5556d39b8d9223f1a40e /src/network/network_udp.cpp
parent29675278c4543f54a3e91227a3bb925c4ec7a595 (diff)
downloadopenttd-951b9e76153380e97cadab2c6a0ac3454539bb6f.tar.xz
(svn r16238) -Change: improve/clarify some network related debug "error" messages by adding more information to them. Also give some clues on how to fix certain issues (like failing advertising).
Diffstat (limited to 'src/network/network_udp.cpp')
-rw-r--r--src/network/network_udp.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/network/network_udp.cpp b/src/network/network_udp.cpp
index efb8883be..59fbd7dc6 100644
--- a/src/network/network_udp.cpp
+++ b/src/network/network_udp.cpp
@@ -55,7 +55,7 @@ public:
DEF_UDP_RECEIVE_COMMAND(Master, PACKET_UDP_MASTER_ACK_REGISTER)
{
_network_advertise_retries = 0;
- DEBUG(net, 2, "[udp] advertising on master server successful");
+ DEBUG(net, 2, "[udp] advertising on master server successful (%s)", NetworkAddress::AddressFamilyAsString(client_addr->GetAddress()->ss_family));
/* We are advertised, but we don't want to! */
if (!_settings_client.network.server_advertise) NetworkUDPRemoveAdvertise(false);
@@ -64,7 +64,7 @@ DEF_UDP_RECEIVE_COMMAND(Master, PACKET_UDP_MASTER_ACK_REGISTER)
DEF_UDP_RECEIVE_COMMAND(Master, PACKET_UDP_MASTER_SESSION_KEY)
{
_session_key = p->Recv_uint64();
- DEBUG(net, 2, "[udp] received new session key from master server");
+ DEBUG(net, 2, "[udp] received new session key from master server (%s)", NetworkAddress::AddressFamilyAsString(client_addr->GetAddress()->ss_family));
}
///*** Communication with clients (we are server) ***/
@@ -116,7 +116,7 @@ DEF_UDP_RECEIVE_COMMAND(Server, PACKET_UDP_CLIENT_FIND_SERVER)
/* Let the client know that we are here */
this->SendPacket(&packet, client_addr);
- DEBUG(net, 2, "[udp] queried from '%s'", client_addr->GetHostname());
+ DEBUG(net, 2, "[udp] queried from %s", client_addr->GetHostname());
}
DEF_UDP_RECEIVE_COMMAND(Server, PACKET_UDP_CLIENT_DETAIL_INFO)
@@ -495,6 +495,22 @@ void NetworkUDPAdvertiseThread(void *pntr)
DEBUG(net, 1, "[udp] advertising to master server");
+ /* Add a bit more messaging when we cannot get a session key */
+ static byte session_key_retries = 0;
+ if (_session_key == 0 && session_key_retries++ == 2) {
+ DEBUG(net, 0, "[udp] advertising to the master server is failing");
+ DEBUG(net, 0, "[udp] we are not receiving the session key from the server");
+ DEBUG(net, 0, "[udp] please allow udp packets from %s to you to be delivered", out_addr.GetAddressAsString(false));
+ DEBUG(net, 0, "[udp] please allow udp packets from you to %s to be delivered", out_addr.GetAddressAsString(false));
+ }
+ if (_session_key != 0 && _network_advertise_retries == 0) {
+ DEBUG(net, 0, "[udp] advertising to the master server is failing");
+ DEBUG(net, 0, "[udp] we are not receiving the acknowledgement from the server");
+ DEBUG(net, 0, "[udp] this usually means that the master server cannot reach us");
+ DEBUG(net, 0, "[udp] please allow udp and tcp packets to port %s to be delivered", _settings_client.network.server_port);
+ DEBUG(net, 0, "[udp] please allow udp and tcp packets from port %s to be delivered", _settings_client.network.server_port);
+ }
+
/* Send the packet */
Packet p(PACKET_UDP_SERVER_REGISTER);
/* Packet is: WELCOME_MESSAGE, Version, server_port */