AsyncSave - Write Chunk Data Asynchronously: Version: v0.1 This Bukkit mod overrides the chunk saving method and changes it to write to disk asynchronously, using threads. This greatly speeds up disk writes, especially on multicore systems and RAID storage, and goes a long way to reducing lag. Since this is a mod rather than a plugin, it will probably not work with any RB other than 953. I will do my best to update as quickly as I can when new RBs come out. Warning: Asynchronous writes means the data does not immediately make its way to disk. There is still the chance a bug, crash, or power loss could damage your world. I strongly suggest only using this mod if you back up your world regularly. Incremental backups would be good too, since there's a chance world damage could go unnoticed until your server restarts. Installation: Download AsyncSave.jar to your main Bukkit directory (NOT plugins). Modify your start.cmd/start.sh/whatever you use to launch Bukkit to something like the following: Code: java -Xincgc -Xms512M -Xmx1024M -cp AsyncSave.jar:craftbukkit-0.0.1-SNAPSHOT.jar org.bukkit.craftbukkit.Main nogui (Use ; instead of : for Windows servers.) Download: Download disabled, could sometimes lead to chunks being saved in the wrong place. Will be back when (if?) I can figure out a fix. Source: I'm not going to redistribute the modified Minecraft code. However, 99% of the code is in my own class, which can be downloaded here: AsyncRandomAccessFile.java You're welcome to use it in your own projects. Changelog: Version 0.1.1 Changed seek() to run immediately if queue is empty. Saves waiting on queue flushes when only reading. Slightly faster thread synchronization. Version 0.1 First working version. TODO: It's not as asynchronous as I'd like, it flushes out the queue before any read from the same file. I'd like to switch this to tracking what's "dirty" and only flushing if it's needed, or better, fulfilling the read from the write queue. Going async at a higher level would help speed things up. In particular, offloading the compression to a thread would be a nice touch. On the other hand, it would also mean messing up more Notch code.