diff --git a/Agent/Phantom.Agent.Minecraft/Properties/MinecraftServerProperties.cs b/Agent/Phantom.Agent.Minecraft/Properties/MinecraftServerProperties.cs index ce49c77..fe351ce 100644 --- a/Agent/Phantom.Agent.Minecraft/Properties/MinecraftServerProperties.cs +++ b/Agent/Phantom.Agent.Minecraft/Properties/MinecraftServerProperties.cs @@ -18,4 +18,5 @@ static class MinecraftServerProperties { public static readonly MinecraftServerProperty<ushort> ServerPort = new UnsignedShort("server-port"); public static readonly MinecraftServerProperty<ushort> RconPort = new UnsignedShort("rcon.port"); public static readonly MinecraftServerProperty<bool> EnableRcon = new Boolean("enable-rcon"); + public static readonly MinecraftServerProperty<bool> SyncChunkWrites = new Boolean("sync-chunk-writes"); } diff --git a/Agent/Phantom.Agent.Minecraft/Properties/ServerProperties.cs b/Agent/Phantom.Agent.Minecraft/Properties/ServerProperties.cs index 92d692c..e1cdc3e 100644 --- a/Agent/Phantom.Agent.Minecraft/Properties/ServerProperties.cs +++ b/Agent/Phantom.Agent.Minecraft/Properties/ServerProperties.cs @@ -5,11 +5,13 @@ namespace Phantom.Agent.Minecraft.Properties; public sealed record ServerProperties( ushort ServerPort, ushort RconPort, - bool EnableRcon = true + bool EnableRcon = true, + bool SyncChunkWrites = false ) { internal void SetTo(JavaPropertiesFileEditor properties) { MinecraftServerProperties.ServerPort.Set(properties, ServerPort); MinecraftServerProperties.RconPort.Set(properties, RconPort); MinecraftServerProperties.EnableRcon.Set(properties, EnableRcon); + MinecraftServerProperties.SyncChunkWrites.Set(properties, SyncChunkWrites); } } diff --git a/Agent/Phantom.Agent.Services/Backups/BackupServerCommandDispatcher.cs b/Agent/Phantom.Agent.Services/Backups/BackupServerCommandDispatcher.cs index 91e3fd3..b534a66 100644 --- a/Agent/Phantom.Agent.Services/Backups/BackupServerCommandDispatcher.cs +++ b/Agent/Phantom.Agent.Services/Backups/BackupServerCommandDispatcher.cs @@ -55,7 +55,6 @@ sealed partial class BackupServerCommandDispatcher : IDisposable { } public async Task SaveAllChunks() { - // TODO Try if not flushing and waiting a few seconds before flushing reduces lag. await process.SendCommand(MinecraftCommand.SaveAll(flush: true), cancellationToken); await savedTheGame.Task.WaitAsync(TimeSpan.FromMinutes(1), cancellationToken); }