vintage-story-build-latest / Docker prune (vm-docker-build2) (push) Successful in 3s
vintage-story-build-latest / poll-debian-base-and-detect-changes (push) Successful in 6s
vintage-story-build-latest / Build and Push latest (push) Successful in 27s
vintage-story-build-latest / generate-changelogs (push) Successful in 7s
vintage-story-build-latest / generate-build-info (push) Successful in 10s
29 lines
920 B
Bash
29 lines
920 B
Bash
#!/bin/bash
|
|
# Copyright (c) 2026 fithwum
|
|
# All rights reserved
|
|
|
|
LOG_FILE=/vs_server/server/data/Logs/server-main.log
|
|
SESSION=server
|
|
|
|
echo "INFO ! A screen session for the Vintage-Story server is already running."
|
|
cleanup() {
|
|
echo "[INFO] Stopping Vintage-Story ..."
|
|
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 Vintage-Story Server in a screen session."
|
|
touch "$LOG_FILE"
|
|
screen -L -Logfile "$LOG_FILE" -dmS "$SESSION" bash -c dotnet /vs_server/server/VintagestoryServer.dll --data-path /vs_server/server/data
|
|
exec tail -F "$LOG_FILE" |