Panel — public source drop (v0.9.0)
Self-hostable game-server control panel: controller + agent + 26 game modules. One-line install (prebuilt release, no Go required): curl -fsSL https://git.pdxtechs.com/dbledeez/panel/raw/branch/main/install.sh | sudo bash Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
# panel-native Satisfactory entrypoint.
|
||||
set -euo pipefail
|
||||
log() { printf '[panel-satisfactory] %s\n' "$*"; }
|
||||
|
||||
if [[ "$(id -u)" = "0" ]]; then
|
||||
chown -R panel:panel /game /game-saves /home/panel 2>/dev/null || true
|
||||
exec setpriv --reuid=panel --regid=panel --clear-groups \
|
||||
--inh-caps=-all --bounding-set=-all \
|
||||
env HOME=/game-saves PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
|
||||
GAME_PORT="${GAME_PORT:-7777}" RELIABLE_PORT="${RELIABLE_PORT:-8888}" \
|
||||
/entrypoint.sh "$@"
|
||||
fi
|
||||
|
||||
GAME_DIR=/game
|
||||
SAVE_DIR=/game-saves
|
||||
START_SH="${GAME_DIR}/FactoryServer.sh"
|
||||
|
||||
if [[ ! -x "${START_SH}" ]]; then
|
||||
log "ERROR: ${START_SH} not found. Run 'Update' in the panel to install Satisfactory via SteamCMD."
|
||||
exit 78
|
||||
fi
|
||||
|
||||
# Satisfactory writes SaveGames / Engine configs to
|
||||
# $HOME/.config/Epic/FactoryGame. HOME is /game-saves → saves land in the
|
||||
# save volume without further fiddling.
|
||||
mkdir -p "${SAVE_DIR}/.config/Epic/FactoryGame/Saved/SaveGames"
|
||||
|
||||
GAME_PORT="${GAME_PORT:-7777}"
|
||||
RELIABLE_PORT="${RELIABLE_PORT:-8888}"
|
||||
|
||||
cd "${GAME_DIR}"
|
||||
log "starting Satisfactory dedicated server (game=${GAME_PORT}/udp+tcp reliable=${RELIABLE_PORT}/tcp)"
|
||||
|
||||
# -Port drives both the UDP game socket and the HTTPS API listener (they
|
||||
# share the number). -ReliablePort is the TCP reliability channel (1.0+).
|
||||
# -stdout -FullStdOutLogOutput route UE logs to stdout for `docker logs`.
|
||||
exec stdbuf -oL -eL "${START_SH}" \
|
||||
-Port="${GAME_PORT}" \
|
||||
-ReliablePort="${RELIABLE_PORT}" \
|
||||
-multihome=0.0.0.0 \
|
||||
-stdout -FullStdOutLogOutput \
|
||||
-unattended
|
||||
Reference in New Issue
Block a user