BukkitRamDiskSimplifying the hosting of a Bukkit server on a RAM Diskcreated by Siggiwww.siggi.hk Download BukkitRamDisk for OS XA copy of these notes is included with the download. System Requirements For systems dedicated to running a small Minecraft server, these are the requirements in addition to the requirements for hosting a Bukkit server: - Minimum 8 GB of RAM. - Works on any Mac OS X that can run Bukkit. For systems low on RAM, an upgrade to Mavericks is a good idea when it reaches it's public release, to take advantage of memory compression. Do not install a beta version of Mavericks, especially if you're not in the Mac Developer program with Apple. BukkitRamDisk is currently limited to Mac OS X, and does not work on other operating systems. BukkitRamDisk also uses a jnilib compiled for Intel architectures, and will not run on PowerPC based Macs. But who has those anymore anyways? Server Requirements The total disk space usage of your server, including all worlds, and installed plugins, must not exceed 2 GB, as BukkitRamDisk creates a 2 GB RAM Disk that cannot hold any more than that. In later versions, BukkitRamDisk will allow you to set your own size. Instructions for proper usage To start using BukkitRamDisk, copy the files from this Disk Image to your server folder, not the plugins folder. Make sure the name of the Bukkit server JAR is CraftBukkit.jar and, if you use ColdRa1n for your server, also make sure the name of the ColdRa1n JAR is ColdRa1n.jar. Then, open Start RamDisk in TextEdit and change the -Xmx2048m to the amount of RAM you wish to allocate to the server. This amount does not include the amount allocated to the RAM Disk. After that, double click Start RamDisk in your server folder to start BukkitRamDisk and your Bukkit server. Do not rename or eject the RAM Disk. Doing so could potentially delete all files from your Bukkit server permanently. If you need to eject the RAM Disk to free up RAM for other programs, you need to stop the server first, and then the RAM Disk will be safely ejected automatically. Installation Instructions in list form 1. Stop your server if it's currently running. 2. Extract "Start RamDisk" and "BukkitRamDisk.jar" from the DMG file into your Server folder, not the plugins folder. 3. Open Start RamDisk in TextEdit and change the -Xmx2048m to the amount of RAM you wish to allocate to the server. This amount does not include the amount allocated to the RAM Disk. 4. Make sure Bukkit server JAR is named CraftBukkit.jar. 5. Double click Start RamDisk to copy the server to the RAM and run it off the RAM, and enjoy! Updating the server software Whether you are updating Bukkit, or BukkitRamDisk, you must stop the server first, and wait for it to finish syncing all server data back to disk before you replace the JAR files in your server folder. When the RAM Disk disappears from the system, you can be sure that it has finished syncing to disk. Installing, removing, and updating Bukkit plugins properly To install, remove, or update a bukkit plugin while the server is running, add or remove it from the plugins folder on the RAM Disk. Do not add the plugin to the original server folder, as it will be wiped out at the next sync cycle. Similar happens if you remove it from the original server folder, it will be copied back from the RAM Disk. After that, you can type reload into the console, or /reload into the chat. If the plugin instructions specifically states that you should stop the server before installing or removing the plugin, then you must stop the server first, and then install or remove the plugin as if the server is not running (see below). To install or remove a bukkit plugin while the server is NOT running, add or remove it from the plugins folder inside the original server folder. Accessing the RAM Disk When you start the server, Finder will open the RAM Disk. If you close the Finder window intentionally or accidentally, you can still access the RAM Disk by clicking on Finder in the Dock, pressing Shift+Command+G, and typing in /Volumes (including the slash at the beginning) and pressing Go. The RAM Disk will be inside the folder that opens up. Disclaimer Siggi claims no responsibility for damages due to the use or misuse of this software. Usage of this software is entirely at your own risk. Save a backup of your server before using this software. Donations All donations are welcome! If you wish to support Siggi and BukkitRamDisk, please send a donation through PayPal of any amount you like to [email protected]. Siggi.hk © 2013Feel free to decompile the code and change it around.Redistribution of the code, modified or not, is not permitted without written permission from the original author of the software.
Basically, what this program does is create a RAM Drive using 2 GB of RAM, copies the server to the RAM Drive, and then runs the copy of the server that resides on the RAM Drive. Every couple of minutes, it will copy any changes back to the Hard Drive so that if there is a power cut, not much will be lost. When you stop the server, it will make a final copy back to the Hard Drive before destroying the RAM Drive. To increase efficiency of copying back to the Hard Drive, only files that were changed (the last modification date on the RAM Drive is different from the last modification date on the Hard Drive) are copied back. The reason I made this program is to make loading chunks faster on servers with lots of people, to reduce lag. Having the server data on RAM means the CPU has faster access to it. RAM has average read/write speeds of about 4 GB/s, while traditional Hard Drives only average at about 30 MB/s. This will increase chunk loading by about 135 times!
I have a Mac mini with 16 GB RAM on it, it hosts my minecraft server and a few other servers, so no problem for me. When I look at RAM usage, there's actually space for one or two more minecraft servers.
When i try to run it i get an error ERROR StatusLogger Unable to locate a logging implementation, using SimpleLogger >ERROR MinecraftServer Encountered an unexpected exception java.lang.ClassCastException: org.apache.logging.log4j.simple.SimpleLogger cannot be cast to org.apache.logging.log4j.core.Logger at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.java:57) at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:424) at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) am i doing something wrong?
Due to low demand, and because I haven't really been using it myself either, I have not updated it to work with 1.7.