Load Maps on Round Start, not Round Restart v3 (#6989)

* Load Maps on Round Start, not Round Restart

* Fix admin log test.
It assumed maps/grids existed during pre-round, wihch is not a valid assumption anymore after this PR.

* Shutdown server if round fails to start 5 times.

* Fix bugs with round starting flag.

* Make StartRound not async, synchronously get new round ID from DB.

* Handle StationId.Invalid in PickBestAvailableJob
Instead of crashing, return null.
SpawnPlayer will handle this by making the player an observer or returning them to the lobby.
This commit is contained in:
Vera Aguilera Puerto
2022-03-04 18:32:33 +01:00
committed by GitHub
parent 1ff687f482
commit 9ab3bb5811
6 changed files with 113 additions and 90 deletions

View File

@@ -2,6 +2,7 @@ using Content.Server.Administration.Logs;
using Content.Server.Administration.Managers;
using Content.Server.CharacterAppearance.Systems;
using Content.Server.Chat.Managers;
using Content.Server.Database;
using Content.Server.Ghost;
using Content.Server.Maps;
using Content.Server.PDA;
@@ -89,6 +90,7 @@ namespace Content.Server.GameTicking
[Dependency] private readonly IBaseServer _baseServer = default!;
[Dependency] private readonly IWatchdogApi _watchdogApi = default!;
[Dependency] private readonly IGameMapManager _gameMapManager = default!;
[Dependency] private readonly IServerDbManager _db = default!;
#if EXCEPTION_TOLERANCE
[Dependency] private readonly IRuntimeLog _runtimeLog = default!;
#endif