Repository navigation
Scpslserver
This guide covers the scpslserver module in AlphaGSM.
scpslserver is currently PASSED on the documented Ubuntu 24.04 Linux baseline. The current GitHub integration lane still exercises both process and Docker runtime selection, and the validated Linux lifecycle stays aligned across both backends while local runs remain process-backed by default unless you opt into the Docker backend.
screen- SteamCMD runtime libraries (
lib32gcc-s1,lib32stdc++6) - Python packages from
requirements.txt
Create the server:
alphagsm myscpslser create scpslserverRun setup:
alphagsm myscpslser setupStart it:
alphagsm myscpslser startCheck it:
alphagsm myscpslser statusStop it:
alphagsm myscpslser stopSetup configures:
- the game port (default 7777)
- the query port (default
port + 1) - the install directory
- optional
contactemailfor the public-list contact field - SteamCMD downloads the server files
The canonical gameplay/query settings are managed with set:
alphagsm myscpslser set servername "AlphaGSM SCP:SL Server"
alphagsm myscpslser set queryport 7778
alphagsm myscpslser set rconpassword "changeme"query_port_shift is derived automatically as queryport - port when AlphaGSM writes config_gameplay.txt, so it updates whenever either port changes.
alphagsm myscpslser update
alphagsm myscpslser backup- Module name:
scpslserver - Default port: 7777
- AlphaGSM launches SCP:SL through
LocalAdmin, not by invokingSCPSL.x86_64directly - AlphaGSM seeds
home/.config/SCP Secret Laboratory/inside the server install so the EULA/config wizard stays noninteractive - Query is enabled in the generated gameplay config, and
query_port_shiftis derived from the currentqueryport - port
After create scpslserver, inspect or change these with set:
alphagsm myserver set --list
alphagsm myserver set KEY --describe
alphagsm myserver set KEY VALUE| Key | Aliases | Type | What it does |
|---|---|---|---|
contactemail |
string | The public contact email shown in the server browser. Example: ops@example.com. |
|
queryport |
— | integer | The query port used to derive the SCP:SL query-port shift. Example: 7778. |
rconpassword |
querypassword, query_administrator_password, rconpass | string | The administrator password used by the query/admin surface. Stored as a secret. Example: changeme. |
servername |
hostname, name | string | The server's public name shown to players. Example: AlphaGSM SCP:SL Server. |
-
Executable:
LocalAdmin -
Location:
<install_dir>/LocalAdmin - Engine: Custom (SteamCMD)
-
SteamCMD App ID:
996560
-
Config root:
<install_dir>/home/.config/SCP Secret Laboratory/ -
Gameplay config:
<install_dir>/home/.config/SCP Secret Laboratory/config/<port>/config_gameplay.txt -
Canonical set keys:
servername,contactemail,queryport,rconpassword -
Optional property:
contactemailmaps to SCP:SLcontact_email -
Derived query setting:
queryportmaps to SCP:SLquery_port_shiftviaqueryport - port - Template: See server-templates/scpslserver/ if available
-
Current status: The dedicated server can be launched headlessly on Linux through
LocalAdminonce its EULA/config state is preseeded.
- Map directory: Check game documentation
-
Mod directory:
home/.config/SCP Secret Laboratory/LabAPI/plugins/ -
Dependency directory:
home/.config/SCP Secret Laboratory/LabAPI/dependencies/ - Workshop support: No
AlphaGSM's current SCP:SL plugin support targets the official LabAPI loader that ships with modern dedicated-server builds.
- AlphaGSM stores SCP:SL plugin cache/state under
.alphagsm/mods/scpslserver/. - Current plugin source support is
manifestandurl. -
manifestuses AlphaGSM's checked-in SCP:SL plugin registry. Current built-in families arebetterhelpcommandfor BetterHelpCommand-LabAPI,escapeplanfor EscapePlan, andrespawntimerfor RespawnTimer. -
urlaccepts direct LabAPI plugin.dlldownloads and supported plugin archives. - Archive payloads can already be laid out relative to the LabAPI root with
plugins/anddependencies/, or expose a bare plugin-root.dllthat AlphaGSM stages intoplugins/global/. -
mod cleanupremoves only AlphaGSM-tracked LabAPI plugin files and leaves unrelated manual plugins alone.
EXILED is intentionally out of scope for this first slice because it requires a heavier framework bootstrap and managed-assembly patching than the official LabAPI plugin loader.
alphagsm myscpslser mod add manifest betterhelpcommand
alphagsm myscpslser mod add url https://plugins.example.invalid/ExamplePlugin.dll
alphagsm myscpslser mod apply
alphagsm myscpslser mod cleanup