FROM joedwards32/cs2:latest

ARG METAMOD_VERSION=2.0
ARG METAMOD_BUILD=1389
ARG CSS_VERSION=1.0.363
ARG MATCHZY_VERSION=0.8.15

ENV CS2_DIR=/home/steam/cs2-dedicated
ENV CSGO_DIR=${CS2_DIR}/game/csgo

USER root

RUN apt-get update && \
    apt-get install -y --no-install-recommends curl unzip ca-certificates && \
    rm -rf /var/lib/apt/lists/*

RUN mkdir -p ${CSGO_DIR}/addons

RUN curl -fSL "https://mms.alliedmods.net/mmsdrop/${METAMOD_VERSION}/mmsource-${METAMOD_VERSION}.0-git${METAMOD_BUILD}-linux.tar.gz" \
        -o /tmp/metamod.tar.gz && \
    tar -xzf /tmp/metamod.tar.gz -C ${CSGO_DIR} && \
    rm /tmp/metamod.tar.gz

RUN curl -fSL "https://github.com/roflmuffin/CounterStrikeSharp/releases/download/v${CSS_VERSION}/counterstrikesharp-with-runtime-linux-${CSS_VERSION}.zip" \
        -o /tmp/css.zip && \
    unzip -o /tmp/css.zip -d ${CSGO_DIR} && \
    rm /tmp/css.zip

# Standalone MatchZy, not the -with-cssharp bundle, since CSS is installed above.
RUN curl -fSL "https://github.com/shobhit-pathak/MatchZy/releases/download/${MATCHZY_VERSION}/MatchZy-${MATCHZY_VERSION}.zip" \
        -o /tmp/matchzy.zip && \
    unzip -o /tmp/matchzy.zip -d ${CSGO_DIR} && \
    rm /tmp/matchzy.zip

COPY addons/metamod.vdf ${CSGO_DIR}/addons/metamod.vdf
COPY cfg/MatchZy/ ${CSGO_DIR}/cfg/MatchZy/
COPY scripts/entrypoint-override.sh /home/steam/entrypoint-override.sh
RUN chmod +x /home/steam/entrypoint-override.sh

# Register Metamod with the engine.
RUN if [ -f ${CSGO_DIR}/gameinfo.gi ]; then \
        sed -i '/Game_LowViolence/a\\t\t\tGame\tcsgo/addons/metamod' ${CSGO_DIR}/gameinfo.gi; \
    fi

RUN chown -R steam:steam ${CSGO_DIR}/addons ${CSGO_DIR}/cfg /home/steam/entrypoint-override.sh

USER steam
