diff --git a/SharedLibraryCore/Commands/NativeCommands.cs b/SharedLibraryCore/Commands/NativeCommands.cs index e3f4e97b..9d47a2cf 100644 --- a/SharedLibraryCore/Commands/NativeCommands.cs +++ b/SharedLibraryCore/Commands/NativeCommands.cs @@ -875,7 +875,7 @@ namespace SharedLibraryCore.Commands E.Owner.Broadcast(_translationLookup["COMMANDS_MAP_SUCCESS"].FormatExt(foundMap.Alias)); await Task.Delay(delay); - await E.Owner.LoadMap(newMap); + await E.Owner.LoadMap(foundMap?.Name ?? newMap); } } diff --git a/Tests/ApplicationTests/CommandTests.cs b/Tests/ApplicationTests/CommandTests.cs index 2bcc6c48..fc73a2cc 100644 --- a/Tests/ApplicationTests/CommandTests.cs +++ b/Tests/ApplicationTests/CommandTests.cs @@ -606,6 +606,25 @@ namespace ApplicationTests A.CallTo(() => rconParser.ExecuteCommandAsync(A.Ignored, A.Ignored)) .MustHaveHappened(); } + + [Test] + public async Task Test_LoadMap_FindsMapName_FromPartialAlias() + { + var cmd = serviceProvider.GetRequiredService(); + var server = serviceProvider.GetRequiredService(); + var rconParser = serviceProvider.GetRequiredService(); + server.Maps.Add(new Map() + { + Name = "mp_test", + Alias = "test" + }); + var gameEvent = EventGenerators.GenerateEvent(GameEvent.EventType.Command, server.Maps.First().Name, server); + + await cmd.ExecuteAsync(gameEvent); + + A.CallTo(() => rconParser.ExecuteCommandAsync(A.Ignored, A.That.Contains(server.Maps[0].Name))) + .MustHaveHappened(); + } #endregion } }