generated from sh-edraft.de/docker-garrysmod
+20
-30
@@ -1,36 +1,26 @@
|
|||||||
FROM hackebein/srcds
|
FROM cm2network/steamcmd:root
|
||||||
|
|
||||||
ENV \
|
ENV GSLT="" \
|
||||||
# App
|
SERVER_ID="default" \
|
||||||
APPS="1110390 -validate" \
|
MAP="PEI" \
|
||||||
#
|
NAME="Unturned Server" \
|
||||||
# Server identity
|
MAXPLAYERS="24" \
|
||||||
INSTANCEID="Server1" \
|
PORT="27015" \
|
||||||
SERVERNAME="Unturned Server" \
|
PASSWORD="" \
|
||||||
SERVERPASSWORD="" \
|
OWNER="" \
|
||||||
ADMINPASSWORD="" \
|
PERSPECTIVE="Both" \
|
||||||
OWNER="0" \
|
DIFFICULTY="Normal"
|
||||||
#
|
|
||||||
# Server config
|
RUN apt-get update \
|
||||||
MAP="PEI" \
|
&& apt-get install -y --no-install-recommends procps \
|
||||||
MAXPLAYERS="8" \
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
PERSPECTIVE="Both" \
|
|
||||||
PVP="true" \
|
WORKDIR /home/steam
|
||||||
PORT="27015" \
|
|
||||||
#
|
|
||||||
# Anti-cheat
|
|
||||||
VAC="true" \
|
|
||||||
EASYANTICHEAT="true" \
|
|
||||||
#
|
|
||||||
# Workshop
|
|
||||||
WORKSHOP="" \
|
|
||||||
#
|
|
||||||
# Start parameters
|
|
||||||
CUSTOMPARAMETERS=""
|
|
||||||
|
|
||||||
COPY entrypoint.sh /entrypoint.sh
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /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"]
|
||||||
@@ -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
@@ -1,29 +1,41 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
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"
|
echo ">>> Writing Commands.dat..."
|
||||||
mkdir -p "${SERVERDIR}"
|
mkdir -p "${SERVER_DIR}"
|
||||||
|
cat > "${SERVER_DIR}/Commands.dat" <<EOF
|
||||||
cat > "${SERVERDIR}/Commands.dat" <<EOF
|
NAME ${NAME}
|
||||||
ServerName "${SERVERNAME}"
|
MAP ${MAP}
|
||||||
ServerPassword "${SERVERPASSWORD}"
|
MAXPLAYERS ${MAXPLAYERS}
|
||||||
ServerPasswordAdmin "${ADMINPASSWORD}"
|
PORT ${PORT}
|
||||||
Owner ${OWNER}
|
PERSPECTIVE ${PERSPECTIVE}
|
||||||
Map "${MAP}"
|
DIFFICULTY ${DIFFICULTY}
|
||||||
MaxPlayers ${MAXPLAYERS}
|
$([ -n "${PASSWORD}" ] && echo "PASSWORD ${PASSWORD}")
|
||||||
Perspective ${PERSPECTIVE}
|
$([ -n "${GSLT}" ] && echo "GSLT ${GSLT}")
|
||||||
PVP ${PVP}
|
$([ -n "${OWNER}" ] && echo "OWNER ${OWNER}")
|
||||||
Port ${PORT}
|
|
||||||
VAC ${VAC}
|
|
||||||
EasyAntiCheat ${EASYANTICHEAT}
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if [ -n "${WORKSHOP}" ]; then
|
# Append any extra ADMIN lines from ADMINS env (comma-separated Steam64 IDs)
|
||||||
echo "Workshop ${WORKSHOP}" >> "${SERVERDIR}/Commands.dat"
|
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
|
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}
|
||||||
Reference in New Issue
Block a user