#!/bin/bash
cd "$(dirname "$0")"
# Barebones start script
# exec java -Xms512M -Xmx1024M -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -jar server.jar nogui
# exec java -server -Xms512M -Xmx1280M -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -jar server.jar nogui
# Automatically restart server after countdown
while true
do
(
# exec java -server -Xms1280M -Xmx1280M -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -jar server.jar nogui
exec java -Xms6G -Xmx6G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar nogui
)
countdown=10
echo "Minecraft server will restart in $countdown seconds..."
while [ $countdown -gt 0 ]
do
sleep 1
countdown=$((countdown - 1))
echo "$countdown"
done
echo "Restarting Minecraft server..."
done