diff --git a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs index 0755851d30..c643dd29f6 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs @@ -433,10 +433,14 @@ namespace OpenRA.Mods.Common.Server return true; } - var options = server.Map.Rules.Actors["player"].TraitInfos() + var allOptions = server.Map.Rules.Actors["player"].TraitInfos() .Concat(server.Map.Rules.Actors["world"].TraitInfos()) - .SelectMany(t => t.LobbyOptions(server.Map.Rules)) - .ToDictionary(o => o.Id, o => o); + .SelectMany(t => t.LobbyOptions(server.Map.Rules)); + + // Overwrite keys with duplicate ids + var options = new Dictionary(); + foreach (var o in allOptions) + options[o.Id] = o; var split = s.Split(' '); LobbyOption option;