I've been looking into Minecraft servers recently, and since I use a Mac, I know that the terminal application is an effective way to run a server with additional ram (you know, with the java -Xmx1024M -Xms1024M -jar minecraft_server.jar
nametag).
Basically, I run a server by using a .command file with the following script:
ls
cd desktop
ls
cd MinecraftServer
java -Xmx1024M -Xms1024M -jar minecraft_server.jar
I've chmod
'd the file so that with one click, I can boot up the server with 1024 megabytes of ram. Without using plugins, is there a way I can run my server so that terminal copies my server map with periodic intervals, and stores them in an easily accessible directory? For example, while the server is running, a script counts every hour and stores a backup of my map.
EDIT: I did some research and also read some of your advice. This is what I came up with:
cd /Users/userme/Desktop/Minecraft java -Xmx1024M -Xms1024M -jar minecraft_server.jar & bash -c 'while [ 0 ]; do cp -r /Users/userme/Desktop/Minecraft/world /Users/userme/Desktop/A ;sleep 1800;done'
I know most of you guys will understand how this works, but it basically starts up the server.jar with one gigabyte of ram, and in the background, simultaneously triggers a loop where a copy of my world is made and saved in directory A as a file, not the clumsy level.dat files. The loop will wait 30 minutes before making another copy. In short, this script makes it easy to start up a server and have it make a backup of the map every 30 minutes.
cron
and a named pipe, but an actual working example would take some testing I don't have the time for tonight. I'll see what I can cook up tomorrow.cd ~/Desktop/MinecraftServer
.java -Xmx1024M -Xms1024M -jar ~/Desktop/MinecraftServer/minecraft_server.jar
is the only line needed!