SCP: Secret Laboratory Updated May 1, 2026

Running SCP:SL Server as a systemd Service

Configure an SCP:SL dedicated server as a systemd service for automatic startup on boot and crash recovery. Includes a complete unit file for the LocalAdmin launcher.

SCP:SLSCP Secret Laboratorysystemdserviceauto-startLinuxLocalAdmin

SCP:SL Server as a systemd Service

Running LocalAdmin as a systemd service keeps your server running after SSH sessions end and restarts it automatically after crashes.


Prerequisites

Create a dedicated user for the server:

sudo useradd -m -s /bin/bash scpsl
sudo su - scpsl

Install SteamCMD and the server files as this user to /home/scpsl/scpsl/.


Unit File

Create /etc/systemd/system/scpsl.service:

[Unit]
Description=SCP Secret Laboratory Dedicated Server
After=network.target

[Service]
Type=simple
User=scpsl
Group=scpsl
WorkingDirectory=/home/scpsl/scpsl

# Start LocalAdmin on port 7777 in no-screen mode
ExecStart=/home/scpsl/scpsl/LocalAdmin 7777

Restart=on-failure
RestartSec=15
StandardOutput=journal
StandardError=journal
SyslogIdentifier=scpsl

# Allow time for graceful shutdown
TimeoutStopSec=60

[Install]
WantedBy=multi-user.target

Enabling and Starting

sudo systemctl daemon-reload
sudo systemctl enable scpsl
sudo systemctl start scpsl
sudo systemctl status scpsl

Viewing Logs

# Live log stream
sudo journalctl -u scpsl -f

# Last 100 lines
sudo journalctl -u scpsl -n 100

# Filter for errors only
sudo journalctl -u scpsl -p err

Managing the Service

sudo systemctl stop scpsl          # Stop the server
sudo systemctl restart scpsl       # Restart
sudo systemctl status scpsl        # Check status and recent logs

Running Multiple Instances

To run a second server instance on port 7778, create a second service file:

sudo cp /etc/systemd/system/scpsl.service /etc/systemd/system/scpsl-7778.service

Edit scpsl-7778.service, changing:

ExecStart=/home/scpsl/scpsl/LocalAdmin 7778
SyslogIdentifier=scpsl-7778

Then enable and start:

sudo systemctl daemon-reload
sudo systemctl enable scpsl-7778
sudo systemctl start scpsl-7778

Automatic Server Updates

Add a SteamCMD update wrapper before launching LocalAdmin:

# /home/scpsl/start-scpsl.sh
#!/bin/bash
/home/scpsl/steamcmd/steamcmd.sh \
  +force_install_dir /home/scpsl/scpsl \
  +login anonymous \
  +app_update 996560 \
  +quit

exec /home/scpsl/scpsl/LocalAdmin 7777
chmod +x /home/scpsl/start-scpsl.sh

Update ExecStart in the service file:

ExecStart=/home/scpsl/start-scpsl.sh