ARG RELEASE |
ARG LAUNCHPAD_BUILD_ARCH |
LABEL org.opencontainers.image.ref.name=ubuntu |
LABEL org.opencontainers.image.version=20.04 |
ADD file:7486147a645d8835a5181c79f00a3606c6b714c83bcbfcd8862221eb14690f9e 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 ln -s $HOME/.steam/steamcmd/linux32 $HOME/.steam/sdk32 && ln -s $HOME/.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 lib32gcc1 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 $HOME/.steam/sdk32 && ln -s $HOME/.steam/steamcmd/linux32/steamclient.so $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 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 |
COPY checksum.md5 . # buildkit |
ARG METAMOD_VERSION_MAJOR=1 |
ARG METAMOD_VERSION_MINOR=12 |
ARG METAMOD_VERSION_PATCH=0 |
ARG METAMOD_VERSION_BUILD=1210 |
ARG METAMOD_VERSION=1.12.0-git1210 |
ARG METAMOD_TARBALL_FILE_NAME=mmsource-1.12.0-git1210-linux.tar.gz |
ARG METAMOD_TARBALL_URL=https://mms.alliedmods.net/mmsdrop/1.12/mmsource-1.12.0-git1210-linux.tar.gz |
ARG SOURCEMOD_VERSION_MAJOR=1 |
ARG SOURCEMOD_VERSION_MINOR=12 |
ARG SOURCEMOD_VERSION_PATCH=0 |
ARG SOURCEMOD_VERSION_BUILD=7164 |
ARG SOURCEMOD_VERSION=1.12.0-git7164 |
ARG SOURCEMOD_TARBALL_FILE_NAME=sourcemod-1.12.0-git7164-linux.tar.gz |
ARG SOURCEMOD_TARBALL_URL=https://sm.alliedmods.net/smdrop/1.12/sourcemod-1.12.0-git7164-linux.tar.gz |
RUN |14 METAMOD_VERSION_MAJOR=1 METAMOD_VERSION_MINOR=12 METAMOD_VERSION_PATCH=0 METAMOD_VERSION_BUILD=1210 METAMOD_VERSION=1.12.0-git1210 METAMOD_TARBALL_FILE_NAME=mmsource-1.12.0-git1210-linux.tar.gz METAMOD_TARBALL_URL=https://mms.alliedmods.net/mmsdrop/1.12/mmsource-1.12.0-git1210-linux.tar.gz SOURCEMOD_VERSION_MAJOR=1 SOURCEMOD_VERSION_MINOR=12 SOURCEMOD_VERSION_PATCH=0 SOURCEMOD_VERSION_BUILD=7164 SOURCEMOD_VERSION=1.12.0-git7164 SOURCEMOD_TARBALL_FILE_NAME=sourcemod-1.12.0-git7164-linux.tar.gz SOURCEMOD_TARBALL_URL=https://sm.alliedmods.net/smdrop/1.12/sourcemod-1.12.0-git7164-linux.tar.gz /bin/bash -o pipefail -c wget -nv "${METAMOD_TARBALL_URL}" && wget -nv "${SOURCEMOD_TARBALL_URL}" && md5sum -c checksum.md5 && 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}" && rm checksum.md5 # buildkit |
LABEL maintainer=garrappachc@gmail.com |
COPY checksum.md5 . # buildkit |
ARG SOAP_DM_PLUGIN_FILE_NAME=soap.zip |
ARG SOAP_DM_PLUGIN_VERSION=4.4.6 |
ARG SOAP_DM_PLUGIN_URL=https://github.com/sapphonie/SOAP-TF2DM/releases/download/v4.4.6/soap.zip |
ARG COMP_FIXES_PLUGIN_FILE_NAME=tf2-comp-fixes.zip |
ARG COMP_FIXES_PLUGIN_VERSION=1.16.14 |
ARG COMP_FIXES_PLUGIN_URL=https://github.com/ldesgoui/tf2-comp-fixes/releases/download/v1.16.14/tf2-comp-fixes.zip |
ARG CLASS_RESTRICT_PLUGIN_FILE_NAME=classrestrict.smx |
ARG CLASS_RESTRICT_PLUGIN_URL=https://www.sourcemod.net/vbcompiler.php?file_id=27957 |
ARG AFK_MANAGER_PLUGIN_FILE_NAME=afk_manager4.smx |
ARG AFK_MANAGER_PLUGIN_URL=https://www.sourcemod.net/vbcompiler.php?file_id=170330 |
ARG SOURCEBANS_PLUGIN_FILE_NAME=sourcebans-pp-1.6.4.plugin-only.tar.gz |
ARG SOURCEBANS_PLUGIN_URL=https://github.com/sbpp/sourcebans-pp/releases/download/1.6.4/sourcebans-pp-1.6.4.plugin-only.tar.gz |
ARG TF2RUE_PLUGIN_FILE_NAME=tf2rue.zip |
ARG TF2RUE_PLUGIN_VERSION=v0.0.9 |
ARG TF2RUE_PLUGIN_URL=https://github.com/sapphonie/tf2rue/releases/download/v0.0.9/tf2rue.zip |
RUN |15 SOAP_DM_PLUGIN_FILE_NAME=soap.zip SOAP_DM_PLUGIN_VERSION=4.4.6 SOAP_DM_PLUGIN_URL=https://github.com/sapphonie/SOAP-TF2DM/releases/download/v4.4.6/soap.zip COMP_FIXES_PLUGIN_FILE_NAME=tf2-comp-fixes.zip COMP_FIXES_PLUGIN_VERSION=1.16.14 COMP_FIXES_PLUGIN_URL=https://github.com/ldesgoui/tf2-comp-fixes/releases/download/v1.16.14/tf2-comp-fixes.zip CLASS_RESTRICT_PLUGIN_FILE_NAME=classrestrict.smx CLASS_RESTRICT_PLUGIN_URL=https://www.sourcemod.net/vbcompiler.php?file_id=27957 AFK_MANAGER_PLUGIN_FILE_NAME=afk_manager4.smx AFK_MANAGER_PLUGIN_URL=https://www.sourcemod.net/vbcompiler.php?file_id=170330 SOURCEBANS_PLUGIN_FILE_NAME=sourcebans-pp-1.6.4.plugin-only.tar.gz SOURCEBANS_PLUGIN_URL=https://github.com/sbpp/sourcebans-pp/releases/download/1.6.4/sourcebans-pp-1.6.4.plugin-only.tar.gz TF2RUE_PLUGIN_FILE_NAME=tf2rue.zip TF2RUE_PLUGIN_VERSION=v0.0.9 TF2RUE_PLUGIN_URL=https://github.com/sapphonie/tf2rue/releases/download/v0.0.9/tf2rue.zip /bin/bash -o pipefail -c wget -nv "${SOAP_DM_PLUGIN_URL}" "${COMP_FIXES_PLUGIN_URL}" "${SOURCEBANS_PLUGIN_URL}" "${TF2RUE_PLUGIN_URL}" && wget -nv "${CLASS_RESTRICT_PLUGIN_URL}" -O "${CLASS_RESTRICT_PLUGIN_FILE_NAME}" && wget -nv "${AFK_MANAGER_PLUGIN_URL}" -O "${AFK_MANAGER_PLUGIN_FILE_NAME}" && md5sum -c checksum.md5 && unzip -q "${SOAP_DM_PLUGIN_FILE_NAME}" -d "${SERVER_DIR}/tf/" && unzip -q -o "${COMP_FIXES_PLUGIN_FILE_NAME}" -d "${SERVER_DIR}/tf/" && unzip -q -n "${TF2RUE_PLUGIN_FILE_NAME}" -d "${SERVER_DIR}/tf/addons/sourcemod/" && mv "${CLASS_RESTRICT_PLUGIN_FILE_NAME}" "${SERVER_DIR}/tf/addons/sourcemod/plugins/${CLASS_RESTRICT_PLUGIN_FILE_NAME}" && mv "${AFK_MANAGER_PLUGIN_FILE_NAME}" "${SERVER_DIR}/tf/addons/sourcemod/plugins/${AFK_MANAGER_PLUGIN_FILE_NAME}" && tar xf "${SOURCEBANS_PLUGIN_FILE_NAME}" -C "${SERVER_DIR}/tf" && rm "${SOAP_DM_PLUGIN_FILE_NAME}" "${COMP_FIXES_PLUGIN_FILE_NAME}" "${SOURCEBANS_PLUGIN_FILE_NAME}" "${TF2RUE_PLUGIN_FILE_NAME}" && rm "checksum.md5" && rm "${SERVER_DIR}/tf/addons/sourcemod/plugins/"{funcommands,funvotes}.smx # 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 |
RUN /bin/bash -o pipefail -c 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.1.6/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 && 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/" && 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" # 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"] |