Go easy on me! Not only is this my first time coding on a linux platform, but is also my first post here. Been seeing a lot of useful info on these forums so thought I'd join in. So hello! Anyway. When updating the Minecraft Spigot server on my Raspberry Pi, the whole process of moving the world and server info to a backup folder, deleting the lot, downloading build tools, running it with a java command, waiting and then putting your server info back in after it all was a little long winded for someone like me who's new to all of the Linux stuffage. I decided to throw together a script that does it all for you, and thought I'd throw it on here to see what you guys think. It's made life easier for me when updates are released. What it does: - Asks for server folder location (home/pi/minecraft is default) - Asks for version to install (latest is default) - Creates a directory at 'home/pi/minecraft_backup' - Moves server files (properties, whitelist, worlds, etc) to the backup folder - Deletes the original server folder - Creates a new empty one - Downloads the latest BuildTools.jar to that folder - Runs the BuildTools.jar and builds the server - When complete, moves your server files and world folders back into the new folder - Deletes the 'minecraft_backup' folder - States completion Images: Here's the code: Code (Text): #!/bin/bash # Minecraft Server Updater Script. Ver 1.0. Geraint Thomas echo -e "\e[1;4mMinecraft Server Updater.\e[0m" echo echo echo echo "Step 01: Specify location of Minecraft server folder below..." echo echo -e "\e[1;96mDirectory to install:\e[0m" read -p "" -i /home/pi/minecraft -e serverpath echo echo echo "Step 02: Specify which version of Minecraft server to install below..." echo echo -e "\e[1;96mVersion to install:\e[0m" read -p "" -i latest -e version echo echo echo -e "\e[1;95mReady.\e[0m" echo read -n 1 -s -r -p "Press any key to begin installation." echo echo echo "Updating Minecraft Server to $version version." echo sleep 1 echo "Backing up world and server properties..." echo sleep 2 mkdir /home/pi/minecraft_backup mv $serverpath/plugins /home/pi/minecraft_backup/plugins mv $serverpath/world /home/pi/minecraft_backup/world mv $serverpath/world_nether /home/pi/minecraft_backup/world_nether mv $serverpath/world_the_end /home/pi/minecraft_backup/world_the_end mv $serverpath/banned-ips.json /home/pi/minecraft_backup/banned-ips.json mv $serverpath/banned-players.json /home/pi/minecraft_backup/banned-players.json mv $serverpath/eula.txt /home/pi/minecraft_backup/eula.txt mv $serverpath/ops.json /home/pi/minecraft_backup/ops.json mv $serverpath/server.properties /home/pi/minecraft_backup/server.properties mv $serverpath/usercache.json /home/pi/minecraft_backup/usercache.json mv $serverpath/whitelist.json /home/pi/minecraft_backup/whitelist.json echo "Deleting old server..." echo sleep 2 sudo rm -r $serverpath/ mkdir $serverpath/ cd $serverpath/ echo "Downloading Build Tools..." echo sleep 2 wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar echo "Rebuilding server. This may take up to 45 minutes." echo sleep 3 java -Xmx1024M -jar BuildTools.jar --rev $version echo "Restoring world and server properties..." echo mv /home/pi/minecraft_backup/plugins $serverpath/plugins mv /home/pi/minecraft_backup/world $serverpath/world mv /home/pi/minecraft_backup/world_nether $serverpath/world_nether mv /home/pi/minecraft_backup/world_the_end $serverpath/world_the_end mv /home/pi/minecraft_backup/banned-ips.json $serverpath/banned-ips.json mv /home/pi/minecraft_backup/banned-players.json $serverpath/banned-players.json mv /home/pi/minecraft_backup/eula.txt $serverpath/eula.txt mv /home/pi/minecraft_backup/ops.json $serverpath/ops.json mv /home/pi/minecraft_backup/server.properties $serverpath/server.properties mv /home/pi/minecraft_backup/usercache.json $serverpath/usercache.json mv /home/pi/minecraft_backup/whitelist.json $serverpath/whitelist.json sudo rm -r /home/pi/minecraft_backup echo "Finished." echo "Press any key to exit." read It's full of 'echo' commands at the start just to give some nice spacing within Terminal. Easier to read. It's relatively simple, and it's probably full of lazy scripting. Plus there's probably something out there that's similar, but even so it was quite a nice challenge for me and a nice way of getting into scripting. Let me know what you think!