Dedicated server loads the name, password and other initial settings from the serversettings file. + Fixed not being able to change the server name if the current name is null or empty
This commit is contained in:
@@ -113,11 +113,16 @@ namespace Barotrauma.Networking
|
|||||||
{
|
{
|
||||||
serverIP = address[0];
|
serverIP = address[0];
|
||||||
|
|
||||||
if (!int.TryParse(address[1], out Port))
|
int port = 0;
|
||||||
|
if (!int.TryParse(address[1], out port))
|
||||||
{
|
{
|
||||||
DebugConsole.ThrowError("Invalid port: "+address[1]+"!");
|
DebugConsole.ThrowError("Invalid port: "+address[1]+"!");
|
||||||
Port = NetConfig.DefaultPort;
|
Port = NetConfig.DefaultPort;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Port = port;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
myCharacter = Character.Controlled;
|
myCharacter = Character.Controlled;
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ using Barotrauma.Networking;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Microsoft.Xna.Framework;
|
using Microsoft.Xna.Framework;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace Barotrauma
|
namespace Barotrauma
|
||||||
{
|
{
|
||||||
@@ -100,7 +101,21 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public void StartServer()
|
public void StartServer()
|
||||||
{
|
{
|
||||||
Server = new GameServer("Dedicated Server Test", 14242, false, "asd", false, 10);
|
XDocument doc = ToolBox.TryLoadXml(GameServer.SettingsFile);
|
||||||
|
if (doc == null)
|
||||||
|
{
|
||||||
|
DebugConsole.ThrowError("File \""+GameServer.SettingsFile+"\" not found. Starting the server with default settings.");
|
||||||
|
Server = new GameServer("Server", 14242, false, "", false, 10);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Server = new GameServer(
|
||||||
|
ToolBox.GetAttributeString(doc.Root, "name", "Server"),
|
||||||
|
ToolBox.GetAttributeInt(doc.Root, "port", 14242),
|
||||||
|
ToolBox.GetAttributeBool(doc.Root, "public", false),
|
||||||
|
ToolBox.GetAttributeString(doc.Root, "password", ""),
|
||||||
|
ToolBox.GetAttributeBool(doc.Root, "attemptupnp", false),
|
||||||
|
ToolBox.GetAttributeInt(doc.Root, "maxplayers", 10));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CloseServer()
|
public void CloseServer()
|
||||||
|
|||||||
@@ -25,8 +25,6 @@ namespace Barotrauma.Networking
|
|||||||
private NetServer server;
|
private NetServer server;
|
||||||
private NetPeerConfiguration config;
|
private NetPeerConfiguration config;
|
||||||
|
|
||||||
private int MaxPlayers;
|
|
||||||
|
|
||||||
private DateTime refreshMasterTimer;
|
private DateTime refreshMasterTimer;
|
||||||
|
|
||||||
private DateTime roundStartTime;
|
private DateTime roundStartTime;
|
||||||
@@ -78,6 +76,7 @@ namespace Barotrauma.Networking
|
|||||||
AdminAuthPass = "";
|
AdminAuthPass = "";
|
||||||
|
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
this.Public = isPublic;
|
||||||
this.password = "";
|
this.password = "";
|
||||||
if (password.Length>0)
|
if (password.Length>0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -171,6 +171,27 @@ namespace Barotrauma.Networking
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HasDefaultValue(8, true)]
|
||||||
|
private int MaxPlayers
|
||||||
|
{
|
||||||
|
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
|
public YesNoMaybe TraitorsEnabled
|
||||||
{
|
{
|
||||||
get;
|
get;
|
||||||
@@ -231,6 +252,10 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
doc.Root.SetAttributeValue("TraitorsEnabled", TraitorsEnabled.ToString());
|
doc.Root.SetAttributeValue("TraitorsEnabled", TraitorsEnabled.ToString());
|
||||||
|
|
||||||
|
#if SERVER
|
||||||
|
doc.Root.SetAttributeValue("password", password);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (GameMain.NetLobbyScreen != null
|
if (GameMain.NetLobbyScreen != null
|
||||||
#if CLIENT
|
#if CLIENT
|
||||||
&& GameMain.NetLobbyScreen.ServerMessage != null
|
&& GameMain.NetLobbyScreen.ServerMessage != null
|
||||||
|
|||||||
@@ -83,9 +83,6 @@ namespace Barotrauma.Networking
|
|||||||
protected DateTime updateTimer;
|
protected DateTime updateTimer;
|
||||||
|
|
||||||
public int EndVoteCount, EndVoteMax;
|
public int EndVoteCount, EndVoteMax;
|
||||||
//private GUITextBlock endVoteText;
|
|
||||||
|
|
||||||
public int Port;
|
|
||||||
|
|
||||||
protected bool gameStarted;
|
protected bool gameStarted;
|
||||||
|
|
||||||
@@ -95,12 +92,20 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
public Voting Voting;
|
public Voting Voting;
|
||||||
|
|
||||||
|
[HasDefaultValue(14242, true)]
|
||||||
|
public int Port
|
||||||
|
{
|
||||||
|
get;
|
||||||
|
set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[HasDefaultValue("", true)]
|
||||||
public string Name
|
public string Name
|
||||||
{
|
{
|
||||||
get { return name; }
|
get { return name; }
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(name)) return;
|
if (string.IsNullOrEmpty(value)) return;
|
||||||
name = value;
|
name = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user