Merge pull request #11005 from pchote/server
Extract dedicated server interface to OpenRA.Server.exe
This commit is contained in:
@@ -719,7 +719,7 @@ namespace OpenRA.Mods.Common.Server
|
||||
return true;
|
||||
}
|
||||
|
||||
var gameSpeeds = Game.ModData.Manifest.Get<GameSpeeds>();
|
||||
var gameSpeeds = server.ModData.Manifest.Get<GameSpeeds>();
|
||||
|
||||
GameSpeed speed;
|
||||
if (!gameSpeeds.Speeds.TryGetValue(s, out speed))
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace OpenRA.Mods.Common.Server
|
||||
lastPing = Game.RunTime;
|
||||
|
||||
// Ignore client timeout in singleplayer games to make debugging easier
|
||||
if (server.LobbyInfo.IsSinglePlayer && !server.Settings.Dedicated)
|
||||
if (server.LobbyInfo.IsSinglePlayer && !server.Dedicated)
|
||||
foreach (var c in server.Conns.ToList())
|
||||
server.SendOrderTo(c, "Ping", Game.RunTime.ToString());
|
||||
else
|
||||
|
||||
@@ -380,7 +380,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
|
||||
void StartSkirmishGame()
|
||||
{
|
||||
var map = WidgetUtils.ChooseInitialMap(Game.Settings.Server.Map);
|
||||
var map = Game.ModData.MapCache.ChooseInitialMap(Game.Settings.Server.Map, Game.CosmeticRandom);
|
||||
Game.Settings.Server.Map = map;
|
||||
Game.Settings.Save();
|
||||
|
||||
|
||||
@@ -126,12 +126,13 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
|
||||
if (initialMap == null && tabMaps.Keys.Contains(initialTab) && tabMaps[initialTab].Any())
|
||||
{
|
||||
selectedUid = WidgetUtils.ChooseInitialMap(tabMaps[initialTab].Select(mp => mp.Uid).First());
|
||||
selectedUid = Game.ModData.MapCache.ChooseInitialMap(tabMaps[initialTab].Select(mp => mp.Uid).First(),
|
||||
Game.CosmeticRandom);
|
||||
currentTab = initialTab;
|
||||
}
|
||||
else
|
||||
{
|
||||
selectedUid = WidgetUtils.ChooseInitialMap(initialMap);
|
||||
selectedUid = Game.ModData.MapCache.ChooseInitialMap(initialMap, Game.CosmeticRandom);
|
||||
currentTab = tabMaps.Keys.FirstOrDefault(k => tabMaps[k].Select(mp => mp.Uid).Contains(selectedUid));
|
||||
}
|
||||
|
||||
@@ -313,7 +314,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
{
|
||||
modData.MapCache[map].Delete();
|
||||
if (selectedUid == map)
|
||||
selectedUid = WidgetUtils.ChooseInitialMap(tabMaps[currentTab].Select(mp => mp.Uid).FirstOrDefault());
|
||||
selectedUid = Game.ModData.MapCache.ChooseInitialMap(tabMaps[currentTab].Select(mp => mp.Uid).FirstOrDefault(),
|
||||
Game.CosmeticRandom);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -348,7 +350,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
{
|
||||
maps.Do(m => DeleteMap(m));
|
||||
if (after != null)
|
||||
after(WidgetUtils.ChooseInitialMap(null));
|
||||
after(Game.ModData.MapCache.ChooseInitialMap(null, Game.CosmeticRandom));
|
||||
},
|
||||
confirmText: "Delete",
|
||||
onCancel: () => { });
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
this.onExit = onExit;
|
||||
|
||||
var settings = Game.Settings;
|
||||
preview = modData.MapCache[WidgetUtils.ChooseInitialMap(Game.Settings.Server.Map)];
|
||||
preview = modData.MapCache[modData.MapCache.ChooseInitialMap(Game.Settings.Server.Map, Game.CosmeticRandom)];
|
||||
|
||||
panel.Get<ButtonWidget>("CREATE_BUTTON").OnClick = CreateAndJoin;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user