Fix dedicated server crash with AllowPortForward.

This commit is contained in:
Paul Chote
2016-10-30 15:31:03 +00:00
parent 7ba0c22346
commit bbe4864921
3 changed files with 5 additions and 6 deletions

View File

@@ -138,7 +138,8 @@ namespace OpenRA.Server
randomSeed = (int)DateTime.Now.ToBinary();
if (Settings.AllowPortForward)
// UPnP is only supported for servers created by the game client.
if (!dedicated && Settings.AllowPortForward)
UPnP.ForwardPort(Settings.ListenPort, Settings.ExternalPort).Wait();
foreach (var trait in modData.Manifest.ServerTraits)
@@ -209,7 +210,7 @@ namespace OpenRA.Server
if (State == ServerState.ShuttingDown)
{
EndGame();
if (Settings.AllowPortForward)
if (!dedicated && Settings.AllowPortForward)
UPnP.RemovePortForward().Wait();
break;
}

View File

@@ -7,12 +7,11 @@ set Mod=ra
set ListenPort=1234
set ExternalPort=1234
set AdvertiseOnline=True
set AllowPortForward=False
set EnableSingleplayer=False
set Password=""
:loop
OpenRA.Server.exe Game.Mod=%Mod% Server.Name=%Name% Server.ListenPort=%ListenPort% Server.ExternalPort=%ExternalPort% Server.AdvertiseOnline=%AdvertiseOnline% Server.AllowPortForward=%AllowPortForward% Server.EnableSingleplayer=%EnableSingleplayer% Server.Password=%Password%
OpenRA.Server.exe Game.Mod=%Mod% Server.Name=%Name% Server.ListenPort=%ListenPort% Server.ExternalPort=%ExternalPort% Server.AdvertiseOnline=%AdvertiseOnline% Server.EnableSingleplayer=%EnableSingleplayer% Server.Password=%Password%
goto loop

View File

@@ -11,13 +11,12 @@ Mod="${Mod:-"ra"}"
ListenPort="${ListenPort:-"1234"}"
ExternalPort="${ExternalPort:-"1234"}"
AdvertiseOnline="${AdvertiseOnline:-"True"}"
AllowPortForward="${AllowPortForward:-"False"}"
EnableSingleplayer="${EnableSingleplayer:-"False"}"
Password="${Password:-""}"
while true; do
mono --debug OpenRA.Server.exe Game.Mod=$Mod \
Server.Name="$Name" Server.ListenPort=$ListenPort Server.ExternalPort=$ExternalPort \
Server.AdvertiseOnline=$AdvertiseOnline Server.AllowPortForward=$AllowPortForward \
Server.AdvertiseOnline=$AdvertiseOnline \
Server.EnableSingleplayer=$EnableSingleplayer Server.Password=$Password
done