Fix dedicated server crash with AllowPortForward.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user