From 6f75fb0424a4023473b131d44fb692fd84eea7ca Mon Sep 17 00:00:00 2001 From: edraft Date: Sun, 14 Jun 2026 15:25:29 +0200 Subject: [PATCH] New base --- Dockerfile | 50 +++++++++++++++++-------------------------- docker-compose.yaml | 22 +++++++++++++++++++ entrypoint.sh | 52 ++++++++++++++++++++++++++++----------------- 3 files changed, 74 insertions(+), 50 deletions(-) create mode 100644 docker-compose.yaml diff --git a/Dockerfile b/Dockerfile index 8e3f427..a2bdd21 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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"] \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..63756c2 --- /dev/null +++ b/docker-compose.yaml @@ -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 \ No newline at end of file diff --git a/entrypoint.sh b/entrypoint.sh index 59c8405..f39ab04 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -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" <>> Writing Commands.dat..." +mkdir -p "${SERVER_DIR}" +cat > "${SERVER_DIR}/Commands.dat" <> "${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} \ No newline at end of file