diff --git a/ZkLobbyServer/ServerBattle.cs b/ZkLobbyServer/ServerBattle.cs index 4366d4f1b..ecd0e1a44 100644 --- a/ZkLobbyServer/ServerBattle.cs +++ b/ZkLobbyServer/ServerBattle.cs @@ -29,6 +29,7 @@ public class ServerBattle : Battle public const int MapVoteTime = 25; public const int NumberOfMapChoices = 4; public const int MinimumAutostartPlayers = 6; + public const int MinimumGameSizeToPrioritiseNewPlayers = 13; // TODO: !commandable per host public const int PrevBattleQueueOffset = 100000; public static int BattleCounter; public int QueueCounter = 0; @@ -1143,7 +1144,14 @@ protected virtual async Task OnDedicatedExited(SpringBattleContext springBattleC if (ubs.QueueOrder > QueueCounter + PrevBattleQueueOffset/2) ubs.QueueOrder -= PrevBattleQueueOffset; } } - previousGamePlayers = springBattleContext.ActualPlayers.Where(x => !x.IsSpectator).Select(x => x.Name).ToList(); + var players = springBattleContext.ActualPlayers.Where(x => !x.IsSpectator).Select(x => x.Name).ToList(); + if (players.Count >= MinimumGameSizeToPrioritiseNewPlayers) { + previousGamePlayers = players; + } + else + { + previousGamePlayers = new List(); + } foreach (var n in previousGamePlayers) { UserBattleStatus ubs;