Egg for SCP: Secret Laboratory Dedicated Linux Server with Exiled Plugin Framework - https://github.com/ExSLMod-Team/EXILED
SCP: Secret Laboratory Pterodactyl egg with Exiled Plugin Framework https://github.com/ExSLMod-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 |
---|---|
Mono - Latest | ghcr.io/ptero-eggs/yolks:mono_latest |
Name | Description | Environment Variable | Default Value | User Viewable | User Editable |
---|---|---|---|---|---|
Exiled Version | Exiled version to install. "latest" will install the latest release of Exiled. | EXILED_VERSION | latest | Yes | Yes |
Exiled Pre-Releases | If Exiled Version is set to latest, this will cause it to include pre-release versions. This is not required to be on when setting a specific Exiled version | EXILED_PRE_RELEASES | 0 | Yes | Yes |
SRCDS_APPID | Steam AppID to install | SRCDS_APPID | 996560 | No | No |
Beta Branch | Installs beta branch from steam if specified. Requires a reinstall to switch branches properly. | SRCDS_BETAID | Yes | Yes | |
Dotnet Bundle | For EXILED Framework Updater. | DOTNET_BUNDLE_EXTRACT_BASE_DIR | ./dotnet-bundle | No | No |
#!/bin/bash
# steamcmd Base Installation Script
#
# Server Files: /mnt/server
## 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
# Download Exiled installer
curl -L -o /tmp/Exiled.Installer-Linux https://github.com/ExSLMod-Team/EXILED/releases/latest/download/Exiled.Installer-Linux
chmod +x /tmp/Exiled.Installer-Linux
# Run Exiled installer
if [[ -n $EXILED_VERSION ]] && [[ "${EXILED_VERSION}" != "latest" ]]; then
echo "Installing Exiled version ${EXILED_VERSION}..."
if [[ "${EXILED_PRE_RELEASES}" == "1" ]]; then
echo "Including Exiled pre-releases"
fi
else
echo "Installing the latest Exiled version..."
EXILED_VERSION=""
fi
# shellcheck disable=SC2046
/tmp/Exiled.Installer-Linux --path /mnt/server/ --appdata /mnt/server/.config --exiled /mnt/server/.config $( [[ "${EXILED_PRE_RELEASES}" == "1" ]] && echo "--pre-releases " || echo "" )$( [[ -n "${EXILED_VERSION}" ]] && echo "--target-version ${EXILED_VERSION} " || echo "" )
echo "Installation complete."