diff --git a/Moonlight/App/Helpers/Wings/WingsConsole.cs b/Moonlight/App/Helpers/Wings/WingsConsole.cs index 9767e540..674aca4a 100644 --- a/Moonlight/App/Helpers/Wings/WingsConsole.cs +++ b/Moonlight/App/Helpers/Wings/WingsConsole.cs @@ -218,6 +218,16 @@ public class WingsConsole : IDisposable break; case "install output": + if (ServerState != ServerState.Installing) + { + // Because wings is sending "install output" events BEFORE + // sending the "install started" event, + // we need to set the install state here + // See https://github.com/pterodactyl/panel/issues/4853 + // for more details + await UpdateServerState(ServerState.Installing); + } + foreach (var line in eventData.Args) { await SaveMessage(line); diff --git a/Moonlight/Shared/Views/Admin/Servers/New.razor b/Moonlight/Shared/Views/Admin/Servers/New.razor index c45e94bf..5b1a5a53 100644 --- a/Moonlight/Shared/Views/Admin/Servers/New.razor +++ b/Moonlight/Shared/Views/Admin/Servers/New.razor @@ -229,7 +229,7 @@ { try { - await ServerService.Create(Model.Name, Model.Cpu, Model.Memory, Model.Disk, Model.Owner, Model.Image, Model.Node, server => + var newServer = await ServerService.Create(Model.Name, Model.Cpu, Model.Memory, Model.Disk, Model.Owner, Model.Image, Model.Node, server => { server.OverrideStartup = Model.OverrideStartup; server.DockerImageIndex = Model.DockerImageIndex; @@ -242,7 +242,7 @@ }); await ToastService.Success(SmartTranslateService.Translate("Server successfully created")); - NavigationManager.NavigateTo("/admin/servers"); + NavigationManager.NavigateTo($"/server/{newServer.Uuid}"); } catch (DisplayException e) {