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 Field Description Type Default Value
server_name Server name displayed in the server list. string My Server Name
player_list_title Server name displayed only in the player list. string default (Default makes it use the server_name value for both)
player_list_title_rate The amount of time (in seconds) between refreshing the title of the player list float 5
serverinfo_pastebin_id Set 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 info string 7wV681fT
server_ip IP 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. string auto
max_players Max amount of players that can be connected to the server at once. int 20
server_tickrate How many frames per second short 60
contact_email Contact email address for the server owner or administration.   N/ANote: this field must be manually added to the server config.
port_queue Which ports will be used for connecting through the server.   - 7777- 7778- 7779- 7780- 7781- 7782- 7783- 7784
lobby_waiting_time The waiting time before the game starts   20
use_reserved_slots Enable the reserved slots or not   true
ipv4_bind_ip Set the IPV4 of the server   0.0.0.0
ipv6_bind_ip Set the IPV6 of the server   ::

Gameplay settings

Settings which change the gameplay of SCP: SL in some way.

GeneralMisc

Change warhead and intercom timers, friendly fire, etc.

Config Field Description Type Default Value
afk_time How many seconds someone can be AFK in their spawn location before being kicked  int 90
constantly_check_afk    bool False
intercom_cooldown Intercom cooldown after use in seconds.  int 120
intercom_max_speech_time Amount of time a player can use the intercom in seconds.  int 20
auto_round_restart_time Length 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.booltrue
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_serverif your server is a Custom Gamemode Server according to the definition that can be found in the Verified Server Rulesbool

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

allow_disarmed_interactionAllowed handcuffed player to interact with door or elevator  10false
sinkhole_slow_amountHow much the sinkhole makes the player slower 30
sinkhole_spawn_chanceThe spawn chance to spawn a sinkhole (0 to disable) 0
914_modeSets how 914 operates on players(Options: DroppedAndPlayerTeleport, Inventory, DroppedAndInventory, Held, DroppedAndHeld, Dropped) DroppedAndPlayerTeleport
keep_items_after_escapingSets when a player escapes if the old items fall on the ground true
096_destroy_locked_doorsSets if SCP 096 can destroy locked doors true
friendly_fire Enable or disable friendly fire for humans.   false
friendly_fire_multiplier     1
warhead_tminus_start_duration Countdown timer until the warhead detonates in seconds. (Minimum 70, maximum 120)   90
human_grenade_multiplier Grenade damage multiplier for humans.   0.7
scp_grenade_multiplier Grenade damage multiplier for SCPs.   1
lock_gates_on_countdown Forces the entrance gates to be open when the warhead is counting down.   true
isolate_zones_on_countdown Locks all checkpoints when the warhead is counting down.   false
open_doors_on_countdown Forces all normal doors and checkpoints to be open when the warhead is counting down.   true
allow_playing_as_tutorialAllows players to play as the tutorial class. true
914_modeSets how 914 operates on players(Options: DroppedAndPlayerTeleport, Inventory, DroppedAndInventory, Held, DroppedAndHeld, Dropped) DroppedAndPlayerTeleport
keep_items_after_escapingSets when a player escapes if the old items fall on the ground true
096_destroy_locked_doorsSets if SCP 096 can destroy locked doors true
no_holidaysDisable the holidays and other generation event (like Halloween) false
allow_disarmed_interactionAllowed handcuffed player to interact with door or elevator false
sinkhole_slow_amountHow much the sinkhole makes the player slower 30
sinkhole_spawn_chanceThe spawn chance to spawn a sinkhole (0 to disable) 0

Spawning/RNG

Change spawn chances, patterns, etc.

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.   280
maximum_MTF_time_to_spawn Maximum time it can take from the last wave for a new one to spawn.   350
maximum_MTF_respawn_amount The amount of player who can respawn.   15
maximum_CI_respawn_amount The amount of player who can respawn.   15
priority_mtf_respawn Should MTF be a top priority for a respawn team?   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.   false
ci_respawn_percent Chance for Chaos Insurgents to spawn in a wave.   35
ci_on_start_percent Chance for Chaos Insurgents to spawn at round start (Replaces Facility Guards).   10
team_respawn_queue Pattern in which the classes spawn at round start.   4014314031441404134044434414
server_forced_class Forced class on round start.   -1 (-1 = random)
map_seed Force single map seed for all rounds.   -1 (-1 = random)

Spawn Tickets

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

Stamina

Config Field Description Type Default Value
stamina_balance_use The amount of stamina that is drained from running.   0.05
stamina_balance_immunity The time (in seconds) that newly-spawned players can sprint without consuming stamina.   3
stamina_balance_regen_cd The seconds that must pass before stamina starts regenerating after the player stops sprinting.   1
stamina_balance_regen_speed How fast the stamina regenerates multiplier.   1
stamina_balance_walk_speed Multiplier for human walk speed.   1.2
stamina_balance_sprint_speed Multiplier for human sprint speed.   1.05

Pocket Dimension

Change exit counts, exit rooms, etc.

Config Field Description Type Default Value
pd_exit_count Amount of exits in the pocket dimension.   2
pd_random_exit_rids Rooms in which a player can appear once they escape.    
pd_random_exit_rids_after_decontamination Rooms in which a player can appear once they escape after decontamination.    
pd_refresh_exit Randomize exits in pocket dimension once a player escapes.   false

Spawn Protection

Change spawn protection time and teams affected.

Config FieldDescriptionTypeDefault Value
spawn_protect_disableDisable spawn protection. true
spawn_protect_timeSpawn protection length in seconds. 30
spawn_protect_teamSpawn protection enabled for selected team(s). 1, 2 (MTF, Chaos Insurgents)
spawn_protect_allow_dmgAllow spawn protected players to deal damage. true

Grenade Chain Reactions

Change how many grenades can be activated by other grenades.

Config Field Description Type Default Value
grenade_chain_limit Maximum amount of greandes that can be activated by single grenade.   10 (-1 = unlimited
grenade_chain_length_limit How many grenades can be chained in a row.   4 (-1 = unlimited

Spawn Protection

Config FieldDescriptionTypeDefault Value
spawn_protect_disableDisable spawn protection.booltrue
spawn_protect_timeSpawn protection length in seconds.int30
spawn_protect_teamSpawn protection enabled for selected team(s).
1, 2 (MTF, Chaos Insurgents)
spawn_protect_allow_dmgAllow spawn protected players to deal damage.booltrue

FriendlyAuto FireEvent Broadcast Settiings

Config FieldDescriptionTypeDefault Value
auto_warhead_broadcast_enabledEnable broadcast for auto warheadboolfalse
auto_warhead_broadcast_messageMessage for auto broadcaststringThe Alpha Warhead is being detonated
auto_warhead_broadcast_timeBroadcast timeint10
auto_warhead_detonate_broadcastEnd of detonation broadcaststringThe Alpha Warhead has been detonated now
auto_warhead_detonate_broadcast_timeBroadcast timeint10
auto_decon_broadcast_enabledenable broadcastboolfalse
auto_decon_broadcast_messageDecontamination broadcaststringLight Containment Zone is now decontaminated
auto_decon_broadcast_timeBroadcast timeint10

Security & Anticheat

it

is

by default.

Config Field DescriptionTypeDefault Value
online_modeEnables connection to central serversbooltrue
ip_banningEnables IP banning.booltrue
enable_whitelistAllows only whitelisted users to join.boolfalse
forward_portsEnables automatic port forwarding.Note: router must have enabled UPnP support to make this work.booltrue
enable_queryEnables query protocol (TCP port).boolfalse
query_port_shiftDetermines shift between game port and query port.int0
query_use_IPv6Enables query over IPv6 protocol.booltrue
administrator_query_passwordSets administrator password for query procol.stringnone
connections_delay_timeTime to send to clients for how long they should wait on the round restart screen before attempting to connect to the server againint5
enable_sync_command_binding
boolfalse
ratelimit_kickKicks user after exceeding commands rate limits (otherwise just disallows command execution).booltrue
same_account_joiningAllow the same account to join more than once?
boolfalse
anticheat_console_outputoutput anticheat stuff to consoleboolfalse
enable_fast_round_restartrestart the round fast (can be buggy)boolfalse
fast_round_restart_delay
double3.2
preauth_challenge
booltrue
preauth_challenge_modeReply - 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.
stringreply
preauth_challenge_base_length
int10
preauth_challenge_time_window
int12
preauth_challenge_clean_period
int4
preauth_challenge_secret_lengthOnly for MD5 and SHA1 challenges (higher value = longer time required to join the server)int2
enforce_same_ipThis 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.
booltrue
no_enforcement_for_local_ip_addresses
booltrue
enforce_same_asnThis 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.
booltrue

Connections ratelimiting

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

Config FieldDescriptionTypeDefault Value
enable_ip_ratelimit booltrue
enable_userid_ratelimit
booltrue
ip_ratelimit_windowTime between connections per ipint3
userid_ratelimit_windowTime between connections per userid
int5

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 FieldDescriptionTypeDefault Value
limit_category_grenade intdefault
limit_category_keycard
intdefault
limit_category_medical
intdefault
limit_category_scpitem
intdefault
limit_category_firearm
intdefault

Ammo type limits
Values from 1 to 65k.

Config FieldDescriptionTypeDefault Value
limit_ammo12ga intdefault
limit_ammo556x45
intdefault
limit_ammo44cal
intdefault
limit_ammo762x39
intdefault
limit_ammo9x19
intdefault

Friendly Fire

Config FieldDescriptionType Default Value
ff_detector_global_broadcast_seconds Specifies the broadcast time length in seconds in which the broadcast is visible. defaultint5
ff_detector_global_adminchat_seconds Specifies the broadcast time in seconds in which the broadcast is visible in adminchat. defaultint6
ff_detector_classD_can_damage_classD Enables detecting damage dealt to D-class by other D-class defaultboolfalse
ff_detector_webhook_urlWebhook URL to send to when action is takenstringnone
ff_detector_round_enabled Detects the klls and damage done in a round. defaultboolfalse
ff_detector_round_kills Detects number of kills in a round. defaultint6
ff_detector_round_damage Detects number of damage dealt in a round. defaultint500
ff_detector_round_action Enables action taking for friendly fire dealt in a round. defaultstringban
ff_detector_round_ban_time If action is set to ban, set the ban time. defaultstring??24h
ff_detector_round_bankick_reason If action is set to ban, set the bankick reason. defaultstringYou have been automatically banned for teamkilling.
ff_detector_round_kill_reason If action is set to ban, set the kill reason. defaultstringYou have been automatically killed for teamkilling.
ff_detector_round_adminchat_enable Enables adminchat broadcast. defaultboolfalse
ff_detector_round_adminchat_message Shows message on adminchat. %nick gets replaced with teamkiller name. defaultstring%nick has been banned for teamkilling (round detector).
ff_detector_round_broadcast_enable Enables regular broadcast. defaultbooltrue
ff_detector_round_broadcast_message Shows message on the regualr broadcast. %nick gets replaced with teamkiller name. defaultstring%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. defaultbooltrue
ff_detector_life_enabled Detects damage dealt since last death of player. defaultboolfalse
ff_detector_life_kills Detects kills by players since last death. defaultint4
ff_detector_life_damage Detects damage dealt by player since last death. defaultint300
ff_detector_life_action Enables action taking for friendly fire dealt since last death. defaultstringban
ff_detector_life_ban_time If action is set to ban, set the ban time. defaultint24h
ff_detector_life_bankick_reason If action is set to ban, set the bankick reason. defaultstringYou have been automatically banned for teamkilling.
ff_detector_life_kill_reason If action is set to ban, set the kill reason. defaultstringYou have been automatically killed for teamkilling.
ff_detector_life_adminchat_enable Enables adminchat broadcast. defaultboolfalse
ff_detector_life_adminchat_message Shows message on adminchat. %nick gets replaced with teamkiller name. defaultstring%nick has been banned for teamkilling (life detector).
ff_detector_life_broadcast_enable Enables regular broadcast. defaultbooltrue
ff_detector_life_broadcast_message Shows message on the regualr broadcast. %nick gets replaced with teamkiller name. defaultstring%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. defaultbooltrue
ff_detector_window_enabled Detects damage dealt by players in a specified time window. defaultboolfalse
ff_detector_window_seconds Sets the specified time window. defaultint180
ff_detector_window_kills Detects number of kills by player during specified time window. defaultint3
ff_detector_window_damage Detects damage dealt by player during specified time window. defaultint250
ff_detector_window_action Enables action taking for friendly fire dealt during specified time window. defaultstringban
ff_detector_window_ban_time If action is set to ban, set the ban time. defaultint16h
ff_detector_window_bankick_reason If action is set to ban, set the bankick reason. defaultstringYou have been automatically banned for teamkilling.
ff_detector_window_kill_reason If action is set to ban, set the kill reason. defaultstringYou have been automatically killed for teamkilling.
ff_detector_window_adminchat_enable Enables adminchat broadcast. defaultboolfalse
ff_detector_window_adminchat_message Shows message on the adminchat broadcast. %nick gets replaced with teamkiller name. defaultstring%nick has been banned for teamkilling (window detector).
ff_detector_window_broadcast_enable Enables regular broadcast. defaultbooltrue
ff_detector_window_broadcast_message Shows message on the regualr broadcast. %nick gets replaced with teamkiller name. defaultstring%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. defaultbooltrue
ff_detector_spawn_enabled: defaultff_detector_spawn_enabled Detects team killing actions since the player's last spawn for a specified amount of time. defaultbooltrue
ff_detector_spawn_window_seconds Sets the specified amount of time since player's spawn. defaultint120
ff_detector_spawn_kills Detects number of kills by player during specified time window since spawn. defaultint2
ff_detector_spawn_damage Detects damage dealt by player during specified time window since spawn. defaultint180
ff_detector_spawn_action Enables action taking for friendly fire dealt during specified time window since spawn. defaultstringban
ff_detector_spawn_ban_time If action is set to ban, set the ban time. defaultstring48h
ff_detector_spawn_bankick_reason If action is set to ban, set the bankick reason. defaultstringYou have been automatically banned for teamkilling.
ff_detector_spawn_kill_reason If action is set to ban, set the kill time. defaultstringYou have been automatically killed for teamkilling.
ff_detector_spawn_adminchat_enable Enables adminchat broadcast. defaultboolfalse
ff_detector_spawn_adminchat_message Shows message on the adminchat broadcast. %nick gets replaced with teamkiller name. defaultstring%nick has been banned for teamkilling (spawn detector).
ff_detector_spawn_broadcast_enable Enables regular broadcast. defaultbooltrue
ff_detector_spawn_broadcast_message Shows message on the regular broadcast. %nick gets replaced with teamkiller name. defaultstring%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. defaultbooltrue

SecurityPort & Anticheatqueue

Change activated anticheat protections, port querys, etc.

this will disable:
Config Field Description Type Default Value
online_modeport_queue Enablesport_queue connectionis tofor centralNONDEDICATED servers.Note:SERVERS disablingONLY
 - 7777
 - 7778
 - 7779
 - 7780
 - 7781
 - 7782
 - 7783
 - 7784

Nickname Filtering with Regex

Config FieldDescriptionTypeDefault Value
nickname_filter
listdefault
• UserID based bans, reserved slots, whitelist and RA authenticationnickname_filter_replacement  
  
• Server visiblity on server browser true 
ip_banningEnables IP banning.Note: disable this if you are using eg. proxy, firewall or Anti DDoS system that changes IP addresses from players to own. true
enable_whitelistAllows only whitelisted users to join. false
hide_from_public_listHides server from server browser. false
forward_portsEnables automatic port forwarding.Note: router must have enabled UPnP support to make this work. true
enable_queryEnables query protocol (TCP port). false
query_port_shiftDetermines shift between game port and query port. 0
query_use_IPv6Enables query over IPv6 protocol. true
administrator_query_passwordSets administrator password for query procol.none 
enable_sync_command_bindingN/A false
anti_player_wallhackN/Alist default 
noclip_protection_outputEnables noclip protection logging. false
speedhack_protection_outputEnables speedhack protection logging. false
ratelimit_kickKicks user after exceeding commands rate limits (otherwise just disallows command execution). true

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. int5

Idle mode options

Config FieldDescriptionTypeDefault Value
idle_mode_enabledEnable or disable idle modeboolfalse
idle_mode_timeTime in milliseconds until idle mode enablesint5000
idle_mode_preauth_time  5int30000
idle_mode_tickrate
int1

Player Report

Config FieldDescriptionTypeDefault Value
report_send_using_discord_webhookSend report using webhooksboolfalse
report_discord_webhook_urlEnter the discord channel webhook URL herestringPleaseSetWebhookUrlHere
report_usernameWebhook usernamestringCheater Report
report_avatar_urlWebhook avatarstringdefault
report_colorWebhook embed message colorint14423100
report_server_nameWebhook embed servername field content
stringMy SCP:SL Server
report_headerWebhook embed message headerstringPlayer Report
report_contentWebhook embed messsage contentstringPlayer has just been reported.

Restart options

Config FieldDescriptionTypeDefault Value
full_restart_rejoin_timeAmount of time after client should rejoin after a full server restartint25
restart_after_roundsSet autorestart of the server after a specified amount of rounds (0 - disabledint0

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 No valuetrue
geoblocking_whitelist country codes to whitelist.   No values- AA
 - AB
 - AC
geoblocking_blacklist country codes to blacklist.   No values- AA
 - AB
 - AC