generated from sh-edraft.de/docker-garrysmod
+17
-27
@@ -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
|
||||
ENV GSLT="" \
|
||||
SERVER_ID="default" \
|
||||
MAP="PEI" \
|
||||
MAXPLAYERS="8" \
|
||||
PERSPECTIVE="Both" \
|
||||
PVP="true" \
|
||||
NAME="Unturned Server" \
|
||||
MAXPLAYERS="24" \
|
||||
PORT="27015" \
|
||||
#
|
||||
# Anti-cheat
|
||||
VAC="true" \
|
||||
EASYANTICHEAT="true" \
|
||||
#
|
||||
# Workshop
|
||||
WORKSHOP="" \
|
||||
#
|
||||
# Start parameters
|
||||
CUSTOMPARAMETERS=""
|
||||
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"]
|
||||
@@ -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
|
||||
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}
|
||||
Reference in New Issue
Block a user