diff --git a/Barotrauma/BarotraumaShared/Source/Networking/GameServer.cs b/Barotrauma/BarotraumaShared/Source/Networking/GameServer.cs index 72a4eca3b..9c58d60a9 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/GameServer.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/GameServer.cs @@ -1934,6 +1934,7 @@ namespace Barotrauma.Networking { SendChatMessage(c.Name + " has been kicked from the server.", ChatMessageType.Server, null); KickClient(c, "Kicked by vote"); + BanClient(c, "Kicked by vote (auto ban)", duration: TimeSpan.FromSeconds(AutoBanTime)); } GameMain.NetLobbyScreen.LastUpdateID++; diff --git a/Barotrauma/BarotraumaShared/Source/Networking/GameServerSettings.cs b/Barotrauma/BarotraumaShared/Source/Networking/GameServerSettings.cs index 27403577f..b7160c07d 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/GameServerSettings.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/GameServerSettings.cs @@ -254,6 +254,12 @@ namespace Barotrauma.Networking set; } + [Serialize(60f, true)] + public float AutoBanTime + { + get; + private set; + } private void SaveSettings() { XDocument doc = new XDocument(new XElement("serversettings")); @@ -361,6 +367,8 @@ namespace Barotrauma.Networking if (!monsterEnabled.ContainsKey(s)) monsterEnabled.Add(s, true); } extraCargo = new Dictionary(); + + AutoBanTime = doc.Root.GetAttributeFloat("autobantime", 60); } public void LoadClientPermissions() diff --git a/Barotrauma/BarotraumaShared/serversettings.xml b/Barotrauma/BarotraumaShared/serversettings.xml index c1e3e950c..0cce423d4 100644 --- a/Barotrauma/BarotraumaShared/serversettings.xml +++ b/Barotrauma/BarotraumaShared/serversettings.xml @@ -29,4 +29,5 @@ GameMode="SandBox" MissionType="Random" TraitorsEnabled="No" + autobantime="60" />