SCP: Secret Laboratory Pterodactyl egg with Exiled Plugin Framework https://github.com/Exiled-Team/EXILED
Minimum memory required to run the server: 4096 MB
Default port required to run the server.
Port | Default |
---|---|
Game | 7777 |
The server must be verified with the SCP:SL developers in order for it to be visible in the server browser.
Instructions are as follows:
[email protected]
from your configured contact email with the following information:
69.69.69.69:7777
Name | Tag |
---|---|
ghcr.io/ptero-eggs/yolks:mono_latest | ghcr.io/ptero-eggs/yolks:mono_latest |
Name | Description | Environment Variable | Default Value | User Viewable | User Editable |
---|---|---|---|---|---|
SRCDS_APPID | SRCDS_APPID | 996560 | Yes | No | |
Dotnet Bundle | Only used for EXILED Framework Updater. | DOTNET_BUNDLE_EXTRACT_BASE_DIR | ./dotnet-bundle | No | No |
Version | VERSION | latest | Yes | Yes |
#!/bin/bash
# steamcmd Base Installation Script
#
# Server Files: /mnt/server
#apt -y update
#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates
## just in case someone removed the defaults.
if [ "${STEAM_USER}" == "" ]; then
echo -e "steam user is not set.\n"
echo -e "Using anonymous user.\n"
STEAM_USER=anonymous
STEAM_PASS=""
STEAM_AUTH=""
else
echo -e "user set to ${STEAM_USER}"
fi
## download and install steamcmd
cd /tmp
mkdir -p /mnt/server/steamcmd
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd
cd /mnt/server/steamcmd
# SteamCMD fails otherwise for some reason, even running as root.
# This is changed at the end of the install process anyways.
chown -R root:root /mnt
export HOME=/mnt/server
## install game using steamcmd
./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6
## set up 32 bit libraries
mkdir -p /mnt/server/.steam/sdk32
cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so
## set up 64 bit libraries
mkdir -p /mnt/server/.steam/sdk64
cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so
mkdir -p $HOME/.config
# Install Exiled
## get release info and download links
LATEST_JSON=$(curl --silent "https://api.github.com/repos/ExMod-Team/EXILED/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/ExMod-Team/EXILED/releases")
if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i Exiled.tar.gz)
else
VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i Exiled.tar.gz)
else
echo -e "defaulting to latest release"
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)
fi
fi
if [ ! -z "${DOWNLOAD_URL}" ]; then
if curl --output /dev/null --silent --head --fail ${DOWNLOAD_URL}; then
echo -e "link is valid. setting download link to ${DOWNLOAD_URL}"
DOWNLOAD_LINK=${DOWNLOAD_URL}
else
echo -e "link is invalid closing out"
exit 2
fi
fi
curl -sSL -o Exiled.tar.gz ${DOWNLOAD_LINK}
tar -xzvmf Exiled.tar.gz
rm -rf Exiled.tar.gz
cp -r "SCP Secret Laboratory" /mnt/server/.config/
rm -rf "SCP Secret Laboratory"
cp -r EXILED /mnt/server/.config/
rm -rf EXILED
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"