Skip to content

Instantly share code, notes, and snippets.

Created February 2, 2017 00:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/89f4c7596c0a8ee3c47422e63db1a23a to your computer and use it in GitHub Desktop.
Save anonymous/89f4c7596c0a8ee3c47422e63db1a23a to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
ARK_DATA_FOLDER="/data/ark/Steam/steamapps/common/ARK Survival Evolved Dedicated Server/ShooterGame"
cd /data/ark
if [ "${CMDARGS}" == "default" ]; then
CMDARGS="?MapPlayerLocation=True?AllowThirdPersonPlayer=True"
fi
if [ ${RCON} == "true" ]; then
CMDARGS="${CMDARGS}?RCONEnabled=True?RCONPort=32330"
fi
# Get steamcmd
if [ ! -f steamcmd_linux.tar.gz ]; then
echo -e "Grabbing SteamCMD...\n"
wget -q https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xf steamcmd_linux.tar.gz
fi
set -x
# Backup before updating just to be safe
if [ -d ${ARK_DATA_FOLDER}/ShooterGame/Saved ]; then
echo -e "Backing up Saved folder...\n"
if [ ! -d /data/ark/backup/ ]; then
mkdir /data/ark/backup/
fi
tar czf /data/ark/backup/Saved-startup_$(date +%Y-%m-%d_%H-%M).tar.gz ${ARK_DATA_FOLDER}/ShooterGame/Saved
fi
set +x
# Update / install server
echo -e "Updating ARK...\n"
./steamcmd.sh +login anonymous +force_install_dir /data/ark/ +app_update 376030 ${ARKVALIDATE} +quit
# Start ARK - using the SteamCMD path
export LD_LIBRARY_PATH="/data/ark/"
echo -e "Launching ARK Dedicated Server...\n"
"${ARK_DATA_FOLDER}/Binaries/Linux/ShooterGameServer" TheIsland?listen${CMDARGS} -server -log
FROM ubuntu:latest
MAINTAINER Charles Butler "chuck@dasroot.co"
# Starting steam with validate is slow, lets make it an option
ENV CHECKFILES "false"
# Variable to enable RCON, enabled by default
ENV RCON "true"
ENV CMDARGS "default"
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update \
&& apt-get -y install lib32gcc1 wget \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get clean \
&& mkdir -p /data/ark/backup \
&& useradd -d /data/ark -s /bin/bash --uid 1000 ark \
&& chown -R ark: /data/ark
EXPOSE 27015/udp 7778/udp
EXPOSE 32330/tcp
ADD ark.sh /usr/local/bin/ark
USER ark
VOLUME /data/ark
WORKDIR /data/ark
CMD ["ark"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment