Roles and permissions in SCP: Secret Laboratory
Make a player an admin, create your own role with a badge and set what each role can do in Remote Admin.
Roles in SCP: Secret Laboratory decide who can use the Remote Admin panel and what they can do in it, such as kicking, banning or giving items. A player with a role also shows its badge, such as ADMIN. You set everything up in one file.
The client panel is available in Polish only, so this article gives its labels in Polish with a translation the first time they appear.
Where roles are
In the Pliki (Files) tab, open the folder .config/SCP Secret Laboratory/config/<port>, where <port> is the server port from the Przegląd (Overview) tab, and click config_remoteadmin.txt. The file has three parts, which this article covers:
Members: who has which role,- role settings and the
Roleslist: names, badges and kick power, Permissions: what each role can do.
After every change, click Zapisz plik (Save file) and restart the server, because the file is read at startup.
Giving a player a role
You add a player by their account ID. For a Steam account, that's the SteamID64: a 17-digit number starting with 7656119.
Where to get the SteamID64
The name in the game isn't enough, because many players can share it. Ask the player for their Steam profile link: in Steam, click the account name at the top, choose Profile, right-click an empty part of the page and choose Copy Page URL.
- If the link looks like
https://steamcommunity.com/profiles/76561198000000000, the SteamID64 is the number at the end. - If it looks like
https://steamcommunity.com/id/steve, the player has set a custom profile name. Paste the link below and the SteamID64 is found for you.
The finder also accepts older formats, such as STEAM_0:1:12345 or [U:1:24691], and gives you a ready entry for the Members section.
The entry in the file
In the Members section, replace the sample entries with real ones. Each player is a separate line in the format ID@steam: role:
Members:
- SomeSteamId64@steam: owner
- 76561198000000000@steam: owner
- SomeOtherSteamId64@steam: admin
- 76561198000000001@steam: adminFor a Discord account, enter ID@discord. To copy the ID, turn on Developer Mode in Discord under Settings → Advanced, then right-click the player and choose Copy User ID. Keep only entries with real IDs and delete the sample ones.
In the game, open the Remote Admin panel with M.
Default roles
The server comes with three roles:
| Role | Badge | What it can do |
|---|---|---|
owner | SERVER OWNER | everything, including giving roles and changing the server configuration |
admin | ADMIN | almost everything except managing roles, such as long bans and giving items |
moderator | MODERATOR | kicks and bans of up to one day, round management, Overwatch |
Your own role
The easiest way is the builder: set the name, badge and permissions, and you get the lines to paste into config_remoteadmin.txt. The Like moderator and Like admin buttons tick those roles' permissions and kick power, so you can start from one and untick what you don't want.
Lowercase letters, digits and underscores, such as helper.
An empty field turns the badge off.
kick_power
required_kick_power
One per line or comma-separated. Optional.
1. Role settings: add before the #And add them to the roles list line
helper_badge: HELPERhelper_color: silverhelper_cover: truehelper_hidden: falsehelper_kick_power: 0helper_required_kick_power: 12. Add at the end of the Roles list
- helper3. Replace these lines in the Permissions section
- KickingAndShortTermBanning: [owner, admin, moderator, helper] - AdminChat: [owner, admin, moderator, helper]Below is the same thing step by step, using a helper role with the HELPER badge as the example.
Role settings
Below the existing roles, before the #And add them to the roles list line, add the new role's settings. Each line starts with the role name.
helper_badge: HELPER
helper_color: silver
helper_cover: true
helper_hidden: false
helper_kick_power: 0
helper_required_kick_power: 1badge: the badge text. For a role with no badge, setcolortonone.color: the badge colour, such asredorsilver.cover:truemakes the server badge cover the player's global badge.hidden:truehides the badge until the player shows it.kick_power: the power for kicking and banning, from 0 to 255.required_kick_power: the power someone needs to kick or ban a player with this role.
A player can kick another only if their kick_power is at least the required_kick_power of the other player's role. This way a moderator can't ban an admin.
Roles list
Add the role name to the Roles list:
Roles:
- owner
- admin
- moderator
- helperRole permissions
In the Permissions section, add the role to every permission it should have. Without this, the role has a badge but can't do anything in Remote Admin.
Permissions:
- KickingAndShortTermBanning: [owner, admin, moderator]
- KickingAndShortTermBanning: [owner, admin, moderator, helper]
- AdminChat: [owner, admin, moderator]
- AdminChat: [owner, admin, moderator, helper] Finally, add players with the new role in the Members section, such as 76561198000000002@steam: helper, save the file and restart the server.
Key permissions
The SCP: Secret Laboratory wiki (opens in a new tab) has the full list with descriptions. The ones changed most often are:
| Permission | What it allows |
|---|---|
KickingAndShortTermBanning | kicks and short bans |
BanningUpToDay | bans of up to one day |
LongTermBanning | longer bans |
ForceclassWithoutRestrictions | changing any player's class |
GivingItems | giving items |
RoundEvents | starting and restarting the round |
Broadcasting | messages on every player's screen |
AdminChat | the staff chat |
Noclip | flying through walls |
SetGroup | giving roles in the game |
PermissionsManagement | managing permissions |
ServerConfigs | changing the server configuration in game |
EXILED plugin permissions
On a server with EXILED, plugins have separate permissions, in the .config/EXILED/Configs/permissions.yml file. Its groups have the same names as the roles in config_remoteadmin.txt, so a player with the admin role gets the admin group's permissions.
admin:
inheritance:
- moderator
permissions:
- testplugin.adminpermissions: plugin permissions. Their names are in the plugin's description, and.*gives all of them.inheritance: groups whose permissions the role inherits. Here,adminalso has everythingmoderatorhas.default: true: the group every player without a role gets. In the default file, that'suser.
Add your own role, such as helper, as a new group with the same name.
Common problems
A player doesn't have the role after the file change
Restart the server, because the file is read at startup. Also check that the ID has 17 digits
and ends with @steam, and that the line starts with a space and a dash like the others.
A role has a badge but can't do anything in Remote Admin
The role isn't added to any permission in the Permissions section. Add it to the permissions
it should have.
A moderator can't ban a player
Their kick_power is lower than the required_kick_power of that player's role. Raise the
moderator role's kick_power or lower the player role's required_kick_power.