Hacked client can't join full server anymore

Not sure how they can get around lidgren's checking, but this should do the trick
This commit is contained in:
juanjp600
2016-08-29 19:02:37 -03:00
parent 83f8ad0555
commit df0b064899
2 changed files with 12 additions and 9 deletions
+5 -8
View File
@@ -1640,15 +1640,12 @@ namespace Barotrauma.Networking
if (jobPrefab != null) jobPreferences.Add(jobPrefab); if (jobPrefab != null) jobPreferences.Add(jobPrefab);
} }
foreach (Client c in connectedClients) Client sender = connectedClients.Find(c => c.Connection == message.SenderConnection);
{ if (sender == null) return;
if (c.Connection != message.SenderConnection) continue;
c.characterInfo = new CharacterInfo(Character.HumanConfigFile, name, gender); sender.characterInfo = new CharacterInfo(Character.HumanConfigFile, name, gender);
c.characterInfo.HeadSpriteId = headSpriteId; sender.characterInfo.HeadSpriteId = headSpriteId;
c.jobPreferences = jobPreferences; sender.jobPreferences = jobPreferences;
break;
}
} }
public void WriteCharacterData(NetOutgoingMessage msg, string name, Character c) public void WriteCharacterData(NetOutgoingMessage msg, string name, Character c)
@@ -81,6 +81,12 @@ namespace Barotrauma.Networking
return; return;
} }
if (ConnectedClients.Count>=config.MaximumConnections)
{
inc.SenderConnection.Disconnect("Server full");
return;
}
DebugConsole.NewMessage("New player has joined the server", Color.White); DebugConsole.NewMessage("New player has joined the server", Color.White);
byte userID; byte userID;