New base
Build / latest (push) Successful in 32s

This commit is contained in:
2026-06-14 15:25:29 +02:00
parent db67c3e51c
commit 6f75fb0424
3 changed files with 74 additions and 50 deletions
+20 -30
View File
@@ -1,36 +1,26 @@
FROM hackebein/srcds
FROM cm2network/steamcmd:root
ENV \
# App
APPS="1110390 -validate" \
#
# Server identity
INSTANCEID="Server1" \
SERVERNAME="Unturned Server" \
SERVERPASSWORD="" \
ADMINPASSWORD="" \
OWNER="0" \
#
# Server config
MAP="PEI" \
MAXPLAYERS="8" \
PERSPECTIVE="Both" \
PVP="true" \
PORT="27015" \
#
# Anti-cheat
VAC="true" \
EASYANTICHEAT="true" \
#
# Workshop
WORKSHOP="" \
#
# Start parameters
CUSTOMPARAMETERS=""
ENV GSLT="" \
SERVER_ID="default" \
MAP="PEI" \
NAME="Unturned Server" \
MAXPLAYERS="24" \
PORT="27015" \
PASSWORD="" \
OWNER="" \
PERSPECTIVE="Both" \
DIFFICULTY="Normal"
RUN apt-get update \
&& apt-get install -y --no-install-recommends procps \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /home/steam
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
EXPOSE 27015/tcp 27015/udp 27016/udp
EXPOSE 27015/udp
EXPOSE 27016/udp
ENTRYPOINT ["/entrypoint.sh"]
ENTRYPOINT ["/entrypoint.sh"]
+22
View File
@@ -0,0 +1,22 @@
services:
unturned:
build: .
container_name: unturned
restart: unless-stopped
stdin_open: true
tty: true
network_mode: host
environment:
- GSLT=YOUR_TOKEN_HERE
- SERVER_ID=myserver
- NAME=My Unturned Server
- MAP=PEI
- MAXPLAYERS=24
- PORT=27015
- PASSWORD=
- OWNER=76561198012345678
- ADMINS=76561198087654321,76561198011111111
- PERSPECTIVE=Both
- DIFFICULTY=Normal
volumes:
- ./data:/home/steam/unturned/Servers
+32 -20
View File
@@ -1,29 +1,41 @@
#!/bin/bash
set -e
cd /opt/steam
INSTALL_DIR="/home/steam/unturned"
SERVER_DIR="${INSTALL_DIR}/Servers/${SERVER_ID}/Server"
steamcmd +force_install_dir /opt/steam +login anonymous +app_update ${APPS} +quit
echo ">>> Updating Unturned via SteamCMD..."
/home/steam/steamcmd/steamcmd.sh \
+force_install_dir "${INSTALL_DIR}" \
+login anonymous \
+app_update 1110390 validate \
+quit
SERVERDIR="/opt/steam/Servers/${INSTANCEID}/Server"
mkdir -p "${SERVERDIR}"
cat > "${SERVERDIR}/Commands.dat" <<EOF
ServerName "${SERVERNAME}"
ServerPassword "${SERVERPASSWORD}"
ServerPasswordAdmin "${ADMINPASSWORD}"
Owner ${OWNER}
Map "${MAP}"
MaxPlayers ${MAXPLAYERS}
Perspective ${PERSPECTIVE}
PVP ${PVP}
Port ${PORT}
VAC ${VAC}
EasyAntiCheat ${EASYANTICHEAT}
echo ">>> Writing Commands.dat..."
mkdir -p "${SERVER_DIR}"
cat > "${SERVER_DIR}/Commands.dat" <<EOF
NAME ${NAME}
MAP ${MAP}
MAXPLAYERS ${MAXPLAYERS}
PORT ${PORT}
PERSPECTIVE ${PERSPECTIVE}
DIFFICULTY ${DIFFICULTY}
$([ -n "${PASSWORD}" ] && echo "PASSWORD ${PASSWORD}")
$([ -n "${GSLT}" ] && echo "GSLT ${GSLT}")
$([ -n "${OWNER}" ] && echo "OWNER ${OWNER}")
EOF
if [ -n "${WORKSHOP}" ]; then
echo "Workshop ${WORKSHOP}" >> "${SERVERDIR}/Commands.dat"
# Append any extra ADMIN lines from ADMINS env (comma-separated Steam64 IDs)
if [ -n "${ADMINS}" ]; then
IFS=',' read -ra ADMIN_LIST <<< "${ADMINS}"
for ADMIN in "${ADMIN_LIST[@]}"; do
echo "ADMIN ${ADMIN}" >> "${SERVER_DIR}/Commands.dat"
done
fi
exec ./Unturned_Headless.x86_64 -batchmode -nographics -nolog +InstanceId="${INSTANCEID}" ${CUSTOMPARAMETERS}
echo ">>> Starting Unturned..."
exec "${INSTALL_DIR}/Unturned_Headless.x86_64" \
-nographics \
-batchmode \
-dedicated \
+secureserver/${SERVER_ID}