diff --git a/Barotrauma/BarotraumaServer/Source/GameMain.cs b/Barotrauma/BarotraumaServer/Source/GameMain.cs index 3fa832d3d..6a32ebffd 100644 --- a/Barotrauma/BarotraumaServer/Source/GameMain.cs +++ b/Barotrauma/BarotraumaServer/Source/GameMain.cs @@ -102,7 +102,7 @@ namespace Barotrauma XDocument doc = ToolBox.TryLoadXml(GameServer.SettingsFile); if (doc == null) { - DebugConsole.ThrowError("File \""+GameServer.SettingsFile+"\" not found. Starting the server with default settings."); + DebugConsole.ThrowError("File \"" + GameServer.SettingsFile + "\" not found. Starting the server with default settings."); Server = new GameServer("Server", 14242, false, "", false, 10); return; } @@ -112,7 +112,7 @@ namespace Barotrauma ToolBox.GetAttributeInt(doc.Root, "port", 14242), ToolBox.GetAttributeBool(doc.Root, "public", false), ToolBox.GetAttributeString(doc.Root, "password", ""), - ToolBox.GetAttributeBool(doc.Root, "attemptupnp", false), + ToolBox.GetAttributeBool(doc.Root, "enableupnp", false), ToolBox.GetAttributeInt(doc.Root, "maxplayers", 10)); } diff --git a/Barotrauma/BarotraumaShared/BarotraumaShared.projitems b/Barotrauma/BarotraumaShared/BarotraumaShared.projitems index 7bd2e0bca..197127533 100644 --- a/Barotrauma/BarotraumaShared/BarotraumaShared.projitems +++ b/Barotrauma/BarotraumaShared/BarotraumaShared.projitems @@ -734,6 +734,9 @@ PreserveNewest + + PreserveNewest + diff --git a/Barotrauma/BarotraumaShared/Source/Networking/GameServer.cs b/Barotrauma/BarotraumaShared/Source/Networking/GameServer.cs index 50adb3eb4..74b67a412 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/GameServer.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/GameServer.cs @@ -76,7 +76,8 @@ namespace Barotrauma.Networking AdminAuthPass = ""; this.name = name; - this.Public = isPublic; + this.isPublic = isPublic; + this.maxPlayers = maxPlayers; this.password = ""; if (password.Length>0) { @@ -107,14 +108,13 @@ namespace Barotrauma.Networking config.EnableUPnP = true; } - config.MaximumConnections = maxPlayers*2; //double the lidgren connections for unauthenticated players - MaxPlayers = maxPlayers; + config.MaximumConnections = maxPlayers * 2; //double the lidgren connections for unauthenticated players - config.DisableMessageType(NetIncomingMessageType.DebugMessage | + config.DisableMessageType(NetIncomingMessageType.DebugMessage | NetIncomingMessageType.WarningMessage | NetIncomingMessageType.Receipt | NetIncomingMessageType.ErrorMessage | NetIncomingMessageType.Error | NetIncomingMessageType.UnconnectedData); - + config.EnableMessageType(NetIncomingMessageType.ConnectionApproval); log = new ServerLog(name); @@ -229,7 +229,7 @@ namespace Barotrauma.Networking request.AddParameter("servername", name); request.AddParameter("serverport", Port); request.AddParameter("currplayers", connectedClients.Count); - request.AddParameter("maxplayers", MaxPlayers); + request.AddParameter("maxplayers", maxPlayers); request.AddParameter("password", string.IsNullOrWhiteSpace(password) ? 0 : 1); request.AddParameter("version", GameMain.Version.ToString()); if (GameMain.Config.SelectedContentPackage != null) @@ -284,7 +284,7 @@ namespace Barotrauma.Networking request.AddParameter("serverport", Port); request.AddParameter("gamestarted", gameStarted ? 1 : 0); request.AddParameter("currplayers", connectedClients.Count); - request.AddParameter("maxplayers", MaxPlayers); + request.AddParameter("maxplayers", maxPlayers); Log("Refreshing connection with master server...", ServerLog.MessageType.ServerMessage); @@ -469,7 +469,7 @@ namespace Barotrauma.Networking { inc.SenderConnection.Deny("You have been banned from the server"); } - else if (ConnectedClients.Count >= MaxPlayers) + else if (ConnectedClients.Count >= maxPlayers) { inc.SenderConnection.Deny("Server full"); } diff --git a/Barotrauma/BarotraumaShared/Source/Networking/GameServerLogin.cs b/Barotrauma/BarotraumaShared/Source/Networking/GameServerLogin.cs index ecd36d9cc..ac1a09279 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/GameServerLogin.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/GameServerLogin.cs @@ -43,7 +43,7 @@ namespace Barotrauma.Networking if (unauthClient == null) { //new client, generate nonce and add to unauth queue - if (ConnectedClients.Count >= MaxPlayers) + if (ConnectedClients.Count >= maxPlayers) { //server is full, can't allow new connection conn.Disconnect("Server full"); diff --git a/Barotrauma/BarotraumaShared/Source/Networking/GameServerSettings.cs b/Barotrauma/BarotraumaShared/Source/Networking/GameServerSettings.cs index 4e78e4b60..20f86514c 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/GameServerSettings.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/GameServerSettings.cs @@ -80,8 +80,12 @@ namespace Barotrauma.Networking private bool autoRestart; - private List clientPermissions = new List(); + private bool isPublic; + private int maxPlayers; + + private List clientPermissions = new List(); + [HasDefaultValue(true, true)] public bool RandomizeSeed { @@ -170,41 +174,20 @@ namespace Barotrauma.Networking AutoRestartTimer = autoRestart ? AutoRestartInterval : 0.0f; } } - - [HasDefaultValue(8, true)] - private int MaxPlayers + + [HasDefaultValue(true, true)] + public bool AllowRespawn { get; set; } - [HasDefaultValue(false, true)] - private bool Public - { - get; - set; - } - - [HasDefaultValue(false, true)] - private bool AttemptUPNP - { - get { return config.EnableUPnP; } - set { config.EnableUPnP = value; } - } - public YesNoMaybe TraitorsEnabled { get; set; } - [HasDefaultValue(true, true)] - public bool AllowRespawn - { - get; - set; - } - public SelectionMode SubSelectionMode { get { return subSelectionMode; } @@ -246,6 +229,12 @@ namespace Barotrauma.Networking XDocument doc = new XDocument(new XElement("serversettings")); ObjectProperty.SaveProperties(this, doc.Root, true); + + doc.Root.SetAttributeValue("name", name); + doc.Root.SetAttributeValue("public", isPublic); + doc.Root.SetAttributeValue("port", config.Port); + doc.Root.SetAttributeValue("maxplayers", maxPlayers); + doc.Root.SetAttributeValue("enableupnp", config.EnableUPnP); doc.Root.SetAttributeValue("SubSelection", subSelectionMode.ToString()); doc.Root.SetAttributeValue("ModeSelection", modeSelectionMode.ToString()); diff --git a/Barotrauma/BarotraumaShared/Source/Networking/NetworkMember.cs b/Barotrauma/BarotraumaShared/Source/Networking/NetworkMember.cs index cd04d5b76..27163d75d 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/NetworkMember.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/NetworkMember.cs @@ -91,14 +91,12 @@ namespace Barotrauma.Networking public Voting Voting; - [HasDefaultValue(14242, true)] public int Port { get; set; } - - [HasDefaultValue("", true)] + public string Name { get { return name; } diff --git a/Barotrauma/BarotraumaShared/serversettings.xml b/Barotrauma/BarotraumaShared/serversettings.xml new file mode 100644 index 000000000..1eb8f2d21 --- /dev/null +++ b/Barotrauma/BarotraumaShared/serversettings.xml @@ -0,0 +1,26 @@ + +