-
Notifications
You must be signed in to change notification settings - Fork 30
Config additions
These are added to the normal game config just like vanilla config entries.
Type Info:
-
Boolean: True or False value -
Integer: A number without decimals -
Float: A number with decimals (Formatting like "1.0" and "1,0" both work and are the same value) -
List: A list with items separated by ",", for example:list: 1,2,3,4,5 -
Dictionary: A dictionary with items separated by ":", and each entry separated by ",", for example:dictionary: 1:2,2:3,3:4 -
Seconds: Time in seconds, usually a value of -1 disables the feature -
Minutes: Time in minutes, usually a value of -1 disables the feature
R Types: If there is an R in front of the type such as RDictionary or RList you can use a random value in it. A random value is defined by having "{}", items listed like "weight%value" where if you don't put a weight it defaults to a weight of 1, separated by "|", for example: RList: {1%1|2%7|6},3,6,{15%3|2|45%2} RDictionary: {6%1:1|2%1:6|2%1:8|1:10|2%1:13}
Styling info:
Crossed out config options are removed, unless otherwise specified in the description.
Bolded config options are ones that are in the vanilla game.
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| allow_incompatible | Boolean | False | Allow the server to run an incompatible version of ServerMod |
| auto_round_restart_time | Seconds | 10 | The time before the next round starts when a round ends |
| server_frame_rate | Integer | 60 | The framerate that a server runs at |
| hide_from_public_list | Boolean | False | If your server is verified, this hides it on the server list |
| sm_debug | Boolean | False | Print more verbose debug messages for debugging |
| sm_server_name | String | Dynamic | server name in a separate option, defaults to the value of server_name (You'd use server_name if you don't want variables showing up in your server name when ServerMod isn't working) |
| sm_tracking | Boolean | True | Appends the ServerMod version to your server name, this is for tracking how many servers are running ServerMod |
| secondary_servers_to_contact | List | Empty | The master servers to push data to, this is used for private server lists |
| start_round_timer | Seconds | 20 | The amount of time before the round auto-starts (when queueing for a round) |
| sm_floating_items_everyone | Boolean | False | Make everyone's items float when they're dropped (includes items spawned on the map in the beginning) |
| sm_floating_items_steamids | List | Empty | A list of SteamID64s for the players that should have their items float when dropped |
| start_round_minimum_players | Integer | 2 | Minimum playercount for starting the countdown before the round starts. |
| window_health | Float | 30.0 | Sets the HP of breakable windows. If the amount is less than zero, windows can't be broken. |
| set_role_ignore_lite | Boolean | false | Allow you to spawn before round start |
| disable_commander_mtf_disarm | Boolean | false | Enables/Disables commander handcuffing on other mtf |
| ci_can_cuff_class_d | Boolean | true | Chaos Insurgency can handcuff class D |
| mtf_can_cuff_researchers | Boolean | true | NinteTailedFoxes can handcuff scientists |
| manual_end_only | Boolean | false | Will make the round only end when you use some kind of command to end it yourself. This should only be used when you know what you're doing |
| disable_ban_bypass | Boolean | false | Will allow you to ban members from Global Moderation team. Zabszk might get angry if you do this, so use at your own risk. |
| player_list_title | String | Empty | Allows you to display a title exclusive to the playerlist, rather than it simply using the servername. |
| seconds_until_force_restart | Integer | -1 | Makes the round restart after this amount of time has passed. Written in seconds. When set to -1, it's disabled. |
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| enable_ra_server_commands | Boolean | True | Enables / Disables running console commands through text based Remote Admin |
| server_command_whitelist | List | Empty | A list of SteamID64s for the users allowed to run console commands through text based Remote Admin (Whitelist is used by default even if you don't specify it), as of ServerMod 3.1.7 this now also supports rank ids (for example, "owner, admin, moderator") |
| bypass_server_command_whitelist | Boolean | False | Allows anybody with access to text based Remote Admin to run console commands |
| filler_team_id | Integer | 4 | If the team spawn queue is shorter than the max player count, this team number will be used for the rest of the players when they spawn |
| item_cleanup | Seconds | -1 | Cleans up items after the specified amount of time |
| cleanup_ignored_items | Integer List | Empty | List of item IDs that are ignored from item_cleanup. |
| ragdoll_cleanup | Seconds | -1 | Cleans up ragdolls after the specified amount of time |
| nickname_filter | List | Empty | Automatically kicks anyone who's nickname contains anything in this list |
| RList | Empty | Removes all instances of the specified item ID from all lockers (Deprecated since the Locker update) | |
| RDictionary | Empty | Replaces all instances of the specified item ID from all lockers with the second specified item ID (Deprecated since the Locker update) | |
| RList | Empty | Adds the specified item ID to all lockers' loot (Deprecated since the Locker update) | |
| scp_grenade_multiplier | Float | 1.0 | The multiplier for the amount of damage grenades do to SCPs |
| human_grenade_multiplier | Float | 0.7 | The multiplier for the amount of damage grenades do to humans |
| disable_blood_on_screen | Boolean | False | Disable the blood effect on player's screen |
| nuke_cleanup | Boolean | False | Deletes all items underground after the nuke goes off |
| scp106_lure_amount | Integer | 1 | The amount of lures required to contain SCP-106 |
| scp106_lure_team | List | 1,2,3,4,6 | Teams that will be killed and counted as a sacrifice for the Femur Breaker |
| tesla_triggerable_team | List | 0,1,2,3,4,6 | Teams that can trigger tesla gates |
| sm_enable_ghostmode | Boolean | False | Allows you to set certain players to be invisible to others. Somewhat buggy so use at your own risk |
| package_config_debug | Boolean | False | Print config debug messages in a single message rather than a separate message for each config entry. Should make server messages catch up faster as the queue isn't filled with the configs. |
| sort_config_debug | Boolean | False | Print the config entries alphabetically sorted by the config key. |
| reduce_ammo_on_reload | Boolean | True | Players lose ammo when reloading their weapons. Disabling this essentially gives infinite ammo. |
| disable_dropping_empty_boxes | Boolean | False | Prevents empty ammo boxes from being created. Should probably enable this. |
| unlimited_radio_battery | Boolean | False | Makes radio not use up battery when used, effectively giving them an unlimited battery. |
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| antifly_enable | Boolean | True | Enables Antifly anticheat |
| Boolean | False | Kills players that trigger Antifly detection (DEPRECATED, use antifly_code_<1,2,3>_kill_player instead) | |
| disable_antifly_logging | Boolean | False | Disables all antifly logging. |
| antifly_code_<1,2,3>_log | Boolean | True | Logs messages about the antifly triggering of that specific code to the server console. |
| antifly_code_<1,2,3>_kill_player | Boolean | True | Kills players who trigger antifly detection of that specific code. |
| allowed_speed_multiplier | Float | 1.3 | Determines how much faster players can move compared to their maximum movement speed before they're considered to be cheating. This has to be higher than 1 as there's no lag compensation in place. |
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| Boolean | False | If true, admins will not have the admin badge on your server. (DEPRECATED, use ROLENAME_hidden: true in remote admin config instead and enable hide_global_badges for global badges)
|
|
| hide_global_badges | Boolean | False | This will hide all global badges by default and prevent people from reenabling them on your server. Although it is hidden, it is not DISABLED and as such, they maintain access to RA panel according to settings in your RA config. |
| disable_global_badges | Boolean | False | This will disable all global badge functionality. As this includes Global Ban team, enabling this will cause your server to get delisted as it breaks the Verified Server agreement. Only enable this if your server isn't Verified |
| hide_management_badges_by_default | Boolean | False | This will hide Management global badges when they join your server. They can reenable them with gtag in console |
| hide_staff_badges_by_default | Boolean | False | This will hide Staff global badges when they join your server. They can reenable them with gtag in console |
| hide_patreon_badges_by_default | Boolean | False | This will hide Patreon & Event global badges when they join your server. They can reenable them with gtag in console |
| block_gtag_management_badges | Boolean | False | This will prevent Management from showing their badge with gtag after it's been hidden. This will not hide it when they join. |
| block_gtag_banteam_badges | Boolean | False | This will prevent Global Ban Team from showing their badge with gtag after it's been hidden. This will not hide it when they join. |
| block_gtag_staff_badges | Boolean | False | This will prevent Staff from showing their badge with gtag after it's been hidden. This will not hide it when they join. |
| block_gtag_patreon_badges | Boolean | False | This will prevent Patreon & Event from showing their badge with gtag after it's been hidden. This will not hide it when they join. |
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| Integer |
Number of IPs in ReservedSlots.txt
|
The number of slots above the maximum to reserve for certain players (REQUIRES RESTART) (Removed, use "reserved_slots" instead) | |
| reserved_slots | Integer |
Number of IPs in ReservedSlots.txt
|
The number of slots above the maximum to reserve for certain players (REQUIRES RESTART) |
| String | [appdata]/SCP Secret Laboratory | The directory that the Reserved Slots file should be (Removed, use "reserved_slots_location" instead) | |
| String | ReservedSlots.txt | The file name to use for the Reserved Slots file (Removed, use "reserved_slots_file_name" instead) | |
| reserved_slots_location | String | [appdata]/SCP Secret Laboratory | The directory that the Reserved Slots file should be |
| reserved_slots_file_name | String | ReservedSlots.txt | The file name to use for the Reserved Slots file |
| List | Empty | A list of the IPs of players to allow into the reserved slots (Removed, use "ReservedSlots.txt" instead, scroll down for the usage) | |
| reserved_slots_simulate_full | Boolean | False | For debugging, this simulates the server being full, so only players with reserved slots can (Do not enable this if you don't know what you're doing) |
| reserved_slots_comment_symbol | String | # | The comment symbol to prefer out of the available options, you can also set a custom one if you'd like, the default available symbols are "#" and "//" |
How to use the new Reserved Slots: In the new "ReservedSlots.txt" file in the SCP AppData location, you put one SteamID or IP per line, and you can end each line with a comment using "#". If you want to use both an IP and SteamID, you put the IP, a semicolon (";"), then the SteamID
Everything following and including the "#" is optional
Update as of ServerMod 3.1.6: As of now, formatting will be less enforced, there can now be empty lines, commented out lines, and multiple comment symbols
For comment symbols, the current default is "#" or "//", you can add your own using the reserved_slots_comment_symbol config option
Example Usage:
1.1.1.1 # IP
11111111111111111 # SteamID64 (Automatically fetches IP)
127.0.0.1;22222222222222222 # IP and SteamID64 (Automatically updates IP)
127.0.0.1;22222222222222222
127.0.0.1;11111111111111111
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| afk_kick | Seconds | -1 | Kicks players who haven't moved in a specified amount of time |
| escapee_restrained_check | Boolean | False | If true, escapees are set to the opposite team if they are cuffed (disarmed), for example, if a Class-D escaped while cuffed, they would become NTF |
| teleport_unstuck_protection | Boolean | True | Prevent players from getting stuck in the ground when teleporting |
| Seconds | 30 | After this amount of time without a player sending any movement, they will be kicked (still sends movement if they're standing still, so this isn't anti-afk) | |
| Integer | -1 | The amount of movements detected by the anti-cheat as invalid before a player is kicked, the detection count increases per invalid movement and decreases per valid movement | |
| Integer | 50 | The amount of tries before the OnPlayerJoin event gives up on executing for a player (to prevent it constantly running if a player disconnects before it's run) |
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| auto_warhead_start | Seconds | -1 | Automatically activated the nuke after the specified amount of time has elapsed (-1 disables this feature) |
| auto_warhead_start_lock | Boolean | False | Automatically prevents the warhead detonation from being cancelled when it's automatically started |
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| disable_decontamination | Boolean | False | Enables / Disables Light Containment Zone decontamination |
| decontamination_time | Minutes | 11.74 | The time before LCZ is locked and decontaminated |
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| generator_duration | Seconds | 120 | The time for a generator to power up fully. |
| generator_keycard_perm | List | ARMORY_LVL_3 | The keycard permissions that can open generator doors. |
| generator_insert_teams | List | 0,1,2,3,4,5,6 | The teams allowed to insert tablets into generators. |
| generator_eject_teams | List | 0,1,2,3,4,5,6 | The teams allowed to eject tablets from generators. |
| generator_unlock_teams | List | 0,1,2,3,4,5,6 | The teams allowed to unlock generator doors (given that they have the proper keycard). |
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| scp914_teleport_players | Boolean | True | Moves players in SCP-914's input area to the output area |
| scp914_keep_health | Boolean | True | Keep the same health when a player moves from SCP-914's input area to the output area and the class is changed |
| scp914_keep_inventory | Boolean | True | Keep the same inventory when changing classes. |
| scp914_<rough/coarse/1_to_1/fine/very_fine>_change_class | RDictionary | Empty | Changes a player's class from the first specified class to the second specified class when they're teleported to SCP-914's output area |
| scp914_in_<rough/coarse/1_to_1/fine/very_fine>_damage | RDictionary | Empty | Damages a player by the second specified value when the class matches the first specified value before their class is changed |
| scp914_out_<rough/coarse/1_to_1/fine/very_fine>_damage | RDictionary | Empty | Damages a player by the second specified value when the class matches the first specified value after their class is changed and if they're in the output area |
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| pd_exit_count | Integer | 2 | The amount of exits to the Pocket Dimension |
| pd_random_exit_rids | RList | Empty | The list of RoomIDs that players will be randomly teleported to after escaping from Pocket Dimension |
| pd_random_exit_rids_after_decontamination | RList | Empty | The list of RoomIDs that players will be randomly teleported to after LCZ decontamination |
| pd_refresh_exit | Boolean | False | Randomly refresh the exit of Pocket Dimension after it's used |
| scp106_cleanup | Boolean | False | Stops items and ragdolls from spawning in the pocket dimension |
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| no_scp079_first | Boolean | True | Computer (SCP-079) will never be the first scp in a game |
| 173_door_starting_cooldown | Seconds | 25 | The time before SCP-173's door can be opened |
| maximum_MTF_respawn_amount | Integer | 15 | The maximum amount of MTF that can be respawned in a single respawn wave |
| scp049_hp | Integer | 1700 | Sets the starting HP for SCP-049 |
| scp049-2_hp | Integer | 400 | Sets the starting HP for SCP-049-2 |
| scp079_hp | Integer | 100 | Sets the starting HP for SCP-079 |
| scp096_hp | Integer | 2000 | Sets the starting HP for SCP-096 |
| scp106_hp | Integer | 650 | Sets the starting HP for SCP-106 |
| scp173_hp | Integer | 3200 | Sets the starting HP for SCP-173 |
| Integer | 700 | Sets the starting HP for SCP-457 | |
| scp939_53_hp | Integer | 2200 | Sets the starting HP for SCP-939-53 |
| scp939_89_hp | Integer | 2200 | Sets the starting HP for SCP-939-89 (Or SCP-939-109 as on the forceclass tab) |
| classd_hp | Integer | 100 | Sets the starting HP for Class Ds |
| scientist_hp | Integer | 100 | Sets the starting HP for Scientists |
| ci_hp | Integer | 120 | Sets the starting HP for Chaos Insurgency |
| ntfg_hp | Integer | 100 | Sets the starting HP for NTF Guards |
| ntfscientist_hp | Integer | 120 | Sets the starting HP for NTF Scientists |
| ntfl_hp | Integer | 120 | Sets the starting HP for NTF Lieutenants |
| ntfc_hp | Integer | 150 | Sets the starting HP for NTF Commanders |
| facilityguard_hp | Integer | 100 | Sets the starting HP for Facility Guards |
| force_disable_enable | Boolean | False | Overrides game's default class ban value with chosen values (USE OF THIS IS NOT RECOMMENDED) |
| scp049_disable | Boolean | False | Disables SCP-049 |
| scp079_disable | Boolean | False | Disables SCP-079 |
| scp096_disable | Boolean | False | Disables SCP-096 |
| scp106_disable | Boolean | False | Disables SCP-106 |
| scp173_disable | Boolean | False | Disables SCP-173 |
| Boolean | True | Disables SCP-457 | |
| scp939_53_disable | Boolean | False | Disables SCP-939-53 |
| scp939_89_disable | Boolean | False | Disables SCP-939-89 (Or SCP-939-109 as on the forceclass tab) |
| scp049_amount | Integer | 1 | Max amount of SCP-049 that can be spawned in randomly |
| scp079_amount | Integer | 1 | Max amount of SCP-079 that can be spawned in randomly |
| scp096_amount | Integer | 1 | Max amount of SCP-096 that can be spawned in randomly |
| scp106_amount | Integer | 1 | Max amount of SCP-106 that can be spawned in randomly |
| scp173_amount | Integer | 1 | Max amount of SCP-173 that can be spawned in randomly |
| Integer | 1 | Max amount of SCP-457 that can be spawned in randomly | |
| scp939_53_amount | Integer | 1 | Max amount of SCP-939-53 that can be spawned in randomly |
| scp939_89_amount | Integer | 1 | Max amount of SCP-939-89 (Or SCP-939-109 as on the forceclass tab) that can be spawned in randomly |
| scp_healing_duration | Seconds | -1 | Heal SCPs who haven't moved and got hurt in a specified amount of time |
| scp_healing_health | Integer | 100 | The amount of HP that SCPs will recover |
| always_spawn_079 | Boolean | False | This will make 079 have a 100% chance to spawn within the first two SCPs, unless banned. |
| min_blink_time | Float | 2.5 | SCP-173's blink time is picked randomly in the range between these two values. |
| max_blink_time | Float | 3.5 | SCP-173's blink time is picked randomly in the range between these two values. |
| 939_damage_multiplier | Float | 1 | Multiplies the amount of damage 939 deals with a bite. At the time of writing it deals random damage between 50 and 80 by default. |
| zombie_damage_multiplier | Float | 1 | Multiplies the amount of damage 049-2 deals with a swing. At the time of writing it deals 60 damage by default. |
| scp096_ignored_role | Int List | Empty | List of ClassIDs that'll be ignored for 096's rage mechanic. |
| scp173_ignored_role | Int List | Empty | List of ClassIDs that'll be ignored for 173's movement prevention. There is a clientside check as well. Unless the clientside is altered too (which ServerMod can't do), this will do nothing |
| scp173_blackout_light_check | Boolean | True | When true, SCP-173 will be unable to move when a flashlight is being shined at them during a blackout (the lights out in a room), note that this is somewhat buggy since the check is client-side, so there is no visual blinking and SCP-173 will not teleport but will be able to move during the invisible blinks |
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| default_item_scp173 | RList | Empty | |
| default_item_classd | RList | Empty | |
| default_item_scp106 | RList | Empty | |
| default_item_ntfscientist | RList | 7, 20, 19, 25, 12, 14 | |
| default_item_scp049 | RList | Empty | |
| default_item_scientist | RList | 1, 14 | |
| default_item_scp079 | RList | Empty | |
| default_item_ci | RList | 10, 24, 14 | |
| default_item_scp096 | RList | Empty | |
| default_item_scp049_2 | RList | Empty | |
| default_item_lieutenant | RList | 7, 20, 19, 25, 12, 27, 26 | |
| default_item_commander | RList | 8, 20, 19, 25, 12, 27, 26 | |
| default_item_cadet | RList | 5, 21, 19, 12, 26 | |
| default_item_tutorial | RList | Empty | |
| default_item_guard | RList | 4, 23, 14, 19, 27, 12, 26 | |
| default_item_939_53 | RList | Empty | |
| default_item_939_89 | RList | Empty |
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| spawn_protect_disable | Boolean | True | Whether disable Spawn Protect |
| spawn_protect_time | Seconds | 30 | Time before the player is not invincible |
| spawn_protect_team | List | 1, 2 | Team(s) that will be spawn-protected |
| spawn_protect_allow_dmg | Boolean | True | Whether the spawn-protected player can damage others |
| Config Option | Value Type | Default Value | Description |
|---|---|---|---|
| smart_class_picker | Boolean | True | Enables/Disables Smart Class Picker |
| smart_cp_starting_weight | Integer | 6 | The weight a class starts out with |
| smart_cp_weight_min | Integer | 1 | The minimum weight a class can have |
| smart_cp_weight_max | Integer | 11 | The maximum weight a class can have |
| smart_cp_class_<Class #>_weight_decrease | Integer | Dynamic | The amount a weight goes down when a player plays the specified class, the default value is dynamic based on which team and class the player is |
| smart_cp_class_<Class #>_weight_increase | Integer | Dynamic | The amount a weight goes up when the player isn't the specified class, the default value is dynamic based on which team and class the player is |
| smart_cp_team_<Team #>_weight_decrease | Integer | Dynamic | The amount the weight for each class on a team goes down when a player plays on the specified team, the default value is dynamic based on which team and class the player is |
| smart_cp_team_<Team #>_weight_increase | Integer | Dynamic | The amount the weight for each class on a team goes up when the player isn't on the specified team, the default value is dynamic based on which team and class the player is |
- Every class gets +1 weight except for the class the player is chosen to be or the chosen class is NTF or SCP
- If the player is chosen to be NTF, the chosen class gets -4 weight and every other NTF class gets -2 weight
- If the player is chosen to be SCP, the chosen class gets -3 weight and every other SCP class gets -2 weight
- If the player is chosen to be Class D, Class D gets -3 weight
- If the player is chosen to be any other class, the chosen class gets -2 weight
- Installation
- Config
- Server Name Variables
- Commands
-
- Admin Events
- Enviroment Events
-
Player Events
- OnPlayerHurt
- OnPlayerDie
- OnPlayerPickupItem
- OnPlayerDropItem
- OnPlayerJoin
- OnNicknameSet
- OnAssignTeam
- OnSetRole
- OnCheckEscape
- OnSpawn
- OnDoorAccess
- OnIntercom
- OnIntercomCooldownCheck
- OnPocketDimensionExit
- OnPocketDimensionEnter
- OnPocketDimensionDie
- OnThrowGrenade
- OnPlayerInfected
- OnSpawnRagdoll
- OnLure
- OnContain106
- OnMedkitUse
- OnShoot
- On106CreatePortal
- On106Teleport
- OnElevatorUse
- OnHandcuff
- OnGeneratorUnlock
- OnGeneratorAccess
- OnGeneratorInsertTablet
- OnGeneratorEjectTablet
- On079Door
- On079Lock
- On079Elevator
- On079TeslaGate
- On079AddExp
- On079LevelUp
- On079UnlockDoors
- On079CameraTeleport
- On079ElevatorTeleport
- On079StartSpeaker
- On079StopSpeaker
- On079Lockdown
- Server Round Events
- Team Events