2018-04-18 20:14:52 +00:00
|
|
|
FROM ubuntu
|
|
|
|
|
|
|
|
RUN dpkg --add-architecture i386 && \
|
|
|
|
apt-get update && \
|
2018-04-28 04:53:47 +00:00
|
|
|
apt-get -y install wget lib32gcc1 lib32stdc++6 libcurl3 unzip liblz4-tool libcurl3:i386 gcc-multilib g++-multilib
|
2018-04-18 20:14:52 +00:00
|
|
|
|
2018-04-28 04:53:47 +00:00
|
|
|
# Accept ToS
|
2018-04-18 20:14:52 +00:00
|
|
|
RUN printf "\n2\n"|apt-get install -y steamcmd
|
|
|
|
|
|
|
|
RUN useradd -m steam
|
|
|
|
|
|
|
|
USER steam
|
|
|
|
WORKDIR /home/steam
|
|
|
|
|
|
|
|
RUN mkdir -p /home/steam/hlds/steamapps/
|
|
|
|
|
|
|
|
# Run app validate several times workaround HLDS bug
|
|
|
|
RUN /usr/games/steamcmd +login anonymous +force_install_dir /home/steam/hlds +app_set_config 90 mod valve +app_update 90 validate +app_update 90 +quit
|
|
|
|
|
|
|
|
# HLDS bug workaround. Whee.
|
|
|
|
COPY --chown=steam files/*.acf /home/steam/hlds/steamapps/
|
|
|
|
|
|
|
|
# HLDS bug workaround. Geez.
|
|
|
|
RUN printf "quit\nquit\n"|/usr/games/steamcmd +login anonymous +force_install_dir /home/steam/hlds +app_set_config 90 mod valve +app_update 90 validate || echo
|
|
|
|
RUN printf "quit\nquit\n"|/usr/games/steamcmd +login anonymous +force_install_dir /home/steam/hlds +app_set_config 90 mod valve +app_update 90 validate || echo
|
|
|
|
RUN printf "quit\nquit\nquit\nquit\nquit\n" |/usr/games/steamcmd +login anonymous +force_install_dir /home/steam/hlds +app_set_config 90 mod valve +app_update 90 validate || echo
|
|
|
|
|
|
|
|
# HLDS bug workaround. Yay.
|
|
|
|
RUN mkdir -p ~/.steam/sdk32 && ln -s ~/.steam/steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so
|
|
|
|
|
|
|
|
WORKDIR /home/steam/hlds
|
|
|
|
|
2018-04-28 04:53:47 +00:00
|
|
|
# Install NS
|
2018-04-18 20:14:52 +00:00
|
|
|
RUN wget 'https://www.ensl.org/files/server/ns_dedicated_server_v32.zip'
|
|
|
|
COPY --chown=steam files/ns.sha /home/steam/hlds
|
|
|
|
# RUN sha256sum -c ns.sha
|
|
|
|
RUN unzip ns_dedicated_server_v32.zip
|
|
|
|
|
2018-04-28 04:53:47 +00:00
|
|
|
WORKDIR /home/steam/hlds/ns
|
2018-04-18 20:14:52 +00:00
|
|
|
|
2018-04-28 04:53:47 +00:00
|
|
|
# NS workarounds
|
|
|
|
RUN echo 70 > steam_appid.txt
|
|
|
|
RUN mv dlls/ns_i386.so dlls/ns.so
|
|
|
|
|
|
|
|
# ENSL package
|
|
|
|
RUN cp liblist.gam liblist.bak
|
|
|
|
RUN wget https://github.com/ENSL/ensl-plugin/releases/download/v1.4/ensl_srvpkg-v1.4.zip -O srv.zip
|
|
|
|
RUN unzip -o srv.zip
|
2018-04-18 20:21:56 +00:00
|
|
|
|
|
|
|
# Use seperate server.cfg because autoexec.cfg is unreliable
|
|
|
|
RUN touch /home/steam/hlds/ns/server.cfg
|
|
|
|
|
2018-04-28 04:53:47 +00:00
|
|
|
# Copy own configs including bans
|
|
|
|
ADD overlay /home/steam/hlds/ns/
|
2018-04-18 21:01:53 +00:00
|
|
|
COPY entry.sh /home/steam/hlds
|
2018-04-28 04:53:47 +00:00
|
|
|
RUN chown -R steam:steam /home/steam
|
2018-04-23 22:20:00 +00:00
|
|
|
|
|
|
|
WORKDIR /home/steam/hlds
|
|
|
|
|
2018-04-18 20:14:52 +00:00
|
|
|
# VAC, HLDS, RCON, HLTV
|
|
|
|
EXPOSE 26900
|
2018-04-23 22:20:00 +00:00
|
|
|
EXPOSE 27016/udp
|
|
|
|
EXPOSE 27016
|
2018-04-18 20:14:52 +00:00
|
|
|
EXPOSE 27020
|
|
|
|
|
2018-04-18 21:01:53 +00:00
|
|
|
ENTRYPOINT ["./entry.sh"]
|