How to Create Custom Ranks on Your SCP: Secret Laboratory Server ​
Besides the default roles owner, admin and moderator, you can create as many custom roles as you like in the config_remoteadmin.txt file, e.g. a vip rank that only shows a badge or a supporter rank with selected Remote Admin rights. For each role you set the badge, color and kick power, and the permissions decide what its members are allowed to do. In the file, a rank is called a role – both mean the same thing.
The guide Assign Ranks shows you how to give players a rank. You can find the basics of editing the configuration files in the guide Edit Config Files.
Warning
The path to the configuration file contains the Game Port of your server: /.config/SCP Secret Laboratory/config/<Port>/config_remoteadmin.txt. Replace <Port> with the actual Game Port of your server. You can find the Game Port in the dashboard under Overview.
Create a custom role ​
Find out the Game Port
Open the dashboard of your server and note the Game Port shown under Overview.Stop the server
Stop your server via the dashboard.Connect via SFTP
Connect to your server via SFTP.Open the configuration file
Open the following file – replace<Port>with your Game Port:/.config/SCP Secret Laboratory/config/<Port>/config_remoteadmin.txtDefine the role
Find the entries of the default roles (owner_badge,admin_badge,moderator_badge…). Add a block for your own role below them. The role name comes in front of every key, here usingsupporteras an example:supporter_badge: SUPPORTER supporter_color: cyan supporter_cover: true supporter_hidden: false supporter_kick_power: 0 supporter_required_kick_power: 1Use a short role name without spaces, e.g.
supporterorvip. You can find what each key means in the section The settings of a role.Add the role to the role list
Find theRoles:section and add your role using the same notation as the existing entries:Roles: - owner - admin - moderator - supporterThe server only reads roles that are in this list.
Grant permissions
Find thePermissions:section and add your role inside the square brackets of every permission it should get. More on this in the section Assign permissions.Assign members
Add the players to theMembers:section with the name of your new role, e.g.:Members: - 76561198000000001@steam: supporterMake sure there is a space before and after the dash. You can find all details in the guide Assign Ranks.
Start the server
Save the file and start your server via the dashboard.
Important
The role name must be spelled exactly the same everywhere: in front of every key (supporter_badge …), in the Roles: list, in the permissions and for the members. Also keep the indentation and dashes the same as in the existing entries and always separate roles inside the square brackets with a comma and a space. Even a single typo means the server will not load the role properly.
The settings of a role ​
| Key | Meaning |
|---|---|
<role>_badge | Text of the badge shown in-game, e.g. SUPPORTER |
<role>_color | Color of the badge from a fixed list (see below); none disables the badge |
<role>_cover | true: The server badge is more important than a global badge and covers it |
<role>_hidden | true: The badge is hidden by default |
<role>_kick_power | Kick power of the role for kicking and banning, from 0 to 255 |
<role>_required_kick_power | Kick power someone needs to kick or ban members of this role, from 0 to 255 |
For comparison, the default values: owner has a kick power of 255 and a required kick power of 255, admin has 1 and 2, moderator has 0 and 1.
Allowed colors ​
You can use e.g. the following color names for <role>_color:
pink, red, default, brown, silver, light_green, crimson, cyan, aqua,
deep_pink, tomato, yellow, magenta, blue_green, orange, lime, green,
emerald, carmine, nickel, mint, army_green, pumpkinUse none to hide the badge completely.
Note
Some colors are reserved for global badges and cannot be used for server roles. It is therefore best to use the color names from the list above.
Assign permissions ​
In the Permissions: section every permission is on its own line, followed by the roles that have it in square brackets. To give a role a permission, add its name to the matching line:
- KickingAndShortTermBanning: [owner, admin, moderator, supporter]The game knows these permissions:
KickingAndShortTermBanning, BanningUpToDay, LongTermBanning,
ForceclassSelf, ForceclassToSpectator, ForceclassWithoutRestrictions,
GivingItems, WarheadEvents, RespawnEvents, RoundEvents, SetGroup,
GameplayData, Overwatch, FacilityManagement, PlayersManagement,
PermissionsManagement, ServerConsoleCommands, ViewHiddenBadges,
ServerConfigs, Broadcasting, PlayerSensitiveDataAccess, Noclip,
AFKImmunity, AdminChat, ViewHiddenGlobalBadges, Announcer, Effects,
FriendlyFireDetectorImmunity, FriendlyFireDetectorTempDisable,
ServerLogLiveFeed, ExecuteAs, VanishIf one of these lines is missing from your file, add it in the same format, e.g. - Vanish: [owner].
An overview of some important permissions:
| Permission | Allows |
|---|---|
KickingAndShortTermBanning | Kicking and short bans (1 hour) |
BanningUpToDay | Bans of up to one day, muting and intercom restrictions |
LongTermBanning | Bans longer than one day and the unban command |
ForceclassSelf | Assigning a class to yourself |
ForceclassToSpectator | Turning other players into spectators only |
ForceclassWithoutRestrictions | Assigning any class to other players |
GivingItems | Giving items to players |
Broadcasting | Sending broadcast messages |
SetGroup | Using the setgroup command |
AdminChat | Using the admin chat |
ViewHiddenBadges | Seeing hidden server badges |
Warning
Only give permissions such as SetGroup, PermissionsManagement, ServerConfigs or ServerConsoleCommands to people you fully trust. In the default configuration only owner has these rights, and ServerConsoleCommands has no role at all.
Example: VIP and supporter rank ​
Example
A vip rank should only show a badge and have no rights. A supporter rank should be able to kick players, ban them briefly, assign a class to themselves and use the admin chat.
The role definitions:
vip_badge: VIP
vip_color: yellow
vip_cover: false
vip_hidden: false
vip_kick_power: 0
vip_required_kick_power: 0
supporter_badge: SUPPORTER
supporter_color: cyan
supporter_cover: true
supporter_hidden: false
supporter_kick_power: 0
supporter_required_kick_power: 1The role list:
Roles:
- owner
- admin
- moderator
- supporter
- vipThe changed lines in the Permissions: section. The vip rank does not appear here, so it has no rights:
- KickingAndShortTermBanning: [owner, admin, moderator, supporter]
- ForceclassSelf: [owner, admin, moderator, supporter]
- AdminChat: [owner, admin, moderator, supporter]Leave all other lines unchanged.
Hidden badges ​
If <role>_hidden is set to true, a player's badge is invisible at first. The player then gets a notice in the game console that their role has been granted but is hidden.
Every player with a rank can show and hide their badge themselves. To do so, they enter one of these commands in the game console or in the text-based Remote Admin console:
| Command | Effect |
|---|---|
showtag | Shows your own server badge |
hidetag | Hides your own server badge |
Tip
Hidden badges are useful e.g. for staff members who want to play unrecognized. Roles with the ViewHiddenBadges permission still see hidden badges.
Apply changes ​
The most reliable way to apply changes to config_remoteadmin.txt is to restart the server via the dashboard.
Alternatively, you can reload the file without a restart:
Reload the permissions file
Enter the following command in the console of the dashboard:/pm reloadFind the player ID
If a player is currently online and should get their new role right away, enterplayersin the console. You get a list of all players in the format- Name: UserID [PlayerID].Set the role for online players
Enter/setgroup, the player ID and the name of the role, e.g.:/setgroup 2 supporterWithout this command, the player only gets their new role in the next round.
Note
In the console of the dashboard, put a / in front of Remote Admin commands. Leave it out in the text-based Remote Admin console in-game. More on this in the guides Use Remote Admin and Use Console Commands.