Skip to content

Instantly share code, notes, and snippets.

@meoso
Created April 26, 2017 15:11
Show Gist options
  • Save meoso/6c26b8ac5ae08b419bf0f175c1f87186 to your computer and use it in GitHub Desktop.
Save meoso/6c26b8ac5ae08b419bf0f175c1f87186 to your computer and use it in GitHub Desktop.
minecraft (spigotmc) server start script (run inside gnu screen)
#!/bin/bash
# edit username
username='username' #because i autostart in init.d, i dont want to execute as root
cd ~/minecraft/server || exit 1
case $1 in
"1.10")
server="spigot-1.10.jar";;
"1.10.2")
server="spigot-1.10.2.jar";;
"1.11")
server="spigot-1.11.jar";;
"1.11.2")
server="spigot-1.11.2.jar";;
*)
# edit these with each new release
server="spigot-1.11.2.jar";;
esac;
if ! screen -ls | grep -q "server";
then
echo "starting ${server}..."
sudo -u "$username" screen -d -m -S server \
java \
-d64 \
-server \
-XX:+UseConcMarkSweepGC \
-XX:+UnlockExperimentalVMOptions \
-XX:ParallelGCThreads=3 \
-XX:+UseStringDeduplication \
-XX:+UseThreadPriorities \
-Djava.net.preferIPv4Stack=true \
-XX:+OptimizeStringConcat \
-Xrs \
-XX:+AggressiveOpts \
-Xmx3584M -Xms512M \
-XX:+UseFastAccessorMethods \
-XX:+UseConcMarkSweepGC \
-jar "${server}" nogui
#### old params that no longer work ####
#-XX:+UseG1GC \
#-XX:MaxPermSize=512m \ #removed in JVM 8.0
#‑XX:+ExplicitGCInvokesConcurrent \ #fails to run
#‑XX:+CMSConcurrentMTEnabled \ #fails to run
#‑XX:ConcGCThreads=2 \ #fails to run
#‑XX:+UseParNewGC \ #fails to run
#### run console commands ####
cr=$(printf \\r)
#sleep 45
#screen -S server -p 0 -X stuff "citizens reload ${cr}"
else
echo 'already running...'
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment