FROM ubuntu
RUN echo steam steam/question select "I AGREE" | debconf-set-selections \
 && echo steam steam/license note '' | debconf-set-selections
RUN dpkg --add-architecture i386 \
 && apt-get update -y \
 && apt-get install -y steamcmd locales ca-certificates 

 # Add unicode support
ARG DEBIAN_FRONTEND=noninteractive
RUN locale-gen en_US.UTF-8
ENV LANG 'en_US.UTF-8'
ENV LANGUAGE 'en_US:en'

# Create symlink for executable
RUN ln -s /usr/games/steamcmd /usr/bin/steamcmd
RUN mkdir -p /opt/server

RUN useradd garrysmod
RUN mkdir -p /home/garrysmod/.steam && chown -R garrysmod:garrysmod /home/garrysmod /opt/server

USER garrysmod

WORKDIR /opt/server
RUN steamcmd +force_install_dir /opt/server +login anonymous +force_install_dir /opt/server +app_update 4020 validate +quit
EXPOSE 27015/udp

RUN ln -s $HOME/.local/share/Steam/steamcmd/linux32 /home/garrysmod/.steam/sdk32 \
 && ln -s $HOME/.local/share/Steam/steamcmd/linux64 /home/garrysmod/.steam/sdk64 \
 && ln -s $HOME/.steam/sdk32/steamclient.so /home/garrysmod/.steam/sdk32/steamservice.so \
 && ln -s $HOME/.steam/sdk64/steamclient.so /home/garrysmod/.steam/sdk64/steamservice.so
ENTRYPOINT [ "/opt/server/srcds_run", "-console", "-game", "garrysmod" ]
CMD [ "+gamemode", "sandbox", "+map" ,"gm_construct" ,"+maxplayers", "16" ]
LABEL type=GAME
