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.
General
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. | 10 | |
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_tutorial | Allows players to play as the tutorial class. | true | |
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 | |
no_holidays | Disable the holidays and other generation event (like Halloween) | false | |
allow_disarmed_interaction | Allowed handcuffed player to interact with door or elevator | false | |
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 |
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 Field | Description | Type | Default Value |
---|---|---|---|
spawn_protect_disable | Disable spawn protection. | true | |
spawn_protect_time | Spawn protection length in seconds. | 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. | 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 |
Friendly Fire
Changes the friendly fire settings on the server.
Config Field | Description | Default Value |
---|---|---|
ff_detector_global_broadcast_seconds | Specifies the broadcast time length in seconds in which the broadcast is visible. | default |
ff_detector_global_adminchat_seconds | Specifies the broadcast time in seconds in which the broadcast is visible in adminchat. | default |
ff_detector_classD_can_damage_classD | Enables detecting damage dealt to D-class by other D-class | default |
ff_detector_round_enabled | Detects the klls and damage done in a round. | default |
ff_detector_round_kills | Detects number of kills in a round. | default |
ff_detector_round_damage | Detects number of damage dealt in a round. | default |
ff_detector_round_action | Enables action taking for friendly fire dealt in a round. | default |
ff_detector_round_ban_time | If action is set to ban, set the ban time. | default |
ff_detector_round_bankick_reason | If action is set to ban, set the bankick reason. | default |
ff_detector_round_kill_reason | If action is set to ban, set the kill reason. | default |
ff_detector_round_adminchat_enable | Enables adminchat broadcast. | default |
ff_detector_round_adminchat_message | Shows message on adminchat. %nick gets replaced with teamkiller name. | default |
ff_detector_round_broadcast_enable | Enables regular broadcast. | default |
ff_detector_round_broadcast_message | Shows message on the regualr broadcast. %nick gets replaced with teamkiller name. | default |
ff_detector_round_webhook_report | Should it be reported using the webhook specified in ff_detector_webhook_url. | default |
ff_detector_life_enabled | Detects damage dealt since last death of player. | default |
ff_detector_life_kills | Detects kills by players since last death. | default |
ff_detector_life_damage | Detects damage dealt by player since last death. | default |
ff_detector_life_action | Enables action taking for friendly fire dealt since last death. | default |
ff_detector_life_ban_time | If action is set to ban, set the ban time. | default |
ff_detector_life_bankick_reason | If action is set to ban, set the bankick reason. | default |
ff_detector_life_kill_reason | If action is set to ban, set the kill reason. | default |
ff_detector_life_adminchat_enable | Enables adminchat broadcast. | default |
ff_detector_life_adminchat_message | Shows message on adminchat. %nick gets replaced with teamkiller name. | default |
ff_detector_life_broadcast_enable | Enables regular broadcast. | default |
ff_detector_life_broadcast_message | Shows message on the regualr broadcast. %nick gets replaced with teamkiller name. | default |
ff_detector_life_webhook_report | Should it be reported using the webhook specified in ff_detector_webhook_url. | default |
ff_detector_window_enabled | Detects damage dealt by players in a specified time window. | default |
ff_detector_window_seconds | Sets the specified time window. | default |
ff_detector_window_kills | Detects number of kills by player during specified time window. | default |
ff_detector_window_damage | Detects damage dealt by player during specified time window. | default |
ff_detector_window_action | Enables action taking for friendly fire dealt during specified time window. | default |
ff_detector_window_ban_time | If action is set to ban, set the ban time. | default |
ff_detector_window_bankick_reason | If action is set to ban, set the bankick reason. | default |
ff_detector_window_kill_reason | If action is set to ban, set the kill reason. | default |
ff_detector_window_adminchat_enable | Enables adminchat broadcast. | default |
ff_detector_window_adminchat_message | Shows message on the adminchat broadcast. %nick gets replaced with teamkiller name. | default |
ff_detector_window_broadcast_enable | Enables regular broadcast. | default |
ff_detector_window_broadcast_message | Shows message on the regualr broadcast. %nick gets replaced with teamkiller name. | default |
ff_detector_window_webhook_report | Should it be reported using the webhook specified in ff_detector_webhook_url. | default |
ff_detector_spawn_enabled: default | Detects team killing actions since the player's last spawn for a specified amount of time. | default |
ff_detector_spawn_window_seconds | Sets the specified amount of time since player's spawn. | default |
ff_detector_spawn_kills | Detects number of kills by player during specified time window since spawn. | default |
ff_detector_spawn_damage | Detects damage dealt by player during specified time window since spawn. | default |
ff_detector_spawn_action | Enables action taking for friendly fire dealt during specified time window since spawn. | default |
ff_detector_spawn_ban_time | If action is set to ban, set the ban time. | default |
ff_detector_spawn_bankick_reason | If action is set to ban, set the bankick reason. | default |
ff_detector_spawn_kill_reason | If action is set to ban, set the kill time. | default |
ff_detector_spawn_adminchat_enable | Enables adminchat broadcast. | default |
ff_detector_spawn_adminchat_message | Shows message on the adminchat broadcast. %nick gets replaced with teamkiller name. | default |
ff_detector_spawn_broadcast_enable | Enables regular broadcast. | default |
ff_detector_spawn_broadcast_message | Shows message on the regular broadcast. %nick gets replaced with teamkiller name. | default |
ff_detector_spawn_webhook_report | Should it be reported using the webhook specified in ff_detector_webhook_url. | default |
Security & Anticheat
Change activated anticheat protections, port querys, etc.
Recommended to not be changed from what it is by default.
Config Field | Description | Type | Default Value |
---|---|---|---|
online_mode | Enables connection to central servers.Note: disabling this will disable: | ||
• UserID based bans, reserved slots, whitelist and RA authentication | |||
• Server visiblity on server browser | true | ||
ip_banning | Enables 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_whitelist | Allows only whitelisted users to join. | false | |
hide_from_public_list | Hides server from server browser. | false | |
forward_ports | Enables automatic port forwarding.Note: router must have enabled UPnP support to make this work. | true | |
enable_query | Enables query protocol (TCP port). | false | |
query_port_shift | Determines shift between game port and query port. | 0 | |
query_use_IPv6 | Enables query over IPv6 protocol. | true | |
administrator_query_password | Sets administrator password for query procol. | none | |
enable_sync_command_binding | N/A | false | |
anti_player_wallhack | N/A | default | |
noclip_protection_output | Enables noclip protection logging. | false | |
speedhack_protection_output | Enables speedhack protection logging. | false | |
ratelimit_kick | Kicks 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. | 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. | 5 |
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. | No value | |
geoblocking_whitelist | country codes to whitelist. | No values | |
geoblocking_blacklist | country codes to blacklist. | No values |