diff --git a/src/Prospect.Server.Game/Program.cs b/src/Prospect.Server.Game/Program.cs index f69e584..d1a507c 100644 --- a/src/Prospect.Server.Game/Program.cs +++ b/src/Prospect.Server.Game/Program.cs @@ -64,7 +64,16 @@ internal static class Program while (await Tick.WaitForNextTickAsync()) { - world.Tick(TickRate); + try + { + world.Tick(TickRate); + } + catch (Exception ex) + { + // A misaligned/incompatible client packet must not kill the whole server + // (R&D: the client's exact net version isn't matched yet). Log and continue. + Logger.Error(ex, "Tick error (bad packet?) — continuing"); + } } }