Created
January 14, 2016 19:10
-
-
Save gmemstr/41fc66f223e169faf002 to your computer and use it in GitHub Desktop.
NodeMC Setup Script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# Shell setup script for NodeMC | |
# | |
# Spinner from | |
# https://github.com/marascio/bash-tips-and-tricks/tree/master/showing-progress-with-a-bash-spinner | |
spinner() | |
{ | |
local pid=$1 | |
local delay=0.25 | |
local spinstr='|/-\' | |
echo "$pid" > "/tmp/.spinner.pid" | |
while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do | |
local temp=${spinstr#?} | |
printf " [%c] " "$spinstr" | |
local spinstr=$temp${spinstr%"$temp"} | |
sleep $delay | |
printf "\b\b\b\b\b\b" | |
done | |
printf " \b\b\b\b" | |
} | |
# Function to clean up if script exits prematurely | |
cleanup() | |
{ | |
echo "Cleaning up..." | |
rm temp.zip | |
} | |
trap cleanup EXIT | |
# | |
# Main program to download & install NodeMC | |
# | |
clear | |
echo "Hello, let's get NodeMC set up for you!" | |
echo "Fetching latest release..." | |
if [ ! -f nmc ]; then | |
echo "nmc binary not found, downloading release." | |
wget https://nodemc.space/release_linux.zip -q -O temp.zip -T 4 & | |
spinner $! | |
else | |
echo "nmc binary found, downloading updated binary package." | |
wget https://nodemc.space/update_linux.zip -q -O temp.zip -T 4 & | |
spinner $! | |
fi | |
echo "Unzipping release package." | |
unzip -o temp.zip & spinner $! | |
echo "Creating directories for jarfiles (requires root!)." | |
sudo mkdir /home/nodemc/ | |
sudo mkdir /var/nodemc/ | |
sudo mkdir /var/nodemc/server_files/ | |
echo "Downloading vanilla jarfile from Mojang." | |
sudo wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8.9/minecraft_server.1.8.9.jar -q -O /var/nodemc/server_files/vanilla.latest.jar -T 4 & | |
spinner $! | |
sudo chmod +x /var/nodemc/server_files/vanilla.latest.jar | |
if [ ! -f server.properties ]; then | |
echo "Running Minecraft server for the first time (512MB)" | |
java -Xmx512M -Xms512M -jar /var/nodemc/server_files/vanilla.latest.jar nogui >/dev/null & | |
spinner $! | |
fi | |
echo "All done!" | |
sleep 2 | |
echo "You're all good to go! Just run ./nmc then go to localhost:3000" | |
echo "(See the website about setting up a server FIRST!)" | |
echo "Enjoy using NodeMC for Linux Beta r1" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment