diff --git a/Server/Program.cs b/Server/Program.cs index b5be430..17f38e7 100644 --- a/Server/Program.cs +++ b/Server/Program.cs @@ -127,9 +127,6 @@ server.PacketHandler = (c, p) => { c.Metadata["speedrun"] = true; ((ConcurrentBag) (c.Metadata["shineSync"] ??= new ConcurrentBag())).Clear(); shineBag.Clear(); - Task.Run(async () => { - await PersistShines(); - }); c.Logger.Info("Entered Cap on new save, preventing moon sync until Cascade"); break; case "WaterfallWorldHomeStage": @@ -573,6 +570,10 @@ CommandHandler.RegisterCommand("shine", args => { return $"Shines: {string.Join(", ", shineBag)}"; case "clear" when args.Length == 1: shineBag.Clear(); + Task.Run(async () => { + await PersistShines(); + }); + foreach (ConcurrentBag playerBag in server.Clients.Select(serverClient => (ConcurrentBag)serverClient.Metadata["shineSync"]!)) playerBag?.Clear();