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.
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.txt -
Define 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.
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, pumpkin
Use none to hide the badge completely.
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, Vanish
If 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 |
Example: VIP and supporter rank
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: 1
The role list:
Roles:
- owner
- admin
- moderator
- supporter
- vip
The 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 |
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 reload -
Find 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.
