Deploy SCP: Secret Laboratory ServerMod Game Servers

LinuxGSM is the command-line tool for quick, simple deployment and management of Linux dedicated game servers.

SCP: Secret Laboratory ServerMod Logo

Compatibility

SCP: Secret Laboratory ServerMod will run on popular distros as long as the minimum requirements are met.

Server

For consistant uptime it is recomended you host a server in a data center. If you dont already have a server, you can rent a dedicated or vitual server from one of our sponsored providers, OVHCloud, Linode, Vultr.

Minimum Recommended Distros

Other Distros

Although not tested, any distro with tmux => 1.6 and glibc => 2.27 should also be compatible with SCP: Secret Laboratory ServerMod servers. For distros not listed above LinuxGSM does not check dependencies and should be manually checked.

Game Server Binary

Only 64-Bit game server binary is available.

SteamCMD

SteamCMD by Valve is used to install and update this game server.

steamdb icon SteamDB

Steam uses appid 996560.
Update history is available from SteamDB.

Dependencies

Before installing, you must ensure you have all the dependencies required to run scpslsmserver.

These intructions also cover other RHEL derivatives such as AlmaLinux and Rocky Linux.

Ubuntu 20.04

Ubuntu Icon
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat lib32gcc1 lib32stdc++6 libsdl2-2.0-0:i386 steamcmd mono-complete

Ubuntu 22.04 and above

Ubuntu Icon
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat lib32gcc-s1 lib32stdc++6 libsdl2-2.0-0:i386 steamcmd mono-complete

Debian 10

Debian Icon
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat lib32gcc1 lib32stdc++6 mono-complete
Debian 11 and above
Debian Icon
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat lib32gcc-s1 lib32stdc++6 mono-complete

EPEL is required to install some dependencies needed for using LinuxGSM on CentOS.

yum install epel-release

CentOS 64-bit

CentOS Icon
yum install curl wget tar bzip2 gzip unzip python3 binutils bc jq tmux glibc.i686 libstdc++ libstdc++.i686 mono-complete

Gamedig

GameDig is a recommended additional module that allows LinuxGSM to gather more info from the game server such as current map and connected players to be displayed in details and in logs. It also replaces the default LinuxGSM query module in monitor. To install GameDig follow the steps in the LinuxGSM documentation.

Install Dependencies Using LinuxGSM

It is possible for LinuxGSM to install dependencies either by having the scpslsmserver user account with sudo access or running the installer as root.

user with sudo access

During the installation if the game server user has sudo permissions LinuxGSM will attempt to install any missing dependencies itself.

root user

if scpslsmserver is already installed run ./scpslsmserver install as root and LinuxGSM will automatically install missing dependencies.

Install

From the command-line do the following. Ensuring you have also installed the required dependencies.

1. Create a user and login.
adduser scpslsmserver
For security best practice, ensure you set a strong password. Random password:
su - scpslsmserver
2. Download linuxgsm.sh.
curl -Lo linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh scpslsmserver
3. Run the installer following the on-screen instructions.
./scpslsmserver install

Basic Usage

All Commands

A complete list of commands can be found by typing.
./scpslsmserver
Below are the most common commands available.

Running

start

./scpslsmserver start

stop

./scpslsmserver stop

restart

./scpslsmserver restart

console

Console allows you to view the live console of a server as it is running and allow you to enter commands; if supported.
./scpslsmserver console
To exit the console press CTRL+b d. Pressing CTRL+c will terminate the server.

Updating

update

Update checks for any server updates and applies them. The server will update and restart only if required.
./scpslsmserver update
Bypass the check and go straight to SteamCMD update.
./scpslsmserver force-update

validate

You can use the SteamCMD validate option when updating the server.
./scpslsmserver validate

Debugging

Details

You can get all important and useful details about the server such as passwords, ports, config files etc.

./scpslsmserver details

Debug

Use debug mode to help you if you are having issues with the server. Debug allows you to see the output of the server directly to your terminal allowing you to diagnose any problems the server might be having.

./scpslsmserver debug

Logs

Server logs are available to monitor and diagnose your server. Script, console and game server (if available) logs are created for the server.

/home/scpslsmserver/logs

Backup

Backup will allow you to create a complete tar bzip2 archive of the whole server.

./scpslsmserver backup

Monitor

LinuxGSM can monitor the game server by checking that the proccess is running and querying it. Should the server go offline LinuxGSM can restart the server and send you an alert. You can use cronjobs to setup monitoring.

./scpslsmserver monitor

Configure LinuxGSM

For details on how to alter LinuxGSM settings visit LinuxGSM Config Files page.

Documentation

For detailed documentation visit the LinuxGSM docs.

Cronjobs

To automate LinuxGSM you can set scheduled tasks using cronjobs, to run any command at any given time. You can edit the crontab using the following.

crontab -e

Below are the recommended cron tasks.

*/5 * * * * /home/scpslsmserver/scpslsmserver monitor > /dev/null 2>&1
*/30 * * * * /home/scpslsmserver/scpslsmserver update > /dev/null 2>&1
0 0 * * 0 /home/scpslsmserver/scpslsmserver update-lgsm > /dev/null 2>&1

Configure LinuxGSM

For details on how to alter LinuxGSM settings visit LinuxGSM Config Files page.

Documentation

For detailed documentation visit the LinuxGSM docs.