diff --git a/OpenRA.Game/Server/Connection.cs b/OpenRA.Game/Server/Connection.cs index 0551e23571..76799ee660 100644 --- a/OpenRA.Game/Server/Connection.cs +++ b/OpenRA.Game/Server/Connection.cs @@ -36,7 +36,7 @@ namespace OpenRA.Server return result.ToArray(); } - bool ReadDataInner( Server server ) + bool ReadDataInner(Server server) { var rx = new byte[1024]; var len = 0; @@ -65,6 +65,7 @@ namespace OpenRA.Server if (e.SocketErrorCode == SocketError.WouldBlock) break; server.DropClient(this); + Log.Write("server", "Dropping client {0} because reading the data failed: {1}", this.PlayerIndex.ToString(), e); return false; } } @@ -72,7 +73,7 @@ namespace OpenRA.Server return true; } - public void ReadData( Server server ) + public void ReadData(Server server) { if (ReadDataInner(server)) while (data.Count >= ExpectLength) diff --git a/OpenRA.Game/Server/Server.cs b/OpenRA.Game/Server/Server.cs index 7c898805a3..7de0d3d445 100644 --- a/OpenRA.Game/Server/Server.cs +++ b/OpenRA.Game/Server/Server.cs @@ -97,9 +97,9 @@ namespace OpenRA.Server UPnP.ForwardPort(); foreach (var trait in modData.Manifest.ServerTraits) - ServerTraits.Add( modData.ObjectCreator.CreateObject(trait) ); + ServerTraits.Add(modData.ObjectCreator.CreateObject(trait)); - lobbyInfo = new Session( mods ); + lobbyInfo = new Session(mods); lobbyInfo.GlobalSettings.RandomSeed = randomSeed; lobbyInfo.GlobalSettings.Map = settings.Map; lobbyInfo.GlobalSettings.ServerName = settings.Name; @@ -186,10 +186,11 @@ namespace OpenRA.Server if (!listener.Server.IsBound) return; newSocket = listener.AcceptSocket(); } - catch + catch (Exception e) { - /* could have an exception here when listener 'goes away' when calling AcceptConnection! */ - /* alternative would be to use locking but the listener doesnt go away without a reason */ + /* TODO: Could have an exception here when listener 'goes away' when calling AcceptConnection! */ + /* Alternative would be to use locking but the listener doesnt go away without a reason. */ + Log.Write("server", "Accepting the connection failed.", e); return; } @@ -199,6 +200,9 @@ namespace OpenRA.Server newConn.socket.Blocking = false; newConn.socket.NoDelay = true; + Log.Write("server", "Socket.ReceiveBufferSize: {0}.".F(newConn.socket.ReceiveBufferSize)); + Log.Write("server", "Socket.SendBufferSize: {0}.".F(newConn.socket.SendBufferSize)); + // assign the player number. newConn.PlayerIndex = ChooseFreePlayerIndex(); newConn.socket.Send(BitConverter.GetBytes(ProtocolVersion.Version));