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/A |
|
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 | 90 | |
constantly_check_afk | False | ||
intercom_cooldown | Intercom cooldown after use in seconds. | 120 | |
intercom_max_speech_time | Amount of time a player can use the intercom in seconds. | 20 | |
auto_round_restart_time | Length of time after the round has ended for the round to restart in seconds. | int | 10 |
allow_playing_as_tutorial | Allows players to play as the tutorial class. | bool | true |
no_holidays | Disable the holidays and other generation event (like Halloween) | bool |
false |
gban_ban_ip | This 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 Rules | bool |
false |
server_access_restriction | if 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_whitelist | if 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_interaction | Allowed handcuffed player to interact with door or elevator | ||
sinkhole_slow_amount | How much the sinkhole makes the player slower | 30 | |
sinkhole_spawn_chance | The spawn chance to spawn a sinkhole (0 to disable) | 0 | |
914_mode | Sets how 914 operates on players(Options: DroppedAndPlayerTeleport, Inventory, DroppedAndInventory, Held, DroppedAndHeld, Dropped) | DroppedAndPlayerTeleport | |
keep_items_after_escaping | Sets when a player escapes if the old items fall on the ground | true | |
096_destroy_locked_doors | Sets 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 | |
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.
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 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 |
FriendlyAuto FireEvent 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
ChangesRecommended theto friendlynot firebe settingschanged onfrom thewhat server.
by default.
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. | 5 | |
ff_detector_global_adminchat_seconds | Specifies the broadcast time in seconds in which the broadcast is visible in adminchat. | 6 | |
ff_detector_classD_can_damage_classD | Enables detecting damage dealt to D-class by other D-class | 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. | false | |
ff_detector_round_kills | Detects number of kills in a round. | 6 | |
ff_detector_round_damage | Detects number of damage dealt in a round. | 500 | |
ff_detector_round_action | Enables action taking for friendly fire dealt in a round. | ban | |
ff_detector_round_ban_time | If action is set to ban, set the ban time. | 24h | |
ff_detector_round_bankick_reason | If action is set to ban, set the bankick reason. | You have been automatically banned for teamkilling. | |
ff_detector_round_kill_reason | If action is set to ban, set the kill reason. | You have been automatically killed for teamkilling. | |
ff_detector_round_adminchat_enable | Enables adminchat broadcast. | false | |
ff_detector_round_adminchat_message | Shows message on adminchat. %nick gets replaced with teamkiller name. | %nick has been banned for teamkilling (round detector). | |
ff_detector_round_broadcast_enable | Enables regular broadcast. | true | |
ff_detector_round_broadcast_message | Shows message on the regualr broadcast. %nick gets replaced with teamkiller name. | %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. | true | |
ff_detector_life_enabled | Detects damage dealt since last death of player. | false | |
ff_detector_life_kills | Detects kills by players since last death. | 4 | |
ff_detector_life_damage | Detects damage dealt by player since last death. | 300 | |
ff_detector_life_action | Enables action taking for friendly fire dealt since last death. | ban | |
ff_detector_life_ban_time | If action is set to ban, set the ban time. | 24h | |
ff_detector_life_bankick_reason | If action is set to ban, set the bankick reason. | You have been automatically banned for teamkilling. | |
ff_detector_life_kill_reason | If action is set to ban, set the kill reason. | You have been automatically killed for teamkilling. | |
ff_detector_life_adminchat_enable | Enables adminchat broadcast. | false | |
ff_detector_life_adminchat_message | Shows message on adminchat. %nick gets replaced with teamkiller name. | %nick has been banned for teamkilling (life detector). | |
ff_detector_life_broadcast_enable | Enables regular broadcast. | true | |
ff_detector_life_broadcast_message | Shows message on the regualr broadcast. %nick gets replaced with teamkiller name. | %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. | true | |
ff_detector_window_enabled | Detects damage dealt by players in a specified time window. | false | |
ff_detector_window_seconds | Sets the specified time window. | 180 | |
ff_detector_window_kills | Detects number of kills by player during specified time window. | 3 | |
ff_detector_window_damage | Detects damage dealt by player during specified time window. | 250 | |
ff_detector_window_action | Enables action taking for friendly fire dealt during specified time window. | ban | |
ff_detector_window_ban_time | If action is set to ban, set the ban time. | 16h | |
ff_detector_window_bankick_reason | If action is set to ban, set the bankick reason. | You have been automatically banned for teamkilling. | |
ff_detector_window_kill_reason | If action is set to ban, set the kill reason. | You have been automatically killed for teamkilling. | |
ff_detector_window_adminchat_enable | Enables adminchat broadcast. | false | |
ff_detector_window_adminchat_message | Shows message on the adminchat broadcast. %nick gets replaced with teamkiller name. | %nick has been banned for teamkilling (window detector). | |
ff_detector_window_broadcast_enable | Enables regular broadcast. | true | |
ff_detector_window_broadcast_message | Shows message on the regualr broadcast. %nick gets replaced with teamkiller name. | %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. | true | |
Detects team killing actions since the player's last spawn for a specified amount of time. | true | ||
ff_detector_spawn_window_seconds | Sets the specified amount of time since player's spawn. | 120 | |
ff_detector_spawn_kills | Detects number of kills by player during specified time window since spawn. | 2 | |
ff_detector_spawn_damage | Detects damage dealt by player during specified time window since spawn. | 180 | |
ff_detector_spawn_action | Enables action taking for friendly fire dealt during specified time window since spawn. | ban | |
ff_detector_spawn_ban_time | If action is set to ban, set the ban time. | 48h | |
ff_detector_spawn_bankick_reason | If action is set to ban, set the bankick reason. | You have been automatically banned for teamkilling. | |
ff_detector_spawn_kill_reason | If action is set to ban, set the kill time. | You have been automatically killed for teamkilling. | |
ff_detector_spawn_adminchat_enable | Enables adminchat broadcast. | false | |
ff_detector_spawn_adminchat_message | Shows message on the adminchat broadcast. %nick gets replaced with teamkiller name. | %nick has been banned for teamkilling (spawn detector). | |
ff_detector_spawn_broadcast_enable | Enables regular broadcast. | true | |
ff_detector_spawn_broadcast_message | Shows message on the regular broadcast. %nick gets replaced with teamkiller name. | %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. | true |
SecurityPort & Anticheatqueue
Change activated anticheat protections, port querys, etc.
Recommended to not be changed from what it is by default.
Config Field | Description | Type | Default Value |
---|---|---|---|
- 7777 - 7778 - 7779 - 7780 - 7781 - 7782 - 7783 - 7784 |
Nickname Filtering with Regex
Config Field | Description | Type | Default Value |
---|---|---|---|
nickname_filter | list | default | |
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. | false | |
broadcast_kick_text | Text that is displayed when a player gets kicked. | %nick% has been kicked from this server. | |
broadcast_kick_duration | Broadcast message duration in seconds. | 5 | |
broadcast_bans | Enable broadcasts for player bans. | true | |
broadcast_ban_text | Text that is displayed when a player gets banned. | %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 | 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. | none | |
geoblocking_ignore_whitelisted | list of players who bypass geoblocking. | ||
geoblocking_whitelist | country codes to whitelist. | - AB - AC |
|
geoblocking_blacklist | country codes to blacklist. | - AB - AC |