Closed BillyGalbreath closed 1 year ago
This also effects BlueMap's map-update mechanism, as it relies on FileWatchers to detect changed regions. Would be awesome if it could be fixed somehow!
did this ever work on paper in recent versions? might help track down the issue when we know when it broke
I think this issue exists since a long time. I think i first stumbled upon it in 2021 when i was posting this question in the paper-discord .. ^^
did this ever work on paper in recent versions? might help track down the issue when we know when it broke
I just went back and tested the last build of every release on the paper website. They all seem to be effected by this bug while Spigot and others (fabric, forge, sponge) do not.
Also, side note. 1.8.8 and 1.9.4 both spam All chunks are saved
after issuing the save-all flush
command.
if I had to piss in the wind, I'd imagine that it's maybe the dsync flag being disabled? (the sync writes option)
Only other caveats I can maybe think of is going to be stuff like the region file cache, but this starts getting into platform stuff I can't test
Ok, I just tried setting region-file-cache-size
to 4
(that's the minimum allowed, apparently?) on version 1.19.4 and it seems like it is the culprit. As soon as I logged in and started flying around the console was spammed with FileWatcher output from the TestPlugin. I'm assuming the spam is from the incremental saves going directly to disk instead of the cache.
yea, on eviction from the cache, the file channel is forced to write to the disk, try with -DPaper.enable-sync-chunk-writes=true
, idk if that will tell it to write earlier, but afaik that was added for a windows specific set of IO risks
Adding -DPaper.enable-sync-chunk-writes=true
was able to stop the spam in the last test, but the original reported behaviors remain an issue.
With this new knowledge of the cache, it seems like nothing is ever saved to disk until it's removed from the cache. But I know this isn't right because of the oddities I mentioned in the Other
section of the report. So something is being written to disk, but seemingly not everything?
We write to the file channel, but what actually ends up on the disk before the region file is closed, is down to the JVM, which gets into platform specifics; RegionFile#close calls FileChannel#force, which is told to write the meta, which. isprobs why that doesn't change until then; dsync should be more opertune with flushing to the disk, but won't write metadata unless the platform does; only "fix" would be o call force after every write if that's the case
PR'ed a fix: #9149. Let me know if this resolves the issue for you!
Resolved in https://github.com/PaperMC/Paper/pull/9149
Expected behavior
When the chunks are saved to disk on Windows OS, for the files to be fully written to and closed such that a FileWatcher service watching the region directory gets notified.
Observed/Actual behavior
When the chunks are saved to disk on Windows OS, the files are not fully written to and/or closed such that a FileWatcher service watching the region directory gets notified.
Steps/models to reproduce
Ensure you are testing on Windows OS. This problem does not exist for Linux (and possibly not mac since it's *nix based).
Running Paper:
1) Run the test plugin posted below in
Other
on a clean Paper server. 2) Run the/save-all flush
command. 3) Observe the FileWatcher never getting notified about the chunks being saved to disk. 4) Shutdown the server with/stop
5) Observe the FileWatcher being notified the chunks finally are saved.Paper log output
```log $ java -jar paper-1.19.4-513.jar nogui Starting org.bukkit.craftbukkit.Main System Info: Java 17 (OpenJDK 64-Bit Server VM 17.0.6+10) Host: Windows 11 10.0 (amd64) Loading libraries, please wait... [10:57:03 INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD' [10:57:04 INFO]: Loaded 7 recipes [10:57:04 INFO]: Starting minecraft server version 1.19.4 [10:57:04 INFO]: Loading properties [10:57:04 INFO]: This server is running Paper version git-Paper-513 (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) (Git: 6d2121e) [10:57:04 INFO]: Server Ping Player Sample Count: 12 [10:57:04 INFO]: Using 4 threads for Netty based IO [10:57:04 WARN]: [!] The timings profiler has been enabled but has been scheduled for removal from Paper in the future. We recommend installing the spark profiler as a replacement: https://spark.lucko.me/ For more information please visit: https://github.com/PaperMC/Paper/issues/8948 [10:57:04 INFO]: [ChunkTaskScheduler] Chunk system is using 1 I/O threads, 8 worker threads, and gen parallelism of 8 threads [10:57:04 INFO]: Default game type: SURVIVAL [10:57:04 INFO]: Generating keypair [10:57:04 INFO]: Starting Minecraft server on *:25565 [10:57:04 INFO]: Using default channel type [10:57:04 INFO]: Paper: Using Java compression from Velocity. [10:57:04 INFO]: Paper: Using Java cipher from Velocity. [10:57:05 INFO]: [TestPlugin] Loading server plugin TestPlugin v1.0 [10:57:05 INFO]: Server permissions file permissions.yml is empty, ignoring it [10:57:05 INFO]: Preparing level "world" [10:57:05 INFO]: Preparing start region for dimension minecraft:overworld [10:57:05 INFO]: Time elapsed: 89 ms [10:57:05 INFO]: Preparing start region for dimension minecraft:the_nether [10:57:05 INFO]: Time elapsed: 12 ms [10:57:05 INFO]: Preparing start region for dimension minecraft:the_end [10:57:05 INFO]: Time elapsed: 8 ms [10:57:05 INFO]: [TestPlugin] Enabling TestPlugin v1.0 [10:57:05 INFO]: [TestPlugin] [STDOUT] Region file watcher enabled for .\world\region [10:57:05 WARN]: Nag author(s): '[BillyGalbreath]' of 'TestPlugin' about their usage of System.out/err.print. Please use your plugin's logger instead (JavaPlugin#getLogger). [10:57:05 INFO]: Running delayed init tasks [10:57:05 INFO]: Done (1.111s)! For help, type "help" [10:57:05 INFO]: Timings Reset > save-all flush [10:58:35 INFO]: Saving the game (this may take a moment!) [10:58:36 INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved [10:58:36 INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved [10:58:36 INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved [10:58:36 INFO]: ThreadedAnvilChunkStorage: All dimensions are saved [10:58:36 INFO]: Saved the game > stop [10:59:02 INFO]: Stopping the server [10:59:02 INFO]: Stopping server [10:59:02 INFO]: [TestPlugin] Disabling TestPlugin v1.0 [10:59:02 INFO]: Saving players [10:59:02 INFO]: Saving worlds [10:59:02 INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld [10:59:02 INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'world' [10:59:02 INFO]: [ChunkHolderManager] Halted chunk system for world 'world' [10:59:02 INFO]: [ChunkHolderManager] Saving all chunkholders for world 'world' [10:59:02 INFO]: [ChunkHolderManager] Saved 1 block chunks, 152 entity chunks, 0 poi chunks in world 'world' in 0.01s [10:59:02 INFO]: [TestPlugin] [STDOUT] Region file watcher got a key! [10:59:02 INFO]: [TestPlugin] [STDOUT] Region file watcher detected event: ENTRY_MODIFY [10:59:02 INFO]: [TestPlugin] [STDOUT] Detected file change: r.0.-1.mca [10:59:02 INFO]: [TestPlugin] [STDOUT] Region file watcher got a key! [10:59:02 INFO]: [TestPlugin] [STDOUT] Region file watcher detected event: ENTRY_MODIFY [10:59:02 INFO]: [TestPlugin] [STDOUT] Detected file change: r.-1.-1.mca [10:59:02 INFO]: [TestPlugin] [STDOUT] Region file watcher got a key! [10:59:02 INFO]: [TestPlugin] [STDOUT] Region file watcher detected event: ENTRY_MODIFY [10:59:02 INFO]: [TestPlugin] [STDOUT] Detected file change: r.0.0.mca [10:59:02 INFO]: [TestPlugin] [STDOUT] Region file watcher got a key! [10:59:02 INFO]: [TestPlugin] [STDOUT] Region file watcher detected event: ENTRY_MODIFY [10:59:02 INFO]: [TestPlugin] [STDOUT] Detected file change: r.-1.0.mca [10:59:02 INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved [10:59:02 INFO]: Saving chunks for level 'ServerLevel[world_nether]'/minecraft:the_nether [10:59:02 INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'world_nether' [10:59:02 INFO]: [ChunkHolderManager] Halted chunk system for world 'world_nether' [10:59:02 INFO]: [ChunkHolderManager] Saving all chunkholders for world 'world_nether' [10:59:02 INFO]: [ChunkHolderManager] Saved 0 block chunks, 16 entity chunks, 0 poi chunks in world 'world_nether' in 0.00s [10:59:02 INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved [10:59:02 INFO]: Saving chunks for level 'ServerLevel[world_the_end]'/minecraft:the_end [10:59:02 INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'world_the_end' [10:59:02 INFO]: [ChunkHolderManager] Halted chunk system for world 'world_the_end' [10:59:02 INFO]: [ChunkHolderManager] Saving all chunkholders for world 'world_the_end' [10:59:02 INFO]: [ChunkHolderManager] Saved 10 block chunks, 10 entity chunks, 0 poi chunks in world 'world_the_end' in 0.00s [10:59:02 INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved [10:59:02 INFO]: ThreadedAnvilChunkStorage: All dimensions are saved [10:59:02 INFO]: Flushing Chunk IO [10:59:02 INFO]: Closing Thread Pool > 2023-04-16 10:59:02,550 Log4j2-AsyncAppenderEventDispatcher-1-Async WARN Advanced terminal features are not available in this environment [10:59:02 INFO]: Closing Server ```Compared to Spigot:
1) Run the test plugin posted below in
Other
on a clean Spigot server. 2) Run the/save-all flush
command. 3) Observe the FileWatcher gets notified about the chunks being saved to disk. 4) Shutdown the server with/stop
5) Observe the FileWatcher being notified the chunks being saved again.Spigot log output
```log $ java -jar spigot-1.19.4.jar nogui Unbundling libraries to C:\Users\Billy\Downloads\minecraft\spigot-1.19.4\bundler Starting server Loading libraries, please wait... [11:00:01] [ServerMain/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD' [11:00:02] [ServerMain/INFO]: Loaded 7 recipes [11:00:01] [ServerMain/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD' [11:00:02] [ServerMain/INFO]: Loaded 7 recipes [11:00:02] [Server thread/INFO]: Starting minecraft server version 1.19.4 [11:00:02] [Server thread/INFO]: Loading properties [11:00:02] [Server thread/INFO]: This server is running CraftBukkit version 3730-Spigot-e4265cc-818582f (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) [11:00:02] [Server thread/INFO]: Debug logging is disabled [11:00:02] [Server thread/INFO]: Server Ping Player Sample Count: 12 [11:00:02] [Server thread/INFO]: Using 4 threads for Netty based IO [11:00:02] [Server thread/INFO]: Default game type: SURVIVAL [11:00:02] [Server thread/INFO]: Generating keypair [11:00:02] [Server thread/INFO]: Starting Minecraft server on *:25565 [11:00:02] [Server thread/INFO]: Using default channel type [11:00:03] [Server thread/INFO]: [TestPlugin] Loading TestPlugin v1.0 [11:00:03] [Server thread/INFO]: Preparing level "world" [11:00:03] [Server thread/INFO]: -------- World Settings For [world] -------- [11:00:03] [Server thread/INFO]: Allow Zombie Pigmen to spawn from portal blocks: true [11:00:03] [Server thread/INFO]: Item Merge Radius: 2.5 [11:00:03] [Server thread/INFO]: Item Despawn Rate: 6000 [11:00:03] [Server thread/INFO]: Simulation Distance: 10 [11:00:03] [Server thread/INFO]: View Distance: 10 [11:00:03] [Server thread/INFO]: Nerfing mobs spawned from spawners: false [11:00:03] [Server thread/INFO]: Arrow Despawn Rate: 1200 Trident Respawn Rate:1200 [11:00:03] [Server thread/INFO]: Experience Merge Radius: 3.0 [11:00:03] [Server thread/INFO]: Mob Spawn Range: 6 [11:00:03] [Server thread/INFO]: Cactus Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Cane Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Melon Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Mushroom Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Pumpkin Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Sapling Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Beetroot Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Carrot Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Potato Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Wheat Growth Modifier: 100% [11:00:03] [Server thread/INFO]: NetherWart Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Vine Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Cocoa Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Bamboo Growth Modifier: 100% [11:00:03] [Server thread/INFO]: SweetBerry Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Kelp Growth Modifier: 100% [11:00:03] [Server thread/INFO]: TwistingVines Growth Modifier: 100% [11:00:03] [Server thread/INFO]: WeepingVines Growth Modifier: 100% [11:00:03] [Server thread/INFO]: CaveVines Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Entity Activation Range: An 32 / Mo 32 / Ra 48 / Mi 16 / Tiv true / Isa false [11:00:03] [Server thread/INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Di 128 / Other 64 [11:00:03] [Server thread/INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1 Hopper Can Load Chunks: false [11:00:03] [Server thread/INFO]: Custom Map Seeds: Village: 10387312 Desert: 14357617 Igloo: 14357618 Jungle: 14357619 Swamp: 14357620 Monument: 10387313 Ocean: 14357621 Shipwreck: 165745295 End City: 10387313 Slime: 987234911 Nether: 30084232 Mansion: 10387319 Fossil: 14357921 Portal: 34222645 [11:00:03] [Server thread/INFO]: Max TNT Explosions: 100 [11:00:03] [Server thread/INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms [11:00:03] [Server thread/INFO]: Zombie Aggressive Towards Villager: true [11:00:03] [Server thread/INFO]: -------- World Settings For [world_nether] -------- [11:00:03] [Server thread/INFO]: Allow Zombie Pigmen to spawn from portal blocks: true [11:00:03] [Server thread/INFO]: Item Merge Radius: 2.5 [11:00:03] [Server thread/INFO]: Item Despawn Rate: 6000 [11:00:03] [Server thread/INFO]: Simulation Distance: 10 [11:00:03] [Server thread/INFO]: View Distance: 10 [11:00:03] [Server thread/INFO]: Nerfing mobs spawned from spawners: false [11:00:03] [Server thread/INFO]: Arrow Despawn Rate: 1200 Trident Respawn Rate:1200 [11:00:03] [Server thread/INFO]: Experience Merge Radius: 3.0 [11:00:03] [Server thread/INFO]: Mob Spawn Range: 6 [11:00:03] [Server thread/INFO]: Cactus Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Cane Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Melon Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Mushroom Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Pumpkin Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Sapling Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Beetroot Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Carrot Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Potato Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Wheat Growth Modifier: 100% [11:00:03] [Server thread/INFO]: NetherWart Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Vine Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Cocoa Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Bamboo Growth Modifier: 100% [11:00:03] [Server thread/INFO]: SweetBerry Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Kelp Growth Modifier: 100% [11:00:03] [Server thread/INFO]: TwistingVines Growth Modifier: 100% [11:00:03] [Server thread/INFO]: WeepingVines Growth Modifier: 100% [11:00:03] [Server thread/INFO]: CaveVines Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Entity Activation Range: An 32 / Mo 32 / Ra 48 / Mi 16 / Tiv true / Isa false [11:00:03] [Server thread/INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Di 128 / Other 64 [11:00:03] [Server thread/INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1 Hopper Can Load Chunks: false [11:00:03] [Server thread/INFO]: Custom Map Seeds: Village: 10387312 Desert: 14357617 Igloo: 14357618 Jungle: 14357619 Swamp: 14357620 Monument: 10387313 Ocean: 14357621 Shipwreck: 165745295 End City: 10387313 Slime: 987234911 Nether: 30084232 Mansion: 10387319 Fossil: 14357921 Portal: 34222645 [11:00:03] [Server thread/INFO]: Max TNT Explosions: 100 [11:00:03] [Server thread/INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms [11:00:03] [Server thread/INFO]: Zombie Aggressive Towards Villager: true [11:00:03] [Server thread/INFO]: -------- World Settings For [world_the_end] -------- [11:00:03] [Server thread/INFO]: Allow Zombie Pigmen to spawn from portal blocks: true [11:00:03] [Server thread/INFO]: Item Merge Radius: 2.5 [11:00:03] [Server thread/INFO]: Item Despawn Rate: 6000 [11:00:03] [Server thread/INFO]: Simulation Distance: 10 [11:00:03] [Server thread/INFO]: View Distance: 10 [11:00:03] [Server thread/INFO]: Nerfing mobs spawned from spawners: false [11:00:03] [Server thread/INFO]: Arrow Despawn Rate: 1200 Trident Respawn Rate:1200 [11:00:03] [Server thread/INFO]: Experience Merge Radius: 3.0 [11:00:03] [Server thread/INFO]: Mob Spawn Range: 6 [11:00:03] [Server thread/INFO]: Cactus Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Cane Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Melon Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Mushroom Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Pumpkin Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Sapling Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Beetroot Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Carrot Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Potato Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Wheat Growth Modifier: 100% [11:00:03] [Server thread/INFO]: NetherWart Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Vine Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Cocoa Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Bamboo Growth Modifier: 100% [11:00:03] [Server thread/INFO]: SweetBerry Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Kelp Growth Modifier: 100% [11:00:03] [Server thread/INFO]: TwistingVines Growth Modifier: 100% [11:00:03] [Server thread/INFO]: WeepingVines Growth Modifier: 100% [11:00:03] [Server thread/INFO]: CaveVines Growth Modifier: 100% [11:00:03] [Server thread/INFO]: Entity Activation Range: An 32 / Mo 32 / Ra 48 / Mi 16 / Tiv true / Isa false [11:00:03] [Server thread/INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Di 128 / Other 64 [11:00:03] [Server thread/INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1 Hopper Can Load Chunks: false [11:00:03] [Server thread/INFO]: Custom Map Seeds: Village: 10387312 Desert: 14357617 Igloo: 14357618 Jungle: 14357619 Swamp: 14357620 Monument: 10387313 Ocean: 14357621 Shipwreck: 165745295 End City: 10387313 Slime: 987234911 Nether: 30084232 Mansion: 10387319 Fossil: 14357921 Portal: 34222645 [11:00:03] [Server thread/INFO]: Max TNT Explosions: 100 [11:00:03] [Server thread/INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms [11:00:03] [Server thread/INFO]: Zombie Aggressive Towards Villager: true [11:00:03] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld [11:00:05] [Worker-Main-21/INFO]: Preparing spawn area: 0% [11:00:05] [Worker-Main-21/INFO]: Preparing spawn area: 0% [11:00:05] [Worker-Main-21/INFO]: Preparing spawn area: 0% [11:00:05] [Worker-Main-21/INFO]: Preparing spawn area: 0% [11:00:05] [Worker-Main-6/INFO]: Preparing spawn area: 9% [11:00:06] [Server thread/INFO]: Time elapsed: 2411 ms [11:00:06] [Server thread/INFO]: Preparing start region for dimension minecraft:the_nether [11:00:07] [Worker-Main-16/INFO]: Preparing spawn area: 0% [11:00:07] [Worker-Main-16/INFO]: Preparing spawn area: 0% [11:00:07] [Worker-Main-16/INFO]: Preparing spawn area: 0% [11:00:07] [Server thread/INFO]: Time elapsed: 1455 ms [11:00:07] [Server thread/INFO]: Preparing start region for dimension minecraft:the_end [11:00:08] [Worker-Main-15/INFO]: Preparing spawn area: 0% [11:00:08] [Worker-Main-24/INFO]: Preparing spawn area: 0% [11:00:08] [Worker-Main-17/INFO]: Preparing spawn area: 43% [11:00:08] [Server thread/INFO]: Time elapsed: 1126 ms [11:00:08] [Server thread/INFO]: [TestPlugin] Enabling TestPlugin v1.0 [11:00:08] [Thread-7/INFO]: Region file watcher enabled for .\world\region [11:00:08] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it [11:00:08] [Server thread/INFO]: Done (5.512s)! For help, type "help" save-all flush [11:00:29] [Server thread/INFO]: Saving the game (this may take a moment!) [11:00:29] [Thread-7/INFO]: Region file watcher got a key! [11:00:29] [Thread-7/INFO]: Region file watcher detected event: ENTRY_MODIFY [11:00:29] [Thread-7/INFO]: Detected file change: r.0.0.mca [11:00:29] [Thread-7/INFO]: Region file watcher got a key! [11:00:29] [Thread-7/INFO]: Region file watcher detected event: ENTRY_MODIFY [11:00:29] [Thread-7/INFO]: Detected file change: r.0.-1.mca [11:00:29] [Thread-7/INFO]: Region file watcher got a key! [11:00:29] [Thread-7/INFO]: Region file watcher detected event: ENTRY_MODIFY [11:00:29] [Thread-7/INFO]: Detected file change: r.-1.0.mca [11:00:29] [Thread-7/INFO]: Region file watcher got a key! [11:00:29] [Thread-7/INFO]: Region file watcher detected event: ENTRY_MODIFY [11:00:29] [Thread-7/INFO]: Detected file change: r.-1.-1.mca [11:00:29] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved [11:00:29] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved [11:00:29] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved [11:00:29] [Server thread/INFO]: ThreadedAnvilChunkStorage: All dimensions are saved [11:00:29] [Server thread/INFO]: Saved the game stop [11:01:06] [Server thread/INFO]: Stopping the server [11:01:06] [Server thread/INFO]: Stopping server [11:01:06] [Server thread/INFO]: [TestPlugin] Disabling TestPlugin v1.0 [11:01:06] [Server thread/INFO]: Saving players [11:01:06] [Server thread/INFO]: Saving worlds [11:01:07] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld [11:01:08] [Thread-7/INFO]: Region file watcher got a key! [11:01:08] [Thread-7/INFO]: Region file watcher detected event: ENTRY_MODIFY [11:01:08] [Thread-7/INFO]: Detected file change: r.0.-1.mca [11:01:08] [Thread-7/INFO]: Region file watcher got a key! [11:01:08] [Thread-7/INFO]: Region file watcher detected event: ENTRY_MODIFY [11:01:08] [Thread-7/INFO]: Detected file change: r.-1.0.mca [11:01:08] [Thread-7/INFO]: Region file watcher got a key! [11:01:08] [Thread-7/INFO]: Region file watcher detected event: ENTRY_MODIFY [11:01:08] [Thread-7/INFO]: Detected file change: r.-1.-1.mca [11:01:08] [Thread-7/INFO]: Region file watcher got a key! [11:01:08] [Thread-7/INFO]: Region file watcher detected event: ENTRY_MODIFY [11:01:08] [Thread-7/INFO]: Detected file change: r.0.0.mca [11:01:08] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world_nether]'/minecraft:the_nether [11:01:08] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world_the_end]'/minecraft:the_end [11:01:08] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved [11:01:08] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved [11:01:08] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved [11:01:08] [Server thread/INFO]: ThreadedAnvilChunkStorage: All dimensions are saved [11:01:08] [Thread-7/INFO]: Region file watcher got a key! [11:01:08] [Thread-7/INFO]: Region file watcher detected event: ENTRY_MODIFY [11:01:08] [Thread-7/INFO]: Detected file change: r.0.-1.mca [11:01:08] [Thread-7/INFO]: Region file watcher got a key! [11:01:08] [Thread-7/INFO]: Region file watcher detected event: ENTRY_MODIFY [11:01:08] [Thread-7/INFO]: Detected file change: r.-1.0.mca [11:01:08] [Thread-7/INFO]: Region file watcher got a key! [11:01:08] [Thread-7/INFO]: Region file watcher detected event: ENTRY_MODIFY [11:01:08] [Thread-7/INFO]: Detected file change: r.-1.0.mca [11:01:08] [Thread-7/INFO]: Region file watcher got a key! [11:01:08] [Thread-7/INFO]: Region file watcher detected event: ENTRY_MODIFY [11:01:08] [Thread-7/INFO]: Detected file change: r.0.0.mca [11:01:08] [Thread-7/INFO]: Region file watcher got a key! [11:01:08] [Thread-7/INFO]: Region file watcher detected event: ENTRY_MODIFY [11:01:08] [Thread-7/INFO]: Detected file change: r.0.0.mca ```Plugin and Datapack List
No plugins (other than the TestPlugin) or datapacks.
Paper version
Other
Other oddities that I've noticed is after the chunks partially save (after a
/save-all flush
for instance) the timestamp for the date modified in the Windows File Explorer do not update, even after many refreshes. However, if you open another terminal and runls -al
on the region directory the timestamps will update in the terminal, but still not in the File Explorer. The File Explorer will not update the timestamps until the server is fully shut down.Test Plugin: