diff --git a/TGServerService/Compiler.cs b/TGServerService/Compiler.cs index 017ccee6d1..0efddf6064 100644 --- a/TGServerService/Compiler.cs +++ b/TGServerService/Compiler.cs @@ -49,6 +49,8 @@ namespace TGServerService bool compilationCancellationRequestation = false; bool canCancelCompilation = false; + bool UpdateStaged = false; + //deletes leftovers and checks current status void InitCompiler() { @@ -446,11 +448,14 @@ namespace TGServerService } } } - var msg = String.Format("Compile complete!{0}", DaemonStatus() == TGDreamDaemonStatus.Offline ? "" : " Server will update next round."); + var staged = DaemonStatus() != TGDreamDaemonStatus.Offline; + var msg = String.Format("Compile complete!{0}", !staged ? "" : " Server will update next round."); SendMessage("DM: " + msg); TGServerService.WriteInfo(msg, TGServerService.EventID.DMCompileSuccess); lock (CompilerLock) { + if (staged) + UpdateStaged = true; lastCompilerError = null; compilerCurrentStatus = TGCompilerStatus.Initialized; //still fairly valid } diff --git a/TGServerService/Interop.cs b/TGServerService/Interop.cs index eeca148179..c1d503875f 100644 --- a/TGServerService/Interop.cs +++ b/TGServerService/Interop.cs @@ -55,6 +55,14 @@ namespace TGServerService break; case SRWorldReboot: TGServerService.WriteInfo("World Rebooted", TGServerService.EventID.WorldReboot); + lock (CompilerLock) + { + if (UpdateStaged) + { + UpdateStaged = false; + TGServerService.WriteInfo("Staged update applied", TGServerService.EventID.ServerUpdateApplied); + } + } break; } } diff --git a/TGServerService/ServerService.cs b/TGServerService/ServerService.cs index ce7f2229be..eae04d0c09 100644 --- a/TGServerService/ServerService.cs +++ b/TGServerService/ServerService.cs @@ -72,6 +72,7 @@ namespace TGServerService RepoChangelogFail = 5700, ServiceShutdownFail = 6100, WorldReboot = 6200, + ServerUpdateApplied = 6300, } static TGServerService ActiveService; //So everyone else can write to our eventlog