Hacked clients can't change their character name
Also made spam filter's aggressiveness consistent
This commit is contained in:
@@ -1485,7 +1485,7 @@ namespace Barotrauma.Networking
|
|||||||
similarity += sender.ChatSpamSpeed * 0.05f; //the faster messages are being sent, the faster the filter will block
|
similarity += sender.ChatSpamSpeed * 0.05f; //the faster messages are being sent, the faster the filter will block
|
||||||
for (int i = 0; i < sender.ChatMessages.Count; i++)
|
for (int i = 0; i < sender.ChatMessages.Count; i++)
|
||||||
{
|
{
|
||||||
float closeFactor = 1.0f / (sender.ChatMessages.Count - i);
|
float closeFactor = 1.0f / (20.0f - i);
|
||||||
|
|
||||||
int levenshteinDist = ToolBox.LevenshteinDistance(message.Text, sender.ChatMessages[i]);
|
int levenshteinDist = ToolBox.LevenshteinDistance(message.Text, sender.ChatMessages[i]);
|
||||||
similarity += Math.Max((message.Text.Length - levenshteinDist) / message.Text.Length * closeFactor, 0.0f);
|
similarity += Math.Max((message.Text.Length - levenshteinDist) / message.Text.Length * closeFactor, 0.0f);
|
||||||
@@ -1613,6 +1613,9 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
private void ReadCharacterData(NetIncomingMessage message)
|
private void ReadCharacterData(NetIncomingMessage message)
|
||||||
{
|
{
|
||||||
|
Client sender = connectedClients.Find(c => c.Connection == message.SenderConnection);
|
||||||
|
if (sender == null) return;
|
||||||
|
|
||||||
string name = "";
|
string name = "";
|
||||||
Gender gender = Gender.Male;
|
Gender gender = Gender.Male;
|
||||||
int headSpriteId = 0;
|
int headSpriteId = 0;
|
||||||
@@ -1640,9 +1643,6 @@ namespace Barotrauma.Networking
|
|||||||
if (jobPrefab != null) jobPreferences.Add(jobPrefab);
|
if (jobPrefab != null) jobPreferences.Add(jobPrefab);
|
||||||
}
|
}
|
||||||
|
|
||||||
Client sender = connectedClients.Find(c => c.Connection == message.SenderConnection);
|
|
||||||
if (sender == null) return;
|
|
||||||
|
|
||||||
sender.characterInfo = new CharacterInfo(Character.HumanConfigFile, name, gender);
|
sender.characterInfo = new CharacterInfo(Character.HumanConfigFile, name, gender);
|
||||||
sender.characterInfo.HeadSpriteId = headSpriteId;
|
sender.characterInfo.HeadSpriteId = headSpriteId;
|
||||||
sender.jobPreferences = jobPreferences;
|
sender.jobPreferences = jobPreferences;
|
||||||
|
|||||||
Reference in New Issue
Block a user