Skip to content

Instantly share code, notes, and snippets.

@gmemstr
Created January 14, 2016 19:10
Show Gist options
  • Save gmemstr/41fc66f223e169faf002 to your computer and use it in GitHub Desktop.
Save gmemstr/41fc66f223e169faf002 to your computer and use it in GitHub Desktop.
NodeMC Setup Script
#!/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