Files
fithwum 6e2e58d059
minecraft-build-minecraft / Docker prune (vm-docker-build2) (push) Successful in 2s
minecraft-build-testing / Docker prune (vm-docker-build2) (push) Successful in 3s
minecraft-build-minecraft / poll-debian-base-and-detect-changes (push) Successful in 24s
minecraft-build-testing / poll-debian-base-and-detect-changes (push) Successful in 24s
minecraft-build-testing / Build and Push testing (push) Successful in 17s
minecraft-build-minecraft / Build and Push minecraft (push) Successful in 28s
minecraft-build-testing / generate-changelogs (push) Successful in 8s
minecraft-build-minecraft / generate-changelogs (push) Successful in 8s
minecraft-build-testing / generate-build-info (push) Successful in 13s
minecraft-build-minecraft / generate-build-info (push) Successful in 11s
updates to run files
2026-07-21 12:46:13 -07:00

31 lines
848 B
Bash

#!/bin/bash
# Copyright (c) 2026 fithwum
# All rights reserved
LOGFILE=/mcserver/logs/latest.log
SESSION=mcserver
cd /mcserver
echo "INFO ! A screen session for the Minecraft server is already running."
cleanup() {
echo "[INFO] Stopping Minecraft..."
screen -S "$SESSION" -X $SESSION "stop$(printf '\r')"
# Wait up to 60 seconds
for i in {1..60}; do
if ! screen -list | grep -q "$SESSION"; then
break
fi
sleep 1
done
# Kill it if it's still alive
screen -S "$SESSION" -X quit 2>/dev/null || true
exit 0
}
trap cleanup SIGINT SIGTERM
# Start the Minecraft server in a detached screen session
echo "INFO ! Starting Minecraft Server in a screen session."
touch "$LOGFILE"
screen -L -Logfile "$LOGFILE" -dmS "$SESSION" bash -c ./run-$MC_TYPE-$MC_VERSION.sh
exec tail -F "$LOGFILE"