Fix dedicated server crash with AllowPortForward.
This commit is contained in:
@@ -138,7 +138,8 @@ namespace OpenRA.Server
|
|||||||
|
|
||||||
randomSeed = (int)DateTime.Now.ToBinary();
|
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();
|
UPnP.ForwardPort(Settings.ListenPort, Settings.ExternalPort).Wait();
|
||||||
|
|
||||||
foreach (var trait in modData.Manifest.ServerTraits)
|
foreach (var trait in modData.Manifest.ServerTraits)
|
||||||
@@ -209,7 +210,7 @@ namespace OpenRA.Server
|
|||||||
if (State == ServerState.ShuttingDown)
|
if (State == ServerState.ShuttingDown)
|
||||||
{
|
{
|
||||||
EndGame();
|
EndGame();
|
||||||
if (Settings.AllowPortForward)
|
if (!dedicated && Settings.AllowPortForward)
|
||||||
UPnP.RemovePortForward().Wait();
|
UPnP.RemovePortForward().Wait();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,12 +7,11 @@ set Mod=ra
|
|||||||
set ListenPort=1234
|
set ListenPort=1234
|
||||||
set ExternalPort=1234
|
set ExternalPort=1234
|
||||||
set AdvertiseOnline=True
|
set AdvertiseOnline=True
|
||||||
set AllowPortForward=False
|
|
||||||
set EnableSingleplayer=False
|
set EnableSingleplayer=False
|
||||||
set Password=""
|
set Password=""
|
||||||
|
|
||||||
:loop
|
: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
|
goto loop
|
||||||
@@ -11,13 +11,12 @@ Mod="${Mod:-"ra"}"
|
|||||||
ListenPort="${ListenPort:-"1234"}"
|
ListenPort="${ListenPort:-"1234"}"
|
||||||
ExternalPort="${ExternalPort:-"1234"}"
|
ExternalPort="${ExternalPort:-"1234"}"
|
||||||
AdvertiseOnline="${AdvertiseOnline:-"True"}"
|
AdvertiseOnline="${AdvertiseOnline:-"True"}"
|
||||||
AllowPortForward="${AllowPortForward:-"False"}"
|
|
||||||
EnableSingleplayer="${EnableSingleplayer:-"False"}"
|
EnableSingleplayer="${EnableSingleplayer:-"False"}"
|
||||||
Password="${Password:-""}"
|
Password="${Password:-""}"
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
mono --debug OpenRA.Server.exe Game.Mod=$Mod \
|
mono --debug OpenRA.Server.exe Game.Mod=$Mod \
|
||||||
Server.Name="$Name" Server.ListenPort=$ListenPort Server.ExternalPort=$ExternalPort \
|
Server.Name="$Name" Server.ListenPort=$ListenPort Server.ExternalPort=$ExternalPort \
|
||||||
Server.AdvertiseOnline=$AdvertiseOnline Server.AllowPortForward=$AllowPortForward \
|
Server.AdvertiseOnline=$AdvertiseOnline \
|
||||||
Server.EnableSingleplayer=$EnableSingleplayer Server.Password=$Password
|
Server.EnableSingleplayer=$EnableSingleplayer Server.Password=$Password
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user