Skip to main content

Gameplay Config Setup

The config_gamepaly.txt file (often simply referred to as the Gameplay Config file) is used to set up many of the core functions of an SCP:SL server.

Main server settings

Main server settings are settings that often need to be changed to allow a dedicated server to be connected to, as well as for Server Verification.

When setting up a server with the intent of having it sit on the Verified Server List, please be certain to fill out the “Server_name”, “sderverinfo_pastebin_id”

Config FieldDescriptionTypeDefault Value
server_nameServer name displayed in the server list.stringMy Server Name
player_list_titleServer name displayed only in the player list.stringdefault (Default makes it use the server_name value for both)
player_list_title_rateThe amount of time (in seconds) between refreshing the title of the player listfloat5
serverinfo_pastebin_idSet pastebin id used for the info tab on the server browser When creating a new file on pastern, the “ID” is contained in your browser’s web address bar. See this page for more infostring7wV681fT
server_ipIP Address of the server used for joining from the server browser.Note: When set to "auto" server will try to get its own public IP address.stringauto
max_playersMax amount of players that can be connected to the server at once.int20
server_tickrateHow many frames per secondshort60
contact_emailContact email address for the server owner or administration. N/A
port_queueWhich ports will be used for connecting through the server. - 7777- 7778- 7779- 7780- 7781- 7782- 7783- 7784
lobby_waiting_timeThe waiting time before the game starts 20
use_reserved_slotsEnable the reserved slots or not true
ipv4_bind_ipSet the IPV4 of the server 0.0.0.0
ipv6_bind_ipSet the IPV6 of the server ::

Misc

Change warhead and intercom timers, friendly fire, etc.

Config Field Description Type Default Value
afk_timeserver_forced_class How many seconds someone can be AFK in their spawn location before being kicked int 90-1
constantly_check_afkmap_seed Set the server map seedint-1
display_preauth_logs

default
rejection_suppression_threshold

default
challenge_issuance_suppression_threshold

default
heavily_modded_server
bool Falsedefault
intercom_cooldowncustom_whitelist Intercom cooldown after use in seconds.
intbool 120false
intercom_max_speech_timeserver_access_restriction Amount of time a player can use the intercom in seconds.int20
auto_round_restart_timeLength of time after the round has ended for the round to restart in seconds.int10
allow_playing_as_tutorialAllows players to play as the tutorial class.
bool true
no_holidaysDisable the holidays and other generation event (like Halloween)bool

false

gban_ban_ipThis will automatically ban IP of players on the server that receives a Global Ban by a Global Moderator (defaults to false)bool

default

custom_gamemode_server if your server is a Custom Gamemode Server according to the definition that can be found in the Verified Server RulesRules. bool

false

server_access_restrictionif you use plugin or modification that restricts access to the server (other than whitelist, eg. password).
This is only to mark the server on the public list as using access restriction
bool

false

custom_whitelistif you use plugin or modification that provides custom whitelist.
This is only to mark the server on the public list as using a whitelist
bool

false

Gameplay

Server main settings

operatesonplayers(Options:DroppedAndPlayerTeleport,Inventory, DroppedAndInventory, Held, DroppedAndHeld, Dropped)
Config FieldDescriptionTypeDefault Value
allow_disarmed_interactionserver_name AllowedServer handcuffed player to interact with door or elevatorname  string falseMy Server Name
sinkhole_slow_amountplayer_list_title HowTitle muchof the sinkhole makes the player slowerplayerlist  string 30default
sinkhole_spawn_chanceplayer_list_title_rate Thehow spawnoften chancetitle of the playerlist is updatedintdefault
serverinfo_pastebin_idPastebin ID for the server description
string7wV681fT
server_ipServer IP that gets sent to spawnthe a sinkhole (0 to disable)serverlist
 string 0.0.0.0
914_modemax_players SetsServer howplayer 914limit int 20
server_tickrate   DroppedAndPlayerTeleportint60
keep_items_after_escapinguse_reserved_slots SetsEnable whenor adisable playerreserved escapes if the old items fall on the groundslots  bool true
096_destroy_locked_doorslobby_waiting_time SetsTime ifon SCPthe 096waiting canfor destroyplayers locked doorsscreen  int truedefault
friendly_fireipv4_bind_ip EnableIPv4 or disable friendly fireaddress for humans.the server to listen on
 string false0.0.0.0
friendly_fire_multiplieripv6_bind_ip IPv6 address for the server to listen on  string 1::
warhead_tminus_start_durationcontact_email CountdownContact timeremail untilfor the warheadverification detonatesteam into seconds.contact (Minimumyou 70, maximum 120)by  string 90
human_grenade_multiplierGrenade damage multiplier for humans. 0.7
scp_grenade_multiplierGrenade damage multiplier for SCPs. 1
lock_gates_on_countdownForces the entrance gates to be open when the warhead is counting down. true
isolate_zones_on_countdownLocks all checkpoints when the warhead is counting down. false
open_doors_on_countdownForces all normal doors and checkpoints to be open when the warhead is counting down. truedefault

Spawning/RNG

Spawn

Change spawn chances, patterns, etc.

settings

Config Field Description Type Default Value
minimum_MTF_time_to_spawn Minimum time it can take from the last wave for a new one to spawn.  int 280
maximum_MTF_time_to_spawn Maximum time it can take from the last wave for a new one to spawn.
 int 350
maximum_MTF_respawn_amount The amount of player who can respawn.
 int 15
maximum_CI_respawn_amount The amount of player who can respawn.
 int 15
priority_mtf_respawn Should MTF be a top priority for a respawn team?
 bool true
use_crypto_rng Enables better randomness for generation by using cryptograhic random number generator (RNG).Note: Cryptograhic RNG uses more CPU to generate numbers.
 bool false
ci_respawn_percentteam_respawn_queue Chance for Chaos Insurgents to spawn in a wave.
 
35default
ci_on_start_percentsmart_class_picker Chance for Chaos Insurgents to spawn at round start (Replaces Facility Guards).
 bool 10
team_respawn_queuePattern in which the classes spawn at round start. 4014314031441404134044434414
server_forced_classForced class on round start. -1 (-1 = random)
map_seedForce single map seed for all rounds. -1 (-1 = random)true

Spawn

Player Tickets

Info Range
Config Field Description Type Default Value
player_info_rangeThis controls the default range that the player information text appears on clients.int10

Respawn ticket system settings

Config FieldDescriptionTypeDefault Value
respawn_tickets_enableEnable or disable the ticket systembooltrue
respawn_tickets_mtf_initial_count The starting count for NTF Respawn Tickets
 
24default
respawn_tickets_ci_initial_count The starting count for Chaos respawn Tickets
 
14default
respawn_tickets_mtf_classd_cuffed_escape_count The amount of tickets MTF get for letting a Disarmed Class D escape
 
1default
respawn_tickets_mtf_scientist_escape_count The amount of tickets MTF get for letting a Scientist Escape
 
1default
respawn_tickets_mtf_scp_hurt_escape_count The amount of tickets MTF get for damaging an SCP
 
1default
respawn_tickets_ci_classd_escape_count The amount of tickets CI get for letting a Class D Escape
 
1default
respawn_tickets_ci_scientist_cuffed_escape_count The amount of tickets CI get for letting a Disarmed Scientist escape
 
2default
respawn_tickets_ci_scientist_died_count The amount of tickets CI get for killing a Scientist
 
1default
respawn_tickets_ci_scp_item_count The amount of tickets CI get when a Class-D or Chaos uses an SCP item
 
2default
respawn_tickets_mtf_scp_hurt_intervarespawn_tickets_mtf_scp_hurt_interval The percentage of health an SCP must lose to trigger the 'scp_hurt' tickets.
 
25default

Stamina

Config Field Description Type Default Value
stamina_balance_use The amountpercentage of stamina thatused per second while sprinting.
Stamina is drainedcurrently fromonly running.utilized on humans.
0 to disable, but this *will* cause weirdness with status effects and other mechanics, so we recommend keeping it on!
 double 0.05
stamina_balance_immunity The time (in seconds) that newly-spawned players can sprint without consuming stamina. Used to reduce visual artifacts.
We recommend to put it at least 2 seconds
 int 3
stamina_balance_regen_cd The seconds that must pass before stamina starts regenerating after the player stops sprinting.
Lower values are more liekly to be exploited by players
Higher higher can be annoying to players.
 int 1
stamina_balance_regen_speed How fast the stamina regeneratesregenerates.
This multiplier.is a multiplier for the default setting,
which is based on a curve - not a specific value.
 int 1
stamina_balance_walk_speed Multiplier for human walk speed.
Default speed before multiplier is 4.5 m/s.
 double 1.2
stamina_balance_sprint_speed Multiplier for human sprint speed.
Default speed before multiplier is 7 m/s.
 double 1.05

Pocket

Misc Dimension

gameplay

Change exit counts, exit rooms, etc.

settings
Config Field Description Type Default Value
intercom_cooldowntime before intercom becomes available againint120
intercom_max_speech_time
int20
auto_round_restart_time
int10
friendly_fire
boolfalse
friendly_fire_multiplier
double0.4
warhead_tminus_start_duration
int90
lock_gates_on_countdown
booltrue
isolate_zones_on_countdown
boolfalse
open_doors_on_countdown
booltrue
keep_items_after_escaping
booltrue
allow_playing_as_tutorial
booltrue
disable_decontamination
boolfalse
096_destroy_locked_doors
booltrue
no_holidays
boolfalse
allow_disarmed_interaction
boolfalse
914_mode

DroppedAndHeld/Inventory/DroppedAndInventory/Held/DroppedAndHeld/Dropped

Stringdefault
sinkhole_slow_amount
int30
sinkhole_spawn_chance
int0
disconnect_drop
booltrue
end_round_on_one_player
boolfalse
cuffed_escapee_change_team
booltrue
pd_exit_count Amounthow ofmany exits in the pocket dimension.pd  int 2
pd_random_exit_ridsRooms in which a player can appear once they escape.  
pd_random_exit_rids_after_decontaminationRooms in which a player can appear once they escape after decontamination.  
pd_refresh_exitRandomize exits in pocket dimension once a player escapes. false

Grenade

AFK Chain Reactions

Settings
Config Field Description Type Default Value
grenade_chain_limitafk_time Maximumtime amountfor ofsomeone greandes that canto be activateddetected byas singleafk grenade.(079 gets extra 13 seconds)  int 10 (-1 = unlimited90
grenade_chain_length_limitconstantly_check_afk How many grenades can be chained in a row.
 bool 4 (-1 = unlimitedfalse

Spawn Protection

Config Field Description Type Default Value
spawn_protect_disable Disable spawn protection. bool true
spawn_protect_time Spawn protection length in seconds. int 30
spawn_protect_team Spawn protection enabled for selected team(s).
1, 2 (MTF, Chaos Insurgents)
spawn_protect_allow_dmg Allow spawn protected players to deal damage. bool true

Auto Event Broadcast Settiings

Config Field Description Type Default Value
auto_warhead_broadcast_enabled Enable broadcast for auto warhead bool false
auto_warhead_broadcast_message Message for auto broadcast string The Alpha Warhead is being detonated
auto_warhead_broadcast_time Broadcast time int 10
auto_warhead_detonate_broadcast End of detonation broadcast string The Alpha Warhead has been detonated now
auto_warhead_detonate_broadcast_time Broadcast time int 10
auto_decon_broadcast_enabled enable broadcast bool false
auto_decon_broadcast_message Decontamination broadcast string Light Containment Zone is now decontaminated
auto_decon_broadcast_time Broadcast time int 10

Security & Anticheat

Config Field Description Type Default Value
online_mode Enables connection to central servers bool true
ip_banning Enables IP banning. bool true
enable_whitelist Allows only whitelisted users to join. bool false
forward_ports Enables automatic port forwarding.Note: router must have enabled UPnP support to make this work. bool true
enable_query Enables query protocol (TCP port). bool false
query_port_shift Determines shift between game port and query port. int 0
query_use_IPv6 Enables query over IPv6 protocol. bool true
administrator_query_password Sets administrator password for query procol. string none
connections_delay_time Time to send to clients for how long they should wait on the round restart screen before attempting to connect to the server again int 5
enable_sync_command_binding
bool false
ratelimit_kick Kicks user after exceeding commands rate limits (otherwise just disallows command execution). bool true
same_account_joining Allow the same account to join more than once?
bool false
anticheat_console_output output anticheat stuff to console bool false
enable_fast_round_restart restart the round fast (can be buggy) bool false
fast_round_restart_delay
double 3.2
preauth_challenge
bool true
preauth_challenge_mode Reply - prevents from flooding server with preauth requests from spoofed IP addresses
MD5 or SHA1 - prevents from flooding with preauth requests from legitimate IP addresses as well. Requires additional time to join the server.
string reply
preauth_challenge_base_length
int 10
preauth_challenge_time_window
int 12
preauth_challenge_clean_period
int 4
preauth_challenge_secret_length Only for MD5 and SHA1 challenges (higher value = longer time required to join the server) int 2
enforce_same_ip This enforces the player to be using same IP address to connect to the game and authenticate. Enabling this blocks proxies. Not enforced if player joined from IPv4 and authenticated from IPv6 or viceversa.
bool true
no_enforcement_for_local_ip_addresses
bool true
enforce_same_asn This enforces that the IP address used to connect to the game and authenticate must be assigned to the same Internet Service Provider (ISP).
Works only on servers on the public list. This is less restrictive that "enforce_same_ip" and blocks most of the proxies.
bool true

Connections ratelimiting

Ratelimit time windows define how often user with the same IP/UserID can initialize new connection (once per X seconds).

Config Field Description Type Default Value
enable_ip_ratelimit   bool true
enable_userid_ratelimit
bool true
ip_ratelimit_window Time between connections per ip int 3
userid_ratelimit_window Time between connections per userid
int 5

Item & Ammo limits

Item category limits -
Values of 0 are NOT unlimited and will prevent item pickups of that type entirely!
The inventory can hold a max of 8 items, so a limit of 8 is effectively unlimited.

Config Field Description Type Default Value
limit_category_grenade   int default
limit_category_keycard
int default
limit_category_medical
int default
limit_category_scpitem
int default
limit_category_firearm
int default

Ammo type limits
Values from 1 to 65k.

Config Field Description Type Default Value
limit_ammo12ga   int default
limit_ammo556x45
int default
limit_ammo44cal
int default
limit_ammo762x39
int default
limit_ammo9x19
int default

Friendly Fire

Config Field Description Type Default Value
ff_detector_global_broadcast_seconds Specifies the broadcast time length in seconds in which the broadcast is visible. int 5
ff_detector_global_adminchat_seconds Specifies the broadcast time in seconds in which the broadcast is visible in adminchat. int 6
ff_detector_classD_can_damage_classD Enables detecting damage dealt to D-class by other D-class bool false
ff_detector_webhook_url Webhook URL to send to when action is taken string none
ff_detector_round_enabled Detects the klls and damage done in a round. bool false
ff_detector_round_kills Detects number of kills in a round. int 6
ff_detector_round_damage Detects number of damage dealt in a round. int 500
ff_detector_round_action Enables action taking for friendly fire dealt in a round. string ban
ff_detector_round_ban_time If action is set to ban, set the ban time. string?? 24h
ff_detector_round_bankick_reason If action is set to ban, set the bankick reason. string You have been automatically banned for teamkilling.
ff_detector_round_kill_reason If action is set to ban, set the kill reason. string You have been automatically killed for teamkilling.
ff_detector_round_adminchat_enable Enables adminchat broadcast. bool false
ff_detector_round_adminchat_message Shows message on adminchat. %nick gets replaced with teamkiller name. string %nick has been banned for teamkilling (round detector).
ff_detector_round_broadcast_enable Enables regular broadcast. bool true
ff_detector_round_broadcast_message Shows message on the regualr broadcast. %nick gets replaced with teamkiller name. string %nick has been automatically banned for teamkilling.
ff_detector_round_webhook_report Should it be reported using the webhook specified in ff_detector_webhook_url. bool true
ff_detector_life_enabled Detects damage dealt since last death of player. bool false
ff_detector_life_kills Detects kills by players since last death. int 4
ff_detector_life_damage Detects damage dealt by player since last death. int 300
ff_detector_life_action Enables action taking for friendly fire dealt since last death. string ban
ff_detector_life_ban_time If action is set to ban, set the ban time. int 24h
ff_detector_life_bankick_reason If action is set to ban, set the bankick reason. string You have been automatically banned for teamkilling.
ff_detector_life_kill_reason If action is set to ban, set the kill reason. string You have been automatically killed for teamkilling.
ff_detector_life_adminchat_enable Enables adminchat broadcast. bool false
ff_detector_life_adminchat_message Shows message on adminchat. %nick gets replaced with teamkiller name. string %nick has been banned for teamkilling (life detector).
ff_detector_life_broadcast_enable Enables regular broadcast. bool true
ff_detector_life_broadcast_message Shows message on the regualr broadcast. %nick gets replaced with teamkiller name. string %nick has been automatically banned for teamkilling.
ff_detector_life_webhook_report Should it be reported using the webhook specified in ff_detector_webhook_url. bool true
ff_detector_window_enabled Detects damage dealt by players in a specified time window. bool false
ff_detector_window_seconds Sets the specified time window. int 180
ff_detector_window_kills Detects number of kills by player during specified time window. int 3
ff_detector_window_damage Detects damage dealt by player during specified time window. int 250
ff_detector_window_action Enables action taking for friendly fire dealt during specified time window. string ban
ff_detector_window_ban_time If action is set to ban, set the ban time. int 16h
ff_detector_window_bankick_reason If action is set to ban, set the bankick reason. string You have been automatically banned for teamkilling.
ff_detector_window_kill_reason If action is set to ban, set the kill reason. string You have been automatically killed for teamkilling.
ff_detector_window_adminchat_enable Enables adminchat broadcast. bool false
ff_detector_window_adminchat_message Shows message on the adminchat broadcast. %nick gets replaced with teamkiller name. string %nick has been banned for teamkilling (window detector).
ff_detector_window_broadcast_enable Enables regular broadcast. bool true
ff_detector_window_broadcast_message Shows message on the regualr broadcast. %nick gets replaced with teamkiller name. string %nick has been automatically banned for teamkilling.
ff_detector_window_webhook_report Should it be reported using the webhook specified in ff_detector_webhook_url. bool true
ff_detector_spawn_enabled Detects team killing actions since the player's last spawn for a specified amount of time. bool true
ff_detector_spawn_window_seconds Sets the specified amount of time since player's spawn. int 120
ff_detector_spawn_kills Detects number of kills by player during specified time window since spawn. int 2
ff_detector_spawn_damage Detects damage dealt by player during specified time window since spawn. int 180
ff_detector_spawn_action Enables action taking for friendly fire dealt during specified time window since spawn. string ban
ff_detector_spawn_ban_time If action is set to ban, set the ban time. string 48h
ff_detector_spawn_bankick_reason If action is set to ban, set the bankick reason. string You have been automatically banned for teamkilling.
ff_detector_spawn_kill_reason If action is set to ban, set the kill time. string You have been automatically killed for teamkilling.
ff_detector_spawn_adminchat_enable Enables adminchat broadcast. bool false
ff_detector_spawn_adminchat_message Shows message on the adminchat broadcast. %nick gets replaced with teamkiller name. string %nick has been banned for teamkilling (spawn detector).
ff_detector_spawn_broadcast_enable Enables regular broadcast. bool true
ff_detector_spawn_broadcast_message Shows message on the regular broadcast. %nick gets replaced with teamkiller name. string %nick has been automatically banned for teamkilling.
ff_detector_spawn_webhook_report Should it be reported using the webhook specified in ff_detector_webhook_url. bool true

Port queue

Config Field Description Type Default Value
port_queue port_queue is for NONDEDICATED SERVERS ONLY
 - 7777
 - 7778
 - 7779
 - 7780
 - 7781
 - 7782
 - 7783
 - 7784

Nickname Filtering with Regex

Config Field Description Type Default Value
nickname_filter
list default
nickname_filter_replacement
list default

Administration Broadcast

Change broadcasts for kicks and bans, their duration and message.

Config Field Description Type Default Value
broadcast_kicks Enable broadcasts for player kicks. bool false
broadcast_kick_text Text that is displayed when a player gets kicked. string %nick% has been kicked from this server.
broadcast_kick_duration Broadcast message duration in seconds. int 5
broadcast_bans Enable broadcasts for player bans. bool true
broadcast_ban_text Text that is displayed when a player gets banned. string %nick% has been banned from this server.
broadcast_ban_duration Broadcast message duration in seconds. int 5

Idle mode options

Config Field Description Type Default Value
idle_mode_enabled Enable or disable idle mode bool false
idle_mode_time Time in milliseconds until idle mode enables int 5000
idle_mode_preauth_time   int 30000
idle_mode_tickrate
int 1

Player Report

Config Field Description Type Default Value
report_send_using_discord_webhook Send report using webhooks bool false
report_discord_webhook_url Enter the discord channel webhook URL here string PleaseSetWebhookUrlHere
report_username Webhook username string Cheater Report
report_avatar_url Webhook avatar string default
report_color Webhook embed message color int 14423100
report_server_name Webhook embed servername field content
string My SCP:SL Server
report_header Webhook embed message header string Player Report
report_content Webhook embed messsage content string Player has just been reported.

Restart options

Config Field Description Type Default Value
full_restart_rejoin_time Amount of time after client should rejoin after a full server restart int 25
restart_after_rounds Set autorestart of the server after a specified amount of rounds (0 - disabled int 0

Geoblocking

Block players from certain regions from playing on your server.

Config Field Description Type Default Value
geoblocking_mode Changes the mode for geoblocking. string none
geoblocking_ignore_whitelisted list of players who bypass geoblocking. bool true
geoblocking_whitelist country codes to whitelist.    - AA
 - AB
 - AC
geoblocking_blacklist country codes to blacklist.    - AA
 - AB
 - AC