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 palworld
RUN mkdir -p /home/palworld/.steam && chown -R palworld:palworld /home/palworld /opt/server

USER palworld

WORKDIR /opt/server
RUN steamcmd +force_install_dir /opt/server +login anonymous +force_install_dir /opt/server +app_update 2394010 validate +quit

RUN ln -s $HOME/.local/share/Steam/steamcmd/linux32 /home/palworld/.steam/sdk32 \
 && ln -s $HOME/.local/share/Steam/steamcmd/linux64 /home/palworld/.steam/sdk64 \
 && ln -s $HOME/.steam/sdk32/steamclient.so /home/palworld/.steam/sdk32/steamservice.so \
 && ln -s $HOME/.steam/sdk64/steamclient.so /home/palworld/.steam/sdk64/steamservice.so
ENTRYPOINT [ "/opt/server/PalServer.sh"]
EXPOSE 8211/udp
LABEL type=GAME
