Skip to content

Instantly share code, notes, and snippets.

@ekzhang
Last active February 4, 2024 11:37
Show Gist options
  • Select an option

  • Save ekzhang/8ddd31d8a2724e16885b820888a77f63 to your computer and use it in GitHub Desktop.

Select an option

Save ekzhang/8ddd31d8a2724e16885b820888a77f63 to your computer and use it in GitHub Desktop.
Minecraft server tmux/cron scripts
0 8 * * * $HOME/scripts/restart.sh
15 8 * * * $HOME/scripts/fullrender.sh
#!/bin/bash
echo "Running fullrender.sh: $(date)" >> ~/server-log.txt
# Check if existing session is running
/usr/bin/tmux has-session -t minecraft 2>/dev/null
if [ $? == 0 ]; then
echo "fullrender.sh: Executing render job..." >> ~/server-log.txt
/usr/bin/tmux send-keys -t minecraft "dynmap fullrender world" Enter
sleep 3
/usr/bin/tmux send-keys -t minecraft "dynmap fullrender world_nether" Enter
sleep 3
# /usr/bin/tmux send-keys -t minecraft "dynmap fullrender world_the_end" Enter
# sleep 3
fi
# Start a new session
echo "fullrender.sh: Finished!" >> ~/server-log.txt
#!/bin/bash
echo "Running restart.sh: $(date)" >> ~/server-log.txt
# Check if existing session is running
/usr/bin/tmux has-session -t minecraft 2>/dev/null
if [ $? == 0 ]; then
echo "restart.sh: Killing previous session..." >> ~/server-log.txt
/usr/bin/tmux send-keys -t minecraft "say Restarting server in 1 minute..." Enter
sleep 50
/usr/bin/tmux send-keys -t minecraft "say Restarting server in 10 seconds..." Enter
sleep 10
/usr/bin/tmux send-keys -t minecraft "stop" Enter
sleep 10
/usr/bin/tmux kill-session -t minecraft
fi
# Start a new session
echo "restart.sh: Starting new session..." >> ~/server-log.txt
/usr/bin/tmux new-session -s minecraft -d ~/scripts/runserver.sh
#!/bin/bash
cd ~
while true
do
# Flags from mcflags.emc.gs
/usr/bin/java -Xms2560M -Xmx2560M \
-XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=100 \
-XX:+DisableExplicitGC -XX:TargetSurvivorRatio=90 \
-XX:G1NewSizePercent=50 -XX:G1MaxNewSizePercent=80 \
-XX:G1MixedGCLiveThresholdPercent=35 -XX:+AlwaysPreTouch \
-XX:+ParallelRefProcEnabled \
-jar server.jar nogui
echo "Server process interrupted. Press Ctr-C to stop..."
sleep 5
echo "Restarting..."
done
echo "Exited minecraft server."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment