Container working

This commit is contained in:
Skylar Sadlier 2019-09-24 02:54:13 +00:00
parent 9c3a26f9dc
commit 6dbd51159c
2 changed files with 113 additions and 0 deletions

44
Dockerfile Normal file
View File

@ -0,0 +1,44 @@
FROM debian:stable-slim
FROM i386/debian:stretch-slim
MAINTAINER ich777
RUN dpkg --add-architecture i386 && \
apt-get update && apt-get install --no-install-recommends -y \
ca-certificates libgcc1 libstdc++6 libssl1.1:i386 libstdc++6:i386 locales locales-all zlib1g:i386 libc6 libstdc++6 ca-certificates libgcc1 libstdc++6:i386 zlib1g:i386 curl file bzip2 gzip unzip libssl1.1:i386 libxrandr-dev:i386 libxi-dev:i386 libgl1-mesa-glx:i386 libxtst6:i386 libusb-1.0.0:i386 libxxf86vm1:i386 libglu1-mesa:i386 libopenal1:i386 libgtk2.0-0:i386 libsm6:i386 libdbus-glib-1-2:i386 libnm-glib4:i386 libnm-util2:i386 libudev-dev:i386 libudev-dev libpulse0 && \
apt-get clean && \
echo "LC_ALL=en_US.UTF-8" >> /etc/environment && \
rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/*;
RUN ln -s /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0
ENV LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8
ENV DATA_DIR="/serverdata"
ENV STEAMCMD_DIR="${DATA_DIR}/steamcmd"
ENV SERVER_DIR="${DATA_DIR}/serverfiles"
ENV GAME_ID="276060"
ENV GAME_NAME="svencoop"
ENV GAME_PARAMS="template"
ENV GAME_PORT=27015
ENV VALIDATE=""
ENV UID=99
ENV GID=100
ENV USERNAME=""
ENV PASSWRD=""
RUN mkdir $DATA_DIR
RUN mkdir $STEAMCMD_DIR
RUN mkdir $SERVER_DIR
RUN useradd -d $DATA_DIR -s /bin/bash --uid $UID --gid $GID steam
RUN chown -R steam $DATA_DIR
RUN ulimit -n 2048
ADD /scripts/ /opt/scripts/
RUN chmod -R 770 /opt/scripts/
RUN chown -R steam /opt/scripts
USER steam
#Server Start
ENTRYPOINT ["/opt/scripts/start-server.sh"]

69
scripts/start-server.sh Normal file
View File

@ -0,0 +1,69 @@
#!/bin/bash
if [ ! -f ${STEAMCMD_DIR}/steamcmd.sh ]; then
echo "SteamCMD not found!"
wget -q -O ${STEAMCMD_DIR}/steamcmd_linux.tar.gz http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar --directory ${STEAMCMD_DIR} -xvzf /serverdata/steamcmd/steamcmd_linux.tar.gz
rm ${STEAMCMD_DIR}/steamcmd_linux.tar.gz
fi
echo "---Update SteamCMD---"
if [ "${USERNAME}" == "" ]; then
${STEAMCMD_DIR}/steamcmd.sh \
+login anonymous \
+quit
else
${STEAMCMD_DIR}/steamcmd.sh \
+login ${USERNAME} ${PASSWRD} \
+quit
fi
echo "---Update Server---"
if [ "${USERNAME}" == "" ]; then
if [ "${VALIDATE}" == "true" ]; then
echo "---Validating installation---"
${STEAMCMD_DIR}/steamcmd.sh \
+login anonymous \
+force_install_dir ${SERVER_DIR} \
+app_update ${GAME_ID} validate \
+quit
else
${STEAMCMD_DIR}/steamcmd.sh \
+login anonymous \
+force_install_dir ${SERVER_DIR} \
+app_update ${GAME_ID} \
+quit
fi
else
if [ "${VALIDATE}" == "true" ]; then
echo "---Validating installation---"
${STEAMCMD_DIR}/steamcmd.sh \
+login ${USERNAME} ${PASSWRD} \
+force_install_dir ${SERVER_DIR} \
+app_update ${GAME_ID} validate \
+quit
else
${STEAMCMD_DIR}/steamcmd.sh \
+login ${USERNAME} ${PASSWRD} \
+force_install_dir ${SERVER_DIR} \
+app_update ${GAME_ID} \
+quit
fi
fi
# echo "---Prepare Server---"
# if [ ! -d ${DATA_DIR}/.steam/sdk32 ]; then
# mkdir ${DATA_DIR}/.steam/sdk32
# fi
# if [ ! -f ${SERVER_DIR}/hl2mp/cfg/server.cfg ]; then
# echo "---No server.cfg found, downloading...---"
# wget -q -O ${SERVER_DIR}/hl2mp/cfg/server.cfg https://raw.githubusercontent.com/ich777/docker-steamcmd-server/hl2dm/config/server.cfg
# else
# echo "---server.cfg found..."
# fi
# echo "---Please wait---"
# chmod -R 770 ${DATA_DIR}
echo "---Server ready---"
echo "---Start Server---"
cd ${SERVER_DIR}
${SERVER_DIR}/svends_run ${GAME_PARAMS} -console -port ${GAME_PORT}