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 @@
+
+