Merge pull request #9937 from hacklex/server-settings-fix
Changed ServerSettings cloning to a more reliable approach
This commit is contained in:
@@ -358,7 +358,7 @@ namespace OpenRA
|
||||
{
|
||||
Settings.Server.Map = WidgetUtils.ChooseInitialMap(Settings.Server.Map);
|
||||
Settings.Save();
|
||||
CreateServer(new ServerSettings(Settings.Server));
|
||||
CreateServer(Settings.Server.Clone());
|
||||
|
||||
while (true)
|
||||
{
|
||||
|
||||
@@ -74,27 +74,9 @@ namespace OpenRA
|
||||
|
||||
public string TimestampFormat = "s";
|
||||
|
||||
public ServerSettings() { }
|
||||
|
||||
public ServerSettings(ServerSettings other)
|
||||
public ServerSettings Clone()
|
||||
{
|
||||
Name = other.Name;
|
||||
ListenPort = other.ListenPort;
|
||||
ExternalPort = other.ExternalPort;
|
||||
AdvertiseOnline = other.AdvertiseOnline;
|
||||
Password = other.Password;
|
||||
MasterServer = other.MasterServer;
|
||||
DiscoverNatDevices = other.DiscoverNatDevices;
|
||||
AllowPortForward = other.AllowPortForward;
|
||||
NatDeviceAvailable = other.NatDeviceAvailable;
|
||||
NatDiscoveryTimeout = other.NatDiscoveryTimeout;
|
||||
VerboseNatDiscovery = other.VerboseNatDiscovery;
|
||||
Map = other.Map;
|
||||
Ban = other.Ban;
|
||||
TimeOut = other.TimeOut;
|
||||
Dedicated = other.Dedicated;
|
||||
DedicatedLoop = other.DedicatedLoop;
|
||||
LockBots = other.LockBots;
|
||||
return (ServerSettings)MemberwiseClone();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
Game.Settings.Save();
|
||||
|
||||
// Take a copy so that subsequent changes don't affect the server
|
||||
var settings = new ServerSettings(Game.Settings.Server);
|
||||
var settings = Game.Settings.Server.Clone();
|
||||
|
||||
// Create and join the server
|
||||
try
|
||||
|
||||
Reference in New Issue
Block a user