dm-server (sha256:a209ebafda847161558e58b5a7994da93bfffeb78d4033c705225ce56ca9892c)

Published 2025-08-15 00:54:02 +02:00 by Philipp in spenny.tf/tf2-images

Installation

docker pull git.snrd.eu/spenny.tf/dm-server@sha256:a209ebafda847161558e58b5a7994da93bfffeb78d4033c705225ce56ca9892c
sha256:a209ebafda847161558e58b5a7994da93bfffeb78d4033c705225ce56ca9892c

About this package

TF2 server in Docker container - multiple images for various purposes

Image layers

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.ref.name=ubuntu
LABEL org.opencontainers.image.version=22.04
ADD file:598bb7ba54e5a576778e9ebe1f4e514188812bea30c08d00446f8d04c37053e6 in /
CMD ["/bin/bash"]
ENV USER=root
ENV HOME=/root
WORKDIR /root
SHELL [/bin/bash -o pipefail -c]
RUN /bin/bash -o pipefail -c echo steam steam/question select "I AGREE" | debconf-set-selections && echo steam steam/license note '' | debconf-set-selections # buildkit
ARG DEBIAN_FRONTEND=noninteractive
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/bash -o pipefail -c dpkg --add-architecture i386 && apt-get update -y && apt-get install -y --no-install-recommends ca-certificates locales steamcmd && rm -rf /var/lib/apt/lists/* # buildkit
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/bash -o pipefail -c locale-gen en_US.UTF-8 # buildkit
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/bash -o pipefail -c ln -s /usr/games/steamcmd /usr/bin/steamcmd # buildkit
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/bash -o pipefail -c steamcmd +quit # buildkit
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/bash -o pipefail -c mkdir -p $HOME/.steam && ln -s $HOME/.local/share/Steam/steamcmd/linux32 $HOME/.steam/sdk32 && ln -s $HOME/.local/share/Steam/steamcmd/linux64 $HOME/.steam/sdk64 && ln -s $HOME/.steam/sdk32/steamclient.so $HOME/.steam/sdk32/steamservice.so && ln -s $HOME/.steam/sdk64/steamclient.so $HOME/.steam/sdk64/steamservice.so # buildkit
ENTRYPOINT ["steamcmd"]
CMD ["+help" "+quit"]
LABEL maintainer=garrappachc@gmail.com
RUN /bin/bash -o pipefail -c export DEBIAN_FRONTEND=noninteractive && export TZ=Etc/UTC && dpkg --add-architecture i386 && apt-get -y update && apt-get install -y software-properties-common && add-apt-repository multiverse && apt-get -y update && apt-get install -y --no-install-recommends --no-install-suggests lib32gcc-s1 lib32z1 libncurses5:i386 libbz2-1.0:i386 lib32stdc++6 libtinfo5:i386 libcurl3-gnutls:i386 wget unzip gettext-base libbsd0 && rm -rf /var/lib/apt/lists/* # buildkit
ARG USER=tf2
ARG HOME=/home/tf2
ARG SERVER_DIR=/home/tf2/server
ARG APP_ID=232250
ENV SRCDS_EXEC=srcds_run
ENV USER=tf2
ENV HOME=/home/tf2
ENV SERVER_DIR=/home/tf2/server
ENV APP_ID=232250
RUN |4 USER=tf2 HOME=/home/tf2 SERVER_DIR=/home/tf2/server APP_ID=232250 /bin/bash -o pipefail -c useradd --home-dir $HOME --create-home --shell /bin/bash $USER # buildkit
USER tf2
WORKDIR /home/tf2
COPY maps_to_keep tf2.txt.template /home/tf2/ # buildkit
RUN |4 USER=tf2 HOME=/home/tf2 SERVER_DIR=/home/tf2/server APP_ID=232250 /bin/bash -o pipefail -c envsubst < $HOME/tf2.txt.template > $HOME/tf2.txt && steamcmd +runscript $HOME/tf2.txt && find $SERVER_DIR/tf/maps -type f | grep -v "$(cat maps_to_keep)" | xargs rm -rf && rm maps_to_keep && mkdir -p $HOME/.steam && ln -s $HOME/.local/share/Steam/steamcmd/linux32 $HOME/.steam/sdk32 # buildkit
COPY server.cfg.template /home/tf2/server/tf/cfg/server.cfg.template # buildkit
COPY /build/rcon/build/rcon /home/tf2/server/rcon # buildkit
ENV IP=0.0.0.0
ENV PORT=27015
ENV CLIENT_PORT=27016
ENV STEAM_PORT=27018
ENV STV_PORT=27020
ENV SERVER_TOKEN=
ENV ENABLE_FAKE_IP=0
ENV RCON_PASSWORD=123456
ENV SERVER_HOSTNAME=A Team Fortress 2 server
ENV SERVER_PASSWORD=
ENV STV_NAME=Source TV
ENV STV_TITLE=A Team Fortress 2 server Source TV
ENV STV_PASSWORD=
ENV DOWNLOAD_URL=https://fastdl.serveme.tf/
WORKDIR /home/tf2/server
COPY entrypoint.sh . # buildkit
COPY healthcheck.sh . # buildkit
ENTRYPOINT ["./entrypoint.sh"]
CMD ["+sv_pure" "1" "+map" "cp_badlands" "+maxplayers" "24"]
EXPOSE map[27015/tcp:{}]
EXPOSE map[27015/udp:{}]
EXPOSE map[27020/udp:{}]
HEALTHCHECK &{["CMD" "./healthcheck.sh"] "30s" "30s" "20s" "0s" '\x03'}
LABEL maintainer=garrappachc@gmail.com
ARG INSTALL_DIR=/server/tf
COPY --chown=tf2 /server/tf/ /home/tf2/server/tf/ # buildkit
LABEL maintainer=garrappachc@gmail.com
ARG PLUGIN_INSTALL_DIR=/server/tf
COPY --chown=tf2 /server/tf/ /home/tf2/server/tf/ # buildkit
RUN |1 PLUGIN_INSTALL_DIR=/server/tf /bin/bash -o pipefail -c mv "${SERVER_DIR}/tf/addons/sourcemod/plugins/"{funcommands,funvotes}.smx "${SERVER_DIR}/tf/addons/sourcemod/plugins/disabled/" # buildkit
COPY server.cfg.template /home/tf2/server/tf/cfg/server.cfg.template # buildkit
COPY soap_tf2dm.cfg /home/tf2/server/tf/cfg/sourcemod/soap_tf2dm.cfg # buildkit
COPY mapcycle.txt /home/tf2/server/tf/cfg/mapcycle.txt # buildkit
COPY afk_manager.cfg /home/tf2/server/tf/cfg/sourcemod/afk_manager.cfg # buildkit
COPY custom_whitelist_11769.txt /home/tf2/server/tf/cfg/custom_whitelist_11769.txt # buildkit
COPY afk_manager.phrases.txt /home/tf2/server/tf/addons/sourcemod/translations/afk_manager.phrases.txt # buildkit
CMD ["+sv_pure" "2" "+map" "cp_badlands" "+maxplayers" "8"]
LABEL maintainer=philipp@boehm.sh
ARG METAMOD_VERSION_MAJOR=2
ARG METAMOD_VERSION_MINOR=0
ARG METAMOD_VERSION_PATCH=0
ARG METAMOD_VERSION_BUILD=1331
ARG METAMOD_VERSION=2.0.0-git1331
ARG METAMOD_TARBALL_FILE_NAME=mmsource-2.0.0-git1331-linux.tar.gz
ARG METAMOD_TARBALL_URL=https://mms.alliedmods.net/mmsdrop/2.0/mmsource-2.0.0-git1331-linux.tar.gz
ARG SOURCEMOD_VERSION_MAJOR=1
ARG SOURCEMOD_VERSION_MINOR=13
ARG SOURCEMOD_VERSION_PATCH=0
ARG SOURCEMOD_VERSION_BUILD=7211
ARG SOURCEMOD_VERSION=1.13.0-git7211
ARG SOURCEMOD_TARBALL_FILE_NAME=sourcemod-1.13.0-git7211-linux.tar.gz
ARG SOURCEMOD_TARBALL_URL=https://sm.alliedmods.net/smdrop/1.13/sourcemod-1.13.0-git7211-linux.tar.gz
RUN |14 METAMOD_VERSION_MAJOR=2 METAMOD_VERSION_MINOR=0 METAMOD_VERSION_PATCH=0 METAMOD_VERSION_BUILD=1331 METAMOD_VERSION=2.0.0-git1331 METAMOD_TARBALL_FILE_NAME=mmsource-2.0.0-git1331-linux.tar.gz METAMOD_TARBALL_URL=https://mms.alliedmods.net/mmsdrop/2.0/mmsource-2.0.0-git1331-linux.tar.gz SOURCEMOD_VERSION_MAJOR=1 SOURCEMOD_VERSION_MINOR=13 SOURCEMOD_VERSION_PATCH=0 SOURCEMOD_VERSION_BUILD=7211 SOURCEMOD_VERSION=1.13.0-git7211 SOURCEMOD_TARBALL_FILE_NAME=sourcemod-1.13.0-git7211-linux.tar.gz SOURCEMOD_TARBALL_URL=https://sm.alliedmods.net/smdrop/1.13/sourcemod-1.13.0-git7211-linux.tar.gz /bin/bash -o pipefail -c wget -nv "${METAMOD_TARBALL_URL}" && wget -nv "${SOURCEMOD_TARBALL_URL}" && tar xf "${METAMOD_TARBALL_FILE_NAME}" -C "${SERVER_DIR}/tf" && tar xf "${SOURCEMOD_TARBALL_FILE_NAME}" -C "${SERVER_DIR}/tf" && rm "${METAMOD_TARBALL_FILE_NAME}" && rm "${SOURCEMOD_TARBALL_FILE_NAME}" && wget -nv "https://github.com/dordnung/System2/releases/download/v3.3.2/system2.zip" -O system2.zip && wget -nv "https://github.com/sapphonie/StAC-tf2/releases/download/v6.3.5/stac.zip" -O stac.zip && wget -nv "https://github.com/sapphonie/sourcemod-nativevotes-updated/releases/download/workflow-build61/nativevotes_sm_1.11.zip" -O nativevotes.zip && wget -nv "https://github.com/ErikMinekus/sm-advertisements/releases/download/2.1.1/release.tar.gz" -O advertisements.tar.gz && wget -nv "http://users.alliedmods.net/~kyles/builds/SteamWorks/SteamWorks-git132-linux.tar.gz" -O SteamWorks.tar.gz && wget -nv "https://gitlab.com/Zipcore/Discord/-/raw/master/plugins/discord.smx" -O discord.smx && wget -nv "https://gitlab.com/Zipcore/Discord/-/raw/master/plugins/discord_sourcebans.smx" -O discord_sourcebans.smx && wget -nv "https://gitlab.com/Zipcore/Discord/-/raw/master/plugins/discord_sourcecomms.smx" -O discord_sourcecomms.smx && wget -nv "https://github.com/eaasye/soapbalancer/raw/master/soapbalancer.smx" -O soapbalancer.smx && wget -nv "https://github.com/JoinedSenses/sm-ext-socket/releases/download/v0.2/socket.ext.so" -O socket.ext.so && wget -nv "https://github.com/sapphonie/tf2rue/releases/download/v0.0.11/tf2rue.zip" -O tf2rue.zip && unzip -o system2.zip -d "${SERVER_DIR}/tf/addons/sourcemod/" && unzip -o stac.zip -d "${SERVER_DIR}/tf/addons/sourcemod/" && unzip -o nativevotes.zip -d "${SERVER_DIR}/tf/" && unzip -o tf2rue.zip -d "${SERVER_DIR}/tf/addons/sourcemod/" && tar xf advertisements.tar.gz -C "${SERVER_DIR}/tf/" && tar xf SteamWorks.tar.gz -C "${SERVER_DIR}/tf/" && mv discord.smx "${SERVER_DIR}/tf/addons/sourcemod/plugins/discord.smx" && mv discord_sourcebans.smx "${SERVER_DIR}/tf/addons/sourcemod/plugins/discord_sourcebans.smx" && mv discord_sourcecomms.smx "${SERVER_DIR}/tf/addons/sourcemod/plugins/discord_sourcecomms.smx" && mv soapbalancer.smx "${SERVER_DIR}/tf/addons/sourcemod/plugins/soapbalancer.smx" && mv socket.ext.so "${SERVER_DIR}/tf/addons/sourcemod/extensions/" && rm "${SERVER_DIR}/tf/addons/sourcemod/plugins/admin-flatfile.smx" "system2.zip" "stac.zip" "nativevotes.zip" "tf2rue.zip" # buildkit
COPY server.cfg.template /home/tf2/server/tf/cfg/server.cfg.template # buildkit
COPY mapcycle.txt /home/tf2/server/tf/cfg/mapcycle.txt # buildkit
COPY motd.txt /home/tf2/server/tf/cfg/motd.txt # buildkit
CMD ["+sv_pure" "2" "+map" "cp_snakewater_final1" "+maxplayers" "8"]

Labels

Key Value
maintainer philipp@boehm.sh
org.opencontainers.image.created 2025-08-14T22:51:03Z
org.opencontainers.image.description TF2 server in Docker container - multiple images for various purposes
org.opencontainers.image.licenses MIT
org.opencontainers.image.ref.name ubuntu
org.opencontainers.image.revision e148af10dc1367a5e9e493c1844a345ca0d2807c
org.opencontainers.image.source https://git.snrd.eu/spenny.tf/tf2-images.git
org.opencontainers.image.title tf2-servers
org.opencontainers.image.url https://git.snrd.eu/spenny.tf/tf2-images
org.opencontainers.image.version 3.8.10
Details
Container
2025-08-15 00:54:02 +02:00
1
OCI / Docker
linux/amd64
MIT
2.2 GiB
Versions (1) View all
latest 2025-08-15