Skip to content

Commit b50a135

Browse files
committed
Added checksum validation for downloaded archives
1 parent d3fca15 commit b50a135

1 file changed

Lines changed: 32 additions & 18 deletions

File tree

‎Dockerfile‎

Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
FROM debian:bookworm-slim AS build
22

3-
ARG HLDS_BUILD=8308
4-
ARG AMXMODX_VERSION=1.9.0-git5294
5-
ARG JK_BOTTI_VERSION=1.43
6-
ARG METAMOD_R_REF=4db16ff6
7-
ARG HLDS_URL="https://github.com/DevilBoy-eXe/hlds/releases/download/$HLDS_BUILD/hlds_build_$HLDS_BUILD.zip"
8-
ARG AMXMODX_URL="https://www.amxmodx.org/amxxdrop/1.9/amxmodx-$AMXMODX_VERSION-base-linux.tar.gz"
9-
ARG JK_BOTTI_URL="http://koti.kapsi.fi/jukivili/web/jk_botti/jk_botti-$JK_BOTTI_VERSION-release.tar.xz"
3+
ARG HLDS_BUILD="8308"
4+
ARG AMXMODX_VERSION="1.9.0-git5294"
5+
ARG JK_BOTTI_VERSION="1.43"
6+
ARG METAMODR_GIT_REF="4db16ff6"
7+
8+
ARG AMXMODX_FILENAME="amxmodx-$AMXMODX_VERSION-base-linux.tar.gz"
9+
ARG AMXMODX_SHA256="b9467a63aa92fc22330c06817d9059c4462abc3ecb50d39538dda21c8f27bd58"
10+
ARG AMXMODX_URL="https://www.amxmodx.org/amxxdrop/1.9/$AMXMODX_FILENAME"
11+
12+
ARG HLDS_FILENAME="hlds_build_$HLDS_BUILD.zip"
13+
ARG HLDS_SHA256="03a1035e6a479ccf0a64e842fe0f0315f1f2f9e0160619127a61ae68cdb37df9"
14+
ARG HLDS_URL="https://github.com/DevilBoy-eXe/hlds/releases/download/$HLDS_BUILD/$HLDS_FILENAME"
15+
16+
ARG JK_BOTTI_FILENAME="jk_botti-$JK_BOTTI_VERSION-release.tar.xz"
17+
ARG JK_BOTTI_SHA256="549fc87ea84d27c448a537662b0c622f8806d5657dd6bc8b6d92241b1d338767"
18+
ARG JK_BOTTI_URL="http://koti.kapsi.fi/jukivili/web/jk_botti/$JK_BOTTI_FILENAME"
1019

1120
RUN groupadd -r xash && useradd -r -g xash -m -d /opt/xash xash
1221
RUN usermod -a -G games xash
@@ -34,11 +43,13 @@ USER xash
3443
WORKDIR /opt/xash
3544
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
3645

46+
# Download & validate HLDS build
3747
RUN mkdir -p /opt/xash/xashds && mkdir -p /opt/xash/xashds/valve \
3848
&& curl -sLJO "$HLDS_URL" \
39-
&& unzip "hlds_build_$HLDS_BUILD.zip" -d "/opt/xash/hlds_build_$HLDS_BUILD" \
49+
&& echo "$HLDS_SHA256 $HLDS_FILENAME" | sha256sum -c - \
50+
&& unzip "$HLDS_FILENAME" -d "/opt/xash/hlds_build_$HLDS_BUILD" \
4051
&& cp -R "hlds_build_$HLDS_BUILD/hlds"/valve/* xashds/valve \
41-
&& rm -rf "hlds_build_$HLDS_BUILD" "hlds_build_$HLDS_BUILD.zip"
52+
&& rm -rf "hlds_build_$HLDS_BUILD" "$HLDS_FILENAME"
4253

4354
# Compiling XashDS from sources
4455
RUN git clone --recursive https://github.com/FWGS/xash3d-fwgs \
@@ -56,7 +67,7 @@ RUN mkdir -p /opt/xash/xashds/valve/addons/metamod/dlls \
5667
# Compiling & installing Metamod-R
5768
RUN git clone --recursive https://github.com/rehlds/Metamod-R.git \
5869
&& cd Metamod-R \
59-
&& git checkout $METAMOD_R_REF \
70+
&& git checkout $METAMODR_GIT_REF \
6071
&& cp metamod/extra/config.ini /opt/xash/xashds/valve/addons/metamod/config.ini \
6172
&& mkdir ./build \
6273
&& cd build \
@@ -70,20 +81,23 @@ RUN git clone --recursive https://github.com/rehlds/Metamod-R.git \
7081
RUN touch /opt/xash/xashds/valve/listip.cfg
7182
RUN touch /opt/xash/xashds/valve/banned.cfg
7283

73-
# Install AMX mod X
74-
RUN curl -sqL "$AMXMODX_URL" | tar -C /opt/xash/xashds/valve/ -zxvf - \
75-
&& echo 'linux addons/amxmodx/dlls/amxmodx_mm_i386.so' >> /opt/xash/xashds/valve/addons/metamod/plugins.ini
84+
# Install AMX Mod X
85+
RUN curl -sLO "$AMXMODX_URL" \
86+
&& echo "$AMXMODX_SHA256 $AMXMODX_FILENAME" | sha256sum -c - \
87+
&& tar -C /opt/xash/xashds/valve/ -zxvf "$AMXMODX_FILENAME" \
88+
&& echo 'linux addons/amxmodx/dlls/amxmodx_mm_i386.so' >> /opt/xash/xashds/valve/addons/metamod/plugins.ini \
89+
&& rm -f "$AMXMODX_FILENAME"
7690
RUN cat /opt/xash/xashds/valve/mapcycle.txt >> /opt/xash/xashds/valve/addons/amxmodx/configs/maps.ini
7791

7892
# Install jk_botti
79-
RUN curl -sqL "$JK_BOTTI_URL" | tar -C /opt/xash/xashds/valve/ -xJ \
93+
RUN curl -sLO "$JK_BOTTI_URL" \
94+
&& echo "$JK_BOTTI_SHA256 $JK_BOTTI_FILENAME" | sha256sum -c - \
95+
&& tar -C /opt/xash/xashds/valve/ -xJf "$JK_BOTTI_FILENAME" \
96+
&& rm -f "$JK_BOTTI_FILENAME" \
8097
&& echo 'linux addons/jk_botti/dlls/jk_botti_mm_i386.so' >> /opt/xash/xashds/valve/addons/metamod/plugins.ini
8198

82-
# Remove cstrike game directory, because it's not needed
83-
WORKDIR /opt/xash/xashds
84-
RUN rm -rf ./cstrike
85-
8699
# Copy default config
100+
WORKDIR /opt/xash/xashds
87101
COPY valve valve
88102

89103
# Second stage, used for running compiled XashDS

0 commit comments

Comments
 (0)