Skip to content

Rust server variables (convars) list with defaults

Every server variable (convar) a Rust dedicated server has, with the value it starts at. This list comes straight from a Rust dedicated server (Rust build 25902425, read 2026-10-14), and it is refreshed after every Rust update.

Set one by typing its name and a value (server.maxplayers 100) in the server console or over RCON, or put the same line in server/<identity>/cfg/server.cfg so it applies at every start. Typing the name alone prints the current value.

A Saved variable is written to cfg/serverauto.cfg when the server runs server.writecfg, and that file is read back at the next start before server.cfg, so a line in server.cfg still wins. Commands that do something rather than hold a value are on Rust console commands.

VariableDefaultSavedWhat it does
global.allowadminuiTrueYesControls whether the in-game admin UI is displayed to admins
global.cinematicgingerbreadcorpsesFalseWhen enabled a player wearing a gingerbread suit will gib like the gingerbread NPC’s
global.developer0Developer mode level: 0 = off, 1 = developer overlays and convar unlocks, higher values enable increasingly verbose debug logging
global.disablebagdroppingFalseDisables the backpacks that appear after a corpse times out
global.forceunloadbundlesTrueWhen enabled, asset bundles are unloaded from memory after their assets are extracted, saving memory; disable to keep bundles resident
global.job_system_threads15Number of Unity job worker threads; 0 or -1 sets the default (auto); higher values improve parallel job throughput on many-core CPUs
global.maxspraysperplayer40YesIf a player sprays more than this, the oldest spray will be destroyed. 0 will disable
global.maxthreads8Maximum number of Unity job system worker threads; controls the background thread pool size for job dispatching
global.perf0YesControls the on-screen performance overlay detail level; 0 = off, higher values add more metrics such as FPS, ping, entity count, and memory usage
global.showbotsinplayerlistFalseInclude bots in the admin UI player list (debugging purpose only)
global.sprayduration10800YesBase time (in seconds) that sprays last
global.sprayoutofauthmultiplier0.5YesMultiplier applied to SprayDuration if a spray isn’t in the sprayers auth (cannot go above 1f)
global.steamconnectiontimeout
global.steamnagleflushFalse
global.steamnagletimeNagle time, in microseconds
global.steamnetdebug0Turns on varying levels of debug output for the Steam Networking. This will affect performance. (0 = off, 1 = bug, 2 = error, 3 = important, 4 = warning, 5 = message, 6 = verbose, 7 = debug, 8 = everything)
global.steamnetdebug_ackrtt
global.steamnetdebug_message
global.steamnetdebug_p2prendezvous
global.steamnetdebug_packetdecode
global.steamnetdebug_packetgaps
global.steamnetdebug_sdrrelaypings
global.steamsendbufferUpper limit of buffered pending bytes to be sent
global.steamsendratemaxMaxminum send rate clamp, 0 is no limit
global.steamsendrateminMinimum send rate clamp, 0 is no limit
global.updatenetworkpositionwithdebugcamerawhilespectatingFalseWhen true, the server network position is updated to match the debug camera world position while spectating; useful for testing position-dependent server logic from the spectator view
VariableDefaultSavedWhat it does
adventcalendar.overrideadventcalendarday0
adventcalendar.overrideadventcalendarmonth0
VariableDefaultSavedWhat it does
ai.accuratevisiondistanceTrueWhen enabled, vision distance checks use per-bone raycasts for accuracy; disable to use a single origin ray for performance
ai.aimedatangle10The angle under which the AI will think it’s being aimed at at by a player
ai.animal_ignore_foodTrueIf animal_ignore_food is true, animals will not sense food sources or interact with them (server optimization). (default: true)
ai.batch_navmesh_pathfollowingTrueRun RustNav movement, steering and corridor queries in the transform job.
ai.batch_navmesh_transformsTrueBatch RustNav agent transform updates using jobs. Disable to apply each update immediately.
ai.critters_frametime0.2Target frame time in seconds for the Critters budget
ai.critters_startle_distance0.5How close can a player get before a critter gets startled and runs away
ai.debugmovedrawTrueYesWhether ai.selectnpc and ai.movenpc draw their DDraw markers - turn it off to keep the view clean while commanding NPCs.
ai.debugmovegaitrunYesGait ai.movenpc uses when called without one - set it to walk to keep commanded NPCs at walking speed. One of: sneak, walk, jog, run, sprint, fullsprint
ai.debugmovespacing2YesGap in metres between the destinations ai.movenpc hands out when more than one NPC is selected, so they don’t all path to the same point.
ai.defaultinterpolationdelay0.1Default network interpolation delay in seconds applied to NPC entity movement; lower values reduce visual lag at the cost of jitter on unstable connections
ai.designingenabledFalseYes
ai.effectaiweaponsFalseWhen enabled, AI weapons deal real damage when fired; disable to make NPC weapons harmless for testing AI behaviour safely
ai.frametime5Target frame time budget in seconds for AI tick processing; default is 5s in production (1s in editor) to cap CPU usage per AI frame
ai.fsm_frametime1Target frame time in seconds for the default FSMComponent budget
ai.groupsTrueWhen enabled, AI group logic is active allowing NPCs to coordinate as squads; disable to make all NPCs act as independent individuals
ai.ignoreplayersFalseWhen enabled, AI entities ignore player presence and will not target or react to players; useful for building/testing without NPC interference
ai.logissuesFalseWhen enabled, logs AI-related warnings and issues to the server console; useful for diagnosing pathfinding and brain errors
ai.moveTrueWhen enabled, AI entities move toward their NavMesh destinations; disable to freeze NPC movement while keeping brain logic running
ai.nav_carve_height2The height of the carve volume. (default: 2)
ai.nav_carve_min_base_size2The minimum size we allow a carving volume to be. (default: 2)
ai.nav_carve_min_building_blocks_to_apply_optimization25The minimum number of building blocks a building needs to consist of for this optimization to be applied. (default: 25)
ai.nav_carve_size_multiplier4The size multiplier applied to the size of the carve volume. The smaller the value, the tighter the skirt around foundation edges, but too small and animals can attack through walls. (default: 4)
ai.nav_carve_use_building_optimizationFalseIf nav_carve_use_building_optimization is true, we attempt to reduce the amount of navmesh carves for a building. (default: false)
ai.navthinkTrueWhen enabled, AI entities update their NavMesh agent destinations each tick; disable to freeze AI movement while keeping brain logic running
ai.npc_alertness_drain_rate0.01npc_alertness_drain_rate define the rate at which we drain the alertness level of an NPC when there are no enemies in sight. (Default: 0.01)
ai.npc_alertness_to_aim_modifier0.5This is multiplied with the current alertness (0-10) to decide how long it will take for the NPC to deliberately miss again. (default: 0.33)
ai.npc_alertness_zero_detection_mod0.5npc_alertness_zero_detection_mod define the threshold of visibility required to detect an enemy when alertness is zero. (Default: 0.5)
ai.npc_check_spawner_is_on_navmeshTrueWhen enabled, NPC spawn points are validated to ensure they are on a valid NavMesh position before spawning; prevents NPCs from spawning in unreachable locations
ai.npc_cover_compromised_cooldown10npc_cover_compromised_cooldown defines how long a cover point is marked as compromised before it’s cleared again for selection. (default: 10)
ai.npc_cover_info_tick_rate_multiplier20The rate at which we gather information about available cover points. Minimum value is 1, as it multiplies with the tick-rate of the fixed AI tick rate of 0.1 (Default: 20)
ai.npc_cover_path_vs_straight_dist_max_diff2npc_cover_path_vs_straight_dist_max_diff defines what the maximum difference between straight-line distance and path distance can be when evaluating cover points. (default: 2)
ai.npc_cover_use_path_distanceTrueIf npc_cover_use_path_distance is set to true then npcs will look at the distance between the cover point and their target using the path between the two, rather than the straight-line distance.
ai.npc_deliberate_hit_randomizer0.85The percentage away from a maximum miss the randomizer is allowed to travel when shooting to deliberately hit the target (we don’t want perfect hits with every shot). (default: 0.85f)
ai.npc_deliberate_miss_offset_multiplier1.25The offset with which the NPC will maximum miss the target. (default: 1.25)
ai.npc_deliberate_miss_to_hit_alignment_time1.5The time it takes for the NPC to deliberately miss to the time the NPC tries to hit its target. (default: 1.5)
ai.npc_door_trigger_size1.5npc_door_trigger_size defines the size of the trigger box on doors that opens the door as npcs walk close to it (default: 1.5)
ai.npc_enableTrueIf npc_enable is set to false then npcs won’t spawn. (default: true)
ai.npc_families_no_hurtTrueIf npc_families_no_hurt is true, npcs of the same family won’t be able to hurt each other. (default: true)
ai.npc_gun_noise_silencer_modifier0.15The modifier by which a silencer reduce the noise that a gun makes when shot. (Default: 0.15)
ai.npc_htn_player_base_damage_modifier1.15Baseline damage modifier for the new HTN Player NPCs to nerf their damage compared to the old NPCs. (default: 1.15f)
ai.npc_htn_player_frustration_threshold3npc_htn_player_frustration_threshold defines where the frustration threshold for NPCs go, where they have the opportunity to change to a more aggressive tactic. (default: 3)
ai.npc_ignore_chairsTrueIf npc_ignore_chairs is true, npcs won’t care about seeking out and sitting in chairs. (default: true)
ai.npc_junkpile_dist_aggro_gate8npc_junkpile_dist_aggro_gate define at what range (or closer) a junkpile scientist will get aggressive. (Default: 8)
ai.npc_junkpilespawn_chance0.07defines the chance for scientists to spawn at NPC junkpiles. (Default: 0.1)
ai.npc_max_junkpile_count30npc_max_junkpile_count define how many npcs can spawn into the world at junkpiles at the same time (does not include monuments) (Default: 30)
ai.npc_max_population_military_tunnels3npc_max_population_military_tunnels defines the size of the npc population at military tunnels. (default: 3)
ai.npc_max_roam_multiplier3This is multiplied with the max roam range stat of an NPC to determine how far from its spawn point the NPC is allowed to roam. (default: 3)
ai.npc_only_hurt_active_target_in_safezoneTrueIf npc_only_hurt_active_target_in_safezone is true, npcs won’t any player other than their actively targeted player when in a safe zone. (default: true)
ai.npc_patrol_point_cooldown5npc_patrol_point_cooldown defines the cooldown time on a patrol point until it’s available again (default: 5)
ai.npc_reasoning_system_tick_rate_multiplier1The rate at which we tick the reasoning system. Minimum value is 1, as it multiplies with the tick-rate of the fixed AI tick rate of 0.1 (Default: 1)
ai.npc_respawn_delay_max_military_tunnels1920npc_respawn_delay_max_military_tunnels defines the maximum delay between spawn ticks at military tunnels. (default: 1920)
ai.npc_respawn_delay_min_military_tunnels480npc_respawn_delay_min_military_tunnels defines the minimum delay between spawn ticks at military tunnels. (default: 480)
ai.npc_sensory_system_tick_rate_multiplier5The rate at which we tick the sensory system. Minimum value is 1, as it multiplies with the tick-rate of the fixed AI tick rate of 0.1 (Default: 5)
ai.npc_spawn_on_cargo_shipTrueSpawn NPCs on the Cargo Ship. (default: true)
ai.npc_spawn_on_deep_sea_islandsTrueSpawn NPCs on deep sea islands (default: false)
ai.npc_spawn_on_junkpileTrueSpawn NPCs on junkpiles (default: true)
ai.npc_spawn_per_tick_max_military_tunnels1npc_spawn_per_tick_max_military_tunnels defines how many can maximum spawn at once at military tunnels. (default: 1)
ai.npc_spawn_per_tick_min_military_tunnels1npc_spawn_per_tick_min_military_tunnels defineshow many will minimum spawn at once at military tunnels. (default: 1)
ai.npc_speed_crouch_run0.25npc_speed_crouch_run define the speed of an npc when in the crouched run state, and should be a number between 0 and 1. (Default: 0.25)
ai.npc_speed_crouch_walk0.1npc_speed_walk define the speed of an npc when in the crouched walk state, and should be a number between 0 and 1. (Default: 0.1)
ai.npc_speed_run0.4npc_speed_walk define the speed of an npc when in the run state, and should be a number between 0 and 1. (Default: 0.4)
ai.npc_speed_sprint1npc_speed_walk define the speed of an npc when in the sprint state, and should be a number between 0 and 1. (Default: 1.0)
ai.npc_speed_walk0.18npc_speed_walk define the speed of an npc when in the walk state, and should be a number between 0 and 1. (Default: 0.18)
ai.npc_use_new_aim_systemTrueIf npc_use_new_aim_system is true, npcs will miss on purpose on occasion, where the old system would randomize aim cone. (default: true)
ai.npc_use_thrown_weaponsTrueIf npc_use_thrown_weapons is true, npcs will throw grenades, etc. This is an experimental feature. (default: true)
ai.npc_valid_aim_cone0.8npc_valid_aim_cone defines how close their aim needs to be on target in order to fire. (default: 0.8)
ai.npc_valid_mounted_aim_cone0.92npc_valid_mounted_aim_cone defines how close their aim needs to be on target in order to fire while mounted. (default: 0.92)
ai.npcbarksenabledFalseYes
ai.npchealthmultiplier1Global health multiplier applied to all NPCs; 1.0 = normal, 2.0 = double health; useful for difficulty scaling without modifying individual NPC prefabs
ai.npcswimmingTrueWhen enabled, NPCs can enter and swim in water; disable to prevent all NPCs from entering water bodies
ai.ocean_critters_movement_frametime0.2Target frame time in seconds for the Ocean Critters swimming movement budget
ai.ocean_patrol_path_iterations100000Maximum number of path-finding iterations used when calculating NPC ocean patrol routes; higher values produce better paths at more CPU cost
ai.scientist_spawners_enabledTrueDo any kind of scientists spawn on the map (default: true)
ai.sensetime1How frequently in seconds the NPC sensory system updates its awareness of nearby entities; higher values reduce CPU cost but make NPCs slower to react
ai.setdestinationsamplenavmeshTrueWhen enabled, NavMesh destinations are sampled to the nearest valid NavMesh position before being set; prevents NPCs getting stuck off-mesh
ai.showstateflashduration1.5How long (in seconds) a value that has just moved stays coloured in the ai.showState read-out; 0 stops it colouring at all
ai.sleepwakeTrueWhen enabled, AI information zones can sleep inactive NPCs and wake them when players approach; disable to keep all NPCs awake at all times
ai.smokegrenadenpcradius4Radius in metres within which a thrown smoke grenade suppresses NPC vision and targeting
ai.spliceupdatesTrueWhen enabled, AI updates are spliced across multiple frames to spread CPU cost; disable to run all AI updates synchronously every tick
ai.thinkTrueWhen enabled, AI entities run their brain Think() logic each tick; disable to freeze all AI decision-making while leaving entities in place
ai.tickrate5Number of AI think ticks per second; default is 5 (every 200ms); higher values make AI more responsive at higher CPU cost
ai.usecalculatepathTrueWhen enabled, NavMesh path calculation uses the full CalculatePath API; disable to use the simpler SetDestination fallback only
ai.usegridTrueWhen enabled, AI uses the spatial grid for entity queries; disable to fall back to brute-force entity iteration for debugging spatial query issues
ai.usesetdestinationfallbackTrueWhen enabled, falls back to SetDestination if CalculatePath fails to find a valid path to the target
ai.watchedangle50The angle under which the AI will think it’s being watched by another entity
VariableDefaultSavedWhat it does
aibrainsenses.humanknownplayerslosupdateinterval0.2Interval in seconds between line-of-sight update ticks for human-type NPCs tracking known player positions
aibrainsenses.knownplayerslosupdateinterval0.5Interval in seconds between line-of-sight update ticks for all NPC types tracking known player positions
aibrainsenses.updateinterval0.5Interval in seconds between full AI brain senses update ticks; controls how frequently NPCs refresh their awareness of surroundings
VariableDefaultSavedWhat it does
aiinformationzone.usesimpleloscheckFalse
VariableDefaultSavedWhat it does
aimanager.ai_dormantTrueIf ai_dormant is true, any npc outside the range of players will render itself dormant and take up less resources, but wildlife won’t simulate as well.
aimanager.ai_dormant_max_wakeup_per_tick30ai_dormant_max_wakeup_per_tick defines the maximum number of dormant agents we will wake up in a single tick. (default: 30)
aimanager.ai_htn_animal_tick_budget4ai_htn_animal_tick_budget defines the maximum amount of milliseconds ticking htn animal agents are allowed to consume. (default: 4 ms)
aimanager.ai_htn_player_junkpile_tick_budget4ai_htn_player_junkpile_tick_budget defines the maximum amount of milliseconds ticking htn player junkpile agents are allowed to consume. (default: 4 ms)
aimanager.ai_htn_player_tick_budget4ai_htn_player_tick_budget defines the maximum amount of milliseconds ticking htn player agents are allowed to consume. (default: 4 ms)
aimanager.ai_htn_use_agency_tickTrueIf ai_htn_use_agency_tick is true, the ai manager’s agency system will tick htn agents at the ms budgets defined in ai_htn_player_tick_budget and ai_htn_animal_tick_budget. If it’s false, each agent registers with the invoke system individually, with no frame-budget restrictions. (default: true)
aimanager.ai_to_player_distance_wakeup_range160If an agent is beyond this distance to a player, it’s flagged for becoming dormant.
aimanager.nav_disableFalseIf set to true the navmesh won’t generate.. which means Ai that uses the navmesh won’t be able to move
aimanager.nav_obstacles_carve_state2nav_obstacles_carve_state defines which obstacles can carve the terrain. 0 - No carving, 1 - Only player construction carves, 2 - All obstacles carve.
aimanager.nav_waitTrueIf true we’ll wait for the navmesh to generate before completely starting the server. This might cause your server to hitch and lag as it generates in the background.
aimanager.pathfindingiterationsperframe100The maximum amount of nodes processed each frame in the asynchronous pathfinding process. Increasing this value will cause the paths to be processed faster, but can cause some hiccups in frame rate. Default value is 100, a good range for tuning is between 50 and 500.
aimanager.setdestination_navmesh_failsafeFalseIf set to true, npcs will attempt to place themselves on the navmesh if not on a navmesh when set destination is called.
VariableDefaultSavedWhat it does
aimountedweaponcontroller.burst_length3
aimountedweaponcontroller.fire_rate0.125
aimountedweaponcontroller.time_between_bursts3
VariableDefaultSavedWhat it does
aithinkmanager.animalframebudgetms2
aithinkmanager.framebudgetms2
aithinkmanager.petframebudgetms1
VariableDefaultSavedWhat it does
analytics.analytics_bulk_container_urlYesAzure blob container url for use with client secret authentication
analytics.analytics_bulk_upload_urlYesAzure blob container url + SAS token, enables a more efficient upload method
analytics.analytics_headerX-API-KEYYesHeader key of secret when uploading analytics
analytics.analytics_secretYesHeader secret value when uploading analytics
analytics.azure_client_idYesAzure client id for authentication
analytics.azure_client_secretYesAzure client secret for authentication
analytics.azure_tenant_idYesAzure tenant id for authentication
analytics.dryrunFalseExecutes entire flow without actually sending out anything
analytics.gameplay_analyticsFalseYesToggle whether gameplay analytics is collected
analytics.gameplay_rpc_analyticsTrueYesToggle whether gameplay rpc logging is collected
analytics.gameplay_tick_analyticsFalseYesToggle whether gameplay tick analytics is collected
analytics.logFalse
analytics.performance_analyticsTrueYesToggle to turn off server performance collection
analytics.server_analytics_urlhttps://gw.facepunch.com/analytics/rust/server
VariableDefaultSavedWhat it does
antihack.admincheatTrue
antihack.build_inside_check2
antihack.build_losradius0.01
antihack.build_losradius_sleepingbag0.3
antihack.build_terraincheckTrue
antihack.build_vehiclecheckTrue
antihack.check_mount_distance1
antihack.debuglevel1
antihack.enforcementlevel1
antihack.explosive_vehicle_parent_damage_deployablesFalseShould explosives parented to vehicles damage deployables
antihack.eye_clientframes2
antihack.eye_distance_parented_mounted_forgiveness2
antihack.eye_forgiveness0.4
antihack.eye_history_forgiveness0.1
antihack.eye_history_penalty100
antihack.eye_losradius0.158
antihack.eye_noclip_backtracking0.01
antihack.eye_noclip_cutoff0.06
antihack.eye_noclip_margin0.25
antihack.eye_penalty0
antihack.eye_protection4
antihack.eye_serverframes2
antihack.eye_terraincheckTrue
antihack.eye_vehiclecheckTrue
antihack.flyhack_extrusion2
antihack.flyhack_forgiveness_horizontal1.5
antihack.flyhack_forgiveness_horizontal_inertia10
antihack.flyhack_forgiveness_vertical1
antihack.flyhack_forgiveness_vertical_inertia7
antihack.flyhack_margin0.1
antihack.flyhack_maxsteps15
antihack.flyhack_penalty100
antihack.flyhack_protection3
antihack.flyhack_rejectTrue
antihack.flyhack_stepsize0.1
antihack.forcepositionTrue
antihack.hotbar_network_mode0
antihack.impact_effect_distance_forgiveness0.45
antihack.maxdeltatime1
antihack.maxdesync0.8
antihack.maxviolation100
antihack.melee_backtracking0.01
antihack.melee_clientframes2
antihack.melee_entity_bounds_radius0.05
antihack.melee_forgiveness0.5
antihack.melee_los_entity_realposTrue
antihack.melee_los_entity_realpos_distance1.3
antihack.melee_losforgiveness0.2
antihack.melee_penalty0
antihack.melee_protection5
antihack.melee_serverframes2
antihack.melee_terraincheckTrue
antihack.melee_vehiclecheckTrue
antihack.mesh_inside_check_distance50
antihack.modelstateTrue
antihack.noclip_backtracking0.01Yes
antihack.noclip_margin0.16
antihack.noclip_margin_dismount0.22Yes
antihack.noclip_maxsteps15
antihack.noclip_penalty0
antihack.noclip_protection3
antihack.noclip_rejectTrue
antihack.noclip_stepsize0.1
antihack.objectplacementTrue
antihack.parenthistoryTrue
antihack.projectile_anglechange60
antihack.projectile_backtracking0.01
antihack.projectile_clientframes2
antihack.projectile_damagedepth2
antihack.projectile_defaultcheckTrue
antihack.projectile_deployedcheckTrue
antihack.projectile_desync1
antihack.projectile_distance_forgiveness_minimum25
antihack.projectile_forgiveness0.5
antihack.projectile_impactspawndepth1
antihack.projectile_losforgiveness0.2
antihack.projectile_penalty0
antihack.projectile_positionoffsetTrue
antihack.projectile_protection6
antihack.projectile_serverframes2
antihack.projectile_terraincheckTrue
antihack.projectile_trajectory2
antihack.projectile_trajectory_update0.02
antihack.projectile_update_limit4
antihack.projectile_vehiclecheckTrue
antihack.projectile_velocitychange1.1
antihack.relaxationpause10
antihack.relaxationrate0.1
antihack.reportingFalse
antihack.rpc_timer_forgiveness1
antihack.rpcstallfade2.5
antihack.rpcstallmode1
antihack.rpcstallthreshold0.8
antihack.server_occlusion_admin_bypassFalse
antihack.server_occlusion_blocked_grid_threshold0
antihack.server_occlusion_cachingTrue
antihack.server_occlusion_disable_losFalse
antihack.server_occlusion_disable_sleeper_losFalse
antihack.server_occlusion_neighbour_threshold2
antihack.server_occlusion_save_gridTrue
antihack.server_occlusion_use_neighbour_thresholdsFalse
antihack.speedhack_forgiveness2
antihack.speedhack_forgiveness_inertia10
antihack.speedhack_penalty0
antihack.speedhack_protection3
antihack.speedhack_rejectTrue
antihack.speedhack_slopespeed10
antihack.speedhack_water_threshold0.4
antihack.stall_position_restrictionsTrue
antihack.strict_mount_checks1
antihack.terrain_check_geometryFalse
antihack.terrain_killTrue
antihack.terrain_padding0.3
antihack.terrain_penalty100
antihack.terrain_protection1
antihack.terrain_timeslice64
antihack.terrain_vehicle_seat_padding0.3
antihack.tick_buffer_noclip_threshold2
antihack.tick_buffer_preventionsTrue
antihack.tick_buffer_reject_threshold3
antihack.tick_buffer_server_lag_threshold0.3
antihack.tick_distance_forgiveness5
antihack.tick_max_distance1.1
antihack.tick_max_distance_falling4
antihack.tick_max_distance_parented3
antihack.tickhistoryforgiveness0.1
antihack.tickhistorytime0.5
antihack.use_legacy_mesh_inside_checkTrue
antihack.userlevel2
VariableDefaultSavedWhat it does
apartment.adminapartmentbypassFalseYesShould admins be able to bypass apartment authorization checks?
apartment.adminapartmentnoclipTrueShould admins be able to noclip in apartments?
apartment.allowcombatoutsideofbreakinTrueYesShould combat be allowed inside apartment rooms outside of the break-in period?
apartment.apartmentevictiondelay86400YesHow long should we wait before evicting a player from their apartment if they don’t pay rent?
apartment.apartmentfreerenthours4How many hours of scrap upkeep does the apartments spawn with (so players don’t see ‘Eviction’ vital right after renting an apartment
apartment.apartmentinvisibleblockerTrueYesShould an invisible blocker prevent guests from entering apartments that they don’t have access to?
apartment.breakinseconds30YesHow long a player needs to hold the break in interaction on an apartment door with a master key
apartment.intruderauthseconds300How long a player stays authorized on an apartment room after breaking in with a master key
apartment.masterkeyprice1000YesHow much scrap the apartment security NPC charges for a master key
apartment.npcsecuritydooropentime300How long should the apartment security NPC keep the door open for after being paid?
apartment.rentscaling0Should the rent scale based on the items you have stored inside your apartment?
VariableDefaultSavedWhat it does
app.alarmcooldown30Cooldown time before alarms can send another notification (in seconds)
app.endpointhttps://companion-rust.facepunch.com/apiBase address for the Rust+ companion server API
app.listenipIP address the server listens on for incoming connections; leave empty to bind to all available network interfaces
app.logexceptionsTrueWhen enabled, server-side C# exceptions are written to the server log file; disabling reduces log noise on servers with known non-critical exceptions
app.maxconnections500Maximum number of simultaneous player connections allowed; connections above this limit are rejected with a server full message
app.maxconnectionsperip10Maximum simultaneous connections from the same IP address; prevents a single host from consuming all connection slots
app.maxmessagesize1048576Maximum allowed size in bytes of a single network message; oversized messages are dropped to prevent memory exhaustion attacks
app.notificationsTrueEnables sending push notifications
app.port0UDP port number the server listens on; default is 28015; must be open in firewall for players to connect
app.publicipPublic IP address advertised to the Steam server browser; leave empty to auto-detect; set explicitly if behind NAT
app.queuelimit100Max number of queued messages - set to 0 to disable message processing
app.serveridYes
app.updateTrueDisables updating entirely - emergency use only
VariableDefaultSavedWhat it does
autoturret.ammo_update_ms0.1How many milliseconds to spend on ammo updating per frame
autoturret.scan_budget_ms0.5How many milliseconds to spend on target scanning per frame
autoturret.tick_update_ms1How many milliseconds to spend on a tick per frame
VariableDefaultSavedWhat it does
baseboat.debug_eject_aiFalseWhen enabled, logs debug information about AI ejection events when passengers are removed from boat seats
baseboat.do_shore_driftTrueWhen enabled, boats without nearby players will slowly drift toward the shore after the shore drift delay elapses
baseboat.drift_speed1
baseboat.generate_pathsTrueWhen enabled, procedural patrol paths are generated for boats at server startup; false in editor to skip path generation during testing
VariableDefaultSavedWhat it does
basefirework.maxactivefireworks25
VariableDefaultSavedWhat it does
basefishingrod.forcefailFalseWhen enabled, all fishing attempts fail immediately; cheat for testing failed-catch animations and UI feedback
basefishingrod.forcesuccessFalseWhen enabled, all fishing attempts succeed immediately regardless of bite probability; cheat for testing fishing catch logic
basefishingrod.immediatehookFalseWhen enabled, fish bite the hook immediately after casting without any wait time; cheat for testing bite response
VariableDefaultSavedWhat it does
basemetaldetector.detectlongrangetick1Interval in seconds between long-range detectability checks for buried objects; longer interval saves CPU for distant searches
basemetaldetector.detectminmovementdistance1Minimum distance in metres the player must move before a new long-range detection check is triggered
basemetaldetector.nearestdistancetick0.25Interval in seconds between nearest-detectable-object distance checks performed by the metal detector
VariableDefaultSavedWhat it does
basemission.missionpervalidstatecooldown3YesMinimum time (s) between revalidating individual missions via updateMissionValidStateWorkQueue
basemission.missionsenabledTrueWhen enabled, missions are available and can be assigned to players; disable to globally suppress mission generation and assignment on the server
basemission.missionvalidstateworkqueuebudget0.1YesHow long per frame (ms) to spend processing updateMissionValidStateWorkQueue
basemission.missionvalidstateworkqueuecooldown3YesMinimum time (s) between starting runs of updateMissionValidStateWorkQueue
VariableDefaultSavedWhat it does
basemountable.canpausemountedplayersyncFalseToggles the usage of mountable MountedPlayerSync optimisations (only used by boat scientists currently)
VariableDefaultSavedWhat it does
basenavigator.basenavmovementframeinterval2How many frames between base navigation movement updates
basenavigator.maxstepupdistance1.7The max step-up height difference for pet base navigation
basenavigator.navtypedistance1
basenavigator.navtypeheightoffset0.5
basenavigator.stucktriggerduration10How long we are not moving for before trigger the stuck event
VariableDefaultSavedWhat it does
basepet.movementupdatebudgetms1
basepet.onlyqueuebasenavmovementsTrue
basepet.queuedmovementsallowedTrue
VariableDefaultSavedWhat it does
baseplayer.allowrelationshipserverocclusionTrueYesWhen enabled, server occlusion is taken into account when updating player relationship visibility data; saved between restarts
baseplayer.botcolliderframebudgetms0.05Per-frame CPU budget in milliseconds for the bot collider work queue that updates NPC physics colliders
baseplayer.lifestoryframebudgetms0.25
baseplayer.relationshipupdatequeueframebudgetms0.05Per-frame CPU budget in milliseconds for processing the player relationship (contacts/team) update queue
VariableDefaultSavedWhat it does
basesculpture.useconvexcollidersFalseYesUse convex colliders for generated blocks on both the client and server - slower to generate but blocks holes, only effects future modifications
VariableDefaultSavedWhat it does
basesiegeweapon.outsidedecayminutes600How many minutes before a siege weapon loses all its health while outside
VariableDefaultSavedWhat it does
basesubmarine.deepwaterdecayminutes120How long before a submarine loses all its health while in deep water
basesubmarine.outsidedecayminutes180How long before a submarine loses all its health while outside. If it’s in deep water, deepwaterdecayminutes is used
basesubmarine.oxygenminutes10How long a submarine can stay underwater until players start taking damage from low oxygen
VariableDefaultSavedWhat it does
batching.verbose0Verbosity level for static batching debug output; 0 = off, higher values print more detail about batch operations to the console
VariableDefaultSavedWhat it does
batteringram.maxbuildingblockgrade2Maximum building block upgrade grade (0=twig,1=wood,2=stone,3=metal,4=top tier) that the battering ram can damage; default 2 (stone)
VariableDefaultSavedWhat it does
bear.population2Population active on the server, per square km
VariableDefaultSavedWhat it does
beehive.updatehiveinterval120How long before a Beehive will update
beehive.updatehivestatsinterval120How long before the Beehive will perform temperature and inside checks
beehive.xpincreaseperhoneycomb2How much the Nucleus’s XP should be increased per honeycomb generated
VariableDefaultSavedWhat it does
beeswarmai.breakrange15Range to leave current target alone (should be higher than search)
beeswarmai.disableFalse
beeswarmai.flamesettingdistance5.5How far away fire has to be to set the swarm on fire
beeswarmai.killwithouttargettime150How long a swarm will stick around without a target
beeswarmai.searchrange10Range to find new targets
beeswarmai.think_budget_ms0.1How many milliseconds to spend on thinking per frame
beeswarmai.waterthreshold0.6How much water a player needs to be in to be ignored
VariableDefaultSavedWhat it does
beeswarmmaster.amounttospawn3How many child swarms a master swarm will create
beeswarmmaster.killwithoutatargettime150How long a master swarm will stick around without a target
beeswarmmaster.secondsbetweenspawns60How long before a master swarm will create a child
VariableDefaultSavedWhat it does
bigwheelgame.spinfrequencyseconds45
VariableDefaultSavedWhat it does
bike.doplayerdamageTrueCan bike crashes cause damage or death to the rider?
bike.motorbikemonumentpopulation1Motorbike population in monuments
bike.outsidedecayminutes1440How long before a bike loses all its health while outside
bike.pedalmonumentpopulation1Pedal bike population in monuments
bike.pedalroadsidepopulation1Pedal bike population active on the server (roadside spawns)
bike.playerdamageragdolltheshold10Amount of collision damage on a bike required to ragdoll the player
VariableDefaultSavedWhat it does
blackjackmachine.maxbet500Maximum initial bet per round
VariableDefaultSavedWhat it does
boar.population5Population active on the server, per square km
VariableDefaultSavedWhat it does
boatai.allow_sleepingFalseWhen enabled, boat AI entities can enter a sleep state when no players are nearby; reduce CPU usage for idle boats
boatai.avoidance_update_interval0.8How often to update the avoidance cache. Lower number means a more accurate cache at the expensive of performance.
boatai.boat_ai_frame_budget_ms0.3YesHow long per frame to spend on boat ai
boatai.draw_debugsFalseWhen enabled, draws DDraw visualisations of boat AI steering, avoidance, and pathfinding state
boatai.enable_mount_sync_distance750Distance players need to be to start syncing mounted seats
boatai.max_speed_percentage0.9YesMaximum speed as a fraction of the boat’s top speed that AI-controlled boats will use; default 0.9; saved and shown in admin UI
boatai.print_debugsFalseWhen enabled, logs verbose boat AI decision-making output to the server console each AI tick
boatai.seconds_until_sleep30Number of seconds a boat AI will wait without player interaction before entering sleep mode; default 30s
VariableDefaultSavedWhat it does
boatbuildingblock.alwayrotatableTrueYes
boatbuildingblock.alwaysdemolishableTrueYes
boatbuildingblock.forwarddamagetoparentboatTrueWhen enabled, damage dealt to a building block attached to a boat is forwarded up to the parent boat entity
VariableDefaultSavedWhat it does
boatbuildingblockdecay.decaydelayminutes30Multiplied by the base BuildingBlockDecay duration
boatbuildingblockdecay.decaydurationmultiplier1Multiplied by the base BuildingBlockDecay duration
VariableDefaultSavedWhat it does
boatbuildingstation.autocloseplayercheckinterval150
boatbuildingstation.autocloseplayerchecktriggercount2
boatbuildingstation.editfinishuseinterval5Yes
boatbuildingstation.globaleditfinishuseinterval0
boatbuildingstation.logboatbuildingeventsFalse
boatbuildingstation.max_bbs1Yes
boatbuildingstation.staticstationsenabledTrue
VariableDefaultSavedWhat it does
boombox.backtracklength30YesHow many hops a speaker or boombox will traverse to find a connection
boombox.serverurllistYesA list of radio stations that are valid on this server. Format: NAME,URL,NAME,URL,etc
VariableDefaultSavedWhat it does
bradley.enabledTrueWhen false, prevents the Bradley APC from spawning or respawning on the server
bradley.respawndelayminutes60Number of minutes after the Bradley APC is destroyed before it respawns at its patrol path; default is 60 minutes
bradley.respawndelayvariance1Random variance multiplier applied to respawnDelayMinutes; a value of 1.0 means the actual delay is randomly chosen between 0 and respawnDelayMinutes
VariableDefaultSavedWhat it does
bradleyapc.deployattackdistancemax50
bradleyapc.deployhealthrangemax0.5
bradleyapc.deployhealthrangemin0.4
bradleyapc.deployinterval1
bradleyapc.deployondamagecheckinterval1
bradleyapc.killscientistsonbradleydeathFalse
bradleyapc.mountafternotattackedduration180
bradleyapc.mountafternotfiredduration60
bradleyapc.mountafternottargetsduration60
bradleyapc.scientistredeploymentmininterval60
bradleyapc.usesmokegrenadesTrue
VariableDefaultSavedWhat it does
buoyancy.use_batchingTrueWhen enabled, buoyancy point physics updates are batched together each fixed update for better CPU efficiency
VariableDefaultSavedWhat it does
burieditems.burieditemweight100Metal detector loot weight is 100.
burieditems.buryitemchance0.85[0.0 to 1.0]
burieditems.expirytime86400Time in seconds before an item expires.
burieditems.maxburieditems32
VariableDefaultSavedWhat it does
camerarenderer.completionframebudgetms5Per-frame CPU budget in milliseconds for completing pending companion server camera renders
camerarenderer.developerpermissionsTrueEnable developer-specific permissions for camera access (less restricted)
camerarenderer.enabledTrueWhen enabled, the companion server camera rendering system is active and processes camera render requests from the companion app
camerarenderer.entitymaxage5Maximum age in frames for a known collider entity entry in the companion server camera cache before it is evicted
camerarenderer.entitymaxdistance100Maximum distance in metres from the companion server camera at which entity colliders are tracked for rendering
camerarenderer.farplane250Far clipping plane distance in metres for companion server camera renders; default 250
camerarenderer.height180Height in pixels of the companion server camera render output; default 180
camerarenderer.layermask1218656529Physics layer mask used for raycasting in companion server camera depth sampling; defaults to solid, water, and player movement layers
camerarenderer.maxraysperframe100000Maximum number of raycasts per frame used for companion server camera depth sampling
camerarenderer.maxrendersperframe25Maximum number of camera render tasks that can complete per frame for companion server cameras
camerarenderer.nearplane0Near clipping plane distance for companion server camera renders; 0 = use default
camerarenderer.playermaxdistance30Maximum distance in metres at which player entities are included in companion server camera renders
camerarenderer.playernamemaxdistance10Maximum distance in metres at which player name labels are included in companion server camera render output
camerarenderer.rayjitter0.5Maximum per-axis camera rotation jitter, in sample cells, applied to each companion server camera render so a stationary camera still returns a natural scatter of ray samples instead of a rigid grid; 0 disables
camerarenderer.renderinterval0.05Interval in seconds between successive companion server camera render dispatches; default 0.05s (20 Hz)
camerarenderer.samplesperrender3000Number of raycast samples taken per companion server camera render pass for depth reconstruction
camerarenderer.verticalfov65Vertical field of view in degrees for companion server camera renders; default 65
camerarenderer.width320Width in pixels of the companion server camera render output; default 320
VariableDefaultSavedWhat it does
cannon.ignore_boat_mount_restrictionsFalseAllows mounting cannons outside of boats for testing.
VariableDefaultSavedWhat it does
cargoship.cargo_escape_boat_rhibTrue
cargoship.dock_time480
cargoship.docking_debugFalse
cargoship.egress_duration_minutes10
cargoship.event_duration_minutes50
cargoship.event_enabledTrue
cargoship.loot_round_spacing_minutes10
cargoship.loot_rounds3
cargoship.refresh_loot_on_dockTrue
cargoship.should_dockTrue
VariableDefaultSavedWhat it does
cassette.maxcassettefilesizemb5Yes
VariableDefaultSavedWhat it does
cctv.camera_disable_seconds300
cctv.inputbudgetms0.05Yes
VariableDefaultSavedWhat it does
chat.enabledTrueWhen enabled, this system is globally active; disable to deactivate the system for the current session
chat.globalchatTrueYes
chat.hidechatintutorialTrueYes
chat.historysize1000Number of messages to keep in memory for chat history
chat.localchatFalseYes
chat.localchatrange100Maximum distance in metres within which local chat messages are visible to nearby players; messages from beyond this range are not received
chat.serverlogTrueWhen enabled, all chat messages are written to the server log file in addition to being broadcast to players
VariableDefaultSavedWhat it does
chicken.population3Population active on the server, per square km
VariableDefaultSavedWhat it does
clan.editsrequireclantableTrueYesIf enabled then players will need to be near a Clan Table to make changes to clans
clan.enabledTrueEnables the clan system if set to true (must be set at boot, requires restart)
clan.maxmembercount100Maximum number of members each clan can have (local backend only!)
clan.scorefordestroyingbradley50How much score players earn for destroying bradley
clan.scorefordestroyingpatrolheli50How much score players earn for destroying patrol heli
clan.scoreforenablingwatertreatmentplant3How much score players earn for running the water treatment plant, per consumed item
clan.scoreforhackingcrates5How much score players earn for hacking crates
clan.scoreforinsertheavyfuseinpowerplant5How much score players earn for inserting a heavy fuse into powerplant
clan.scoreforlaunchingsatellite25How much score players earn for launching a satellite
clan.scoreforlootingelitecrate5How much score players earn for looting an elite crate
clan.scoreforlootingsatellite10How much score players earn for looting a crashed satellite’s crates
clan.scoreforopeninghackedcrates10How much score players earn for opening hacked crates
clan.scoreforreachingcargoship10How much score players earn for reaching cargo ship
clan.scoreforrunningexcavator3How much score players earn for running the excavator, per diesel fuel consumed
clan.scoreforstartingoilrigfuelswitch5How much score players earn for starting the oil rig fuel switch
clan.scoreforswipingredkeycard5How much score players earn for swiping a red keycard
VariableDefaultSavedWhat it does
clothlod.clothloddist20distance cloth will simulate until
VariableDefaultSavedWhat it does
codelock.lockoutcooldown900Duration in seconds a player is locked out from attempting the code lock after exceeding maxFailedAttempts; default 900s (15 minutes)
codelock.maxfailedattempts8Maximum number of failed code entry attempts on a code lock before the player is locked out; default 8
VariableDefaultSavedWhat it does
commandblock.commands_enabledFalseCan command blocks execute commands
commandblock.log_executionsTruePrint a log message when a command block is executed
commandblock.use_playerFalseIf enabled, commands from command blocks will run using the last player who set them, allowing for a wider range of commands to be used
VariableDefaultSavedWhat it does
console.consolehistorysize50Maximum number of console history entries
VariableDefaultSavedWhat it does
construct.frameminutes30
VariableDefaultSavedWhat it does
construction.alternativeloschecks_enabledTrueYes
VariableDefaultSavedWhat it does
convartimedprefabspawner.prefab_despawn_time20YesTime in seconds before spawned prefabs are despawned. Set to 0 to disable despawning.
convartimedprefabspawner.prefab_spawn_interval0Time in seconds between prefab spawns. Set to 0 to disable spawning.
convartimedprefabspawner.prefab_spawn_interval_variance3YesVariance in seconds to add/subtract from the spawn interval
convartimedprefabspawner.prefab_spawn_random_position_offset0YesMaximum random offset (sphere radius) from the spawner’s position when spawning prefabs
convartimedprefabspawner.prefab_spawn_random_rotationTrueYesIf true, spawned prefabs will have a random rotation
VariableDefaultSavedWhat it does
coverpointvolume.cover_point_sample_step_height2cover_point_sample_step_height defines the height of the steps we do vertically for the cover point volume’s cover point generation (smaller steps gives more accurate cover points, but at a higher processing cost). (default: 2.0)
coverpointvolume.cover_point_sample_step_size6cover_point_sample_step_size defines the size of the steps we do horizontally for the cover point volume’s cover point generation (smaller steps gives more accurate cover points, but at a higher processing cost). (default: 6.0)
VariableDefaultSavedWhat it does
cow.population2Population active on the server, per square km
VariableDefaultSavedWhat it does
crabs.population2Population active on the server, per square km
VariableDefaultSavedWhat it does
craft.instantFalseWhen enabled, all crafting completes instantly with no time delay; useful for testing crafting recipes or quickly equipping items in development
VariableDefaultSavedWhat it does
creative.allusersFalseYesApply creative mode to the entire server
creative.alwaysonenabledFalseYesFailsafe toggle that must be true before any alwaysOn commands work; prevents items from accidentally entering the always-on state outside of creative mode
creative.bypassholdtoplacedurationFalseYesBypasses bypassHoldToPlaceDuration when deploying items
creative.freebuildFalseYesBuild blocks for free
creative.freeplacementFalseYesBypasses all placement checks
creative.freerepairFalseYesBypass the 30s repair cooldown when repairing objects
creative.unlimitedioFalseYesBypasses limits on IO length and points
VariableDefaultSavedWhat it does
crocodile.population1Population active on the server, per square km
VariableDefaultSavedWhat it does
dartsgame.accuracyadjustspeed1Yes
dartsgame.accuratevelocitythreshold0.05Yes
dartsgame.cooldownbetweenthrows3Yes
dartsgame.debugcanplayagainstselfFalseYes
dartsgame.holdfocusaddedfriction0.45Yes
dartsgame.holdfocusduration2Yes
dartsgame.idlekickseconds180Yes
dartsgame.maxaccuracy0Yes
dartsgame.maxthrowtimer10Yes
dartsgame.maxzoom0.5Yes
dartsgame.minaccuracy0.1Yes
dartsgame.needdoubletowinTrueYes
dartsgame.reticlefriction0.5Yes
dartsgame.reticleinputbufferapplication100Yes
dartsgame.reticleinputspeed0.01Yes
dartsgame.reticlemaxvelocity3Yes
dartsgame.reticlerandomforcestrength0.5Yes
dartsgame.reticlespawnpointradiusoffset0.5Yes
dartsgame.scoretarget301YesSets the score target in Darts. Standard games are either 301 or 501.
VariableDefaultSavedWhat it does
debug.bag_respawn_parentingTrueWhether to parent players immediately on spawning to a boat if the bag is on a boat
debug.callbacksFalseWhen enabled, logs debug information about object callback invocations to the console; useful for tracing event callback chains
debug.checkparentingtriggersTrueWhen enabled, validates that trigger colliders are correctly parented to their entities during physics updates; helps catch mis-parenting bugs
debug.checktriggersFalseWhen enabled, validates trigger collider configurations each physics update to catch incorrectly parented or sized trigger volumes
debug.debugclippingchecksFalseShows debug info for what objects are causing clipping checks to fail.
debug.debugdismountsFalse
debug.disableconditionFalseDo not damage any items
debug.disablelootnavobstaclesindeepseaTrueWhen true, nav mesh obstacle components on loot containers are disabled in the deep sea zone to improve performance in underwater areas
debug.logTrueWhen enabled, Unity Debug.Log output is written to disk; disabling first logs a final message before suppressing further output
debug.printmissionspeakinfoFalseWhen enabled, logs mission NPC speech info (speaker, line, trigger) to the console as mission dialogue events fire
debug.puzzleresettimemultiplier1Multiplier applied to all puzzle reset timers; values below 1.0 make puzzles reset faster, above 1.0 slower
debug.tutorial_start_cooldown60Minimum seconds that must pass after a tutorial ends before another one can start; prevents back-to-back tutorial spam
VariableDefaultSavedWhat it does
decay.bracket_0_blockcount15Number of blocks in the 1st upkeep bracket
decay.bracket_0_costfraction0.1Blocks in the 1st upkeep bracket will cost this value per day to maintain
decay.bracket_0_doorcount15Number of doors in the 1st upkeep bracket
decay.bracket_0_doorfraction0.1Doors in the 1st upkeep bracket will cost this value per day to maintain
decay.bracket_1_blockcount50Number of blocks in the 2nd upkeep bracket
decay.bracket_1_costfraction0.15Blocks in the 2nd upkeep bracket will cost this value per day to maintain
decay.bracket_1_doorcount50Number of doors in the 2nd upkeep bracket
decay.bracket_1_doorfraction0.15Doors in the 2nd upkeep bracket will cost this value per day to maintain
decay.bracket_2_blockcount125The number of blocks in the 3rd upkeep bracket
decay.bracket_2_costfraction0.2Blocks in the 3rd upkeep bracket will cost this value per day to maintain
decay.bracket_2_doorcount125The number of doors in the 3rd upkeep bracket
decay.bracket_2_doorfraction0.2Doors in the 3rd upkeep bracket will cost this value per day to maintain
decay.bracket_3_costfraction0.333Blocks in the 4th upkeep bracket will cost this value per day to maintain
decay.bracket_3_doorfraction0.333Doors in the 4th upkeep bracket will cost this value per day to maintain
decay.build_twig_cost_multiplier1YesCan players upgrade building blocks to wood
decay.debugFalseWhen enabled, logs decay tick details to the console including which entities took damage and how much
decay.delay_metal0How long should this building grade decay be delayed when not protected by upkeep, in hours
decay.delay_override0When set to a value above 0 everything will decay with this delay
decay.delay_stone0How long should this building grade decay be delayed when not protected by upkeep, in hours
decay.delay_toptier0How long should this building grade decay be delayed when not protected by upkeep, in hours
decay.delay_twig0How long should this building grade decay be delayed when not protected by upkeep, in hours
decay.delay_wood0How long should this building grade decay be delayed when not protected by upkeep, in hours
decay.duration_metal8How long should this building grade take to decay when not protected by upkeep, in hours
decay.duration_override0When set to a value above 0 everything will decay with this duration
decay.duration_stone5How long should this building grade take to decay when not protected by upkeep, in hours
decay.duration_toptier12How long should this building grade take to decay when not protected by upkeep, in hours
decay.duration_twig1How long should this building grade take to decay when not protected by upkeep, in hours
decay.duration_wood3How long should this building grade take to decay when not protected by upkeep, in hours
decay.high_wall_upkeep0.2YesUpkeep scale for external walls and gates
decay.outside_test_range50Maximum distance to test to see if a structure is outside, higher values are slower but accurate for huge buildings
decay.scale1Multiplier applied to all decay damage per tick; 1.0 = normal, 2.0 = double decay rate, 0.0 = no decay
decay.tick600Interval in seconds between decay processing ticks; default is 10 minutes; lower values cause buildings to lose health more frequently
decay.upgrade_hqm_cost_multiplier1YesCan players upgrade building blocks to hqm
decay.upgrade_hqm_enabledTrueYesCan players upgrade building blocks to hqm
decay.upgrade_metal_cost_multiplier1YesCan players upgrade building blocks to metal
decay.upgrade_metal_enabledTrueYesCan players upgrade building blocks to metal
decay.upgrade_stone_cost_multiplier1YesCan players upgrade building blocks to stone
decay.upgrade_stone_enabledTrueYesCan players upgrade building blocks to stone
decay.upgrade_wood_cost_multiplier1YesCan players upgrade building blocks to wood
decay.upgrade_wood_enabledTrueYesCan players upgrade building blocks to wood
decay.upkeepTrueIs upkeep enabled
decay.upkeep_grief_protection1440How many minutes can the upkeep cost last after the cupboard was destroyed? default : 1440 (24 hours)
decay.upkeep_group_count_locksTrueShould players holding a code on one of the building’s doors count towards the group size, whether it is the master code or the guest code
decay.upkeep_group_history_max256Maximum number of players a tool cupboard remembers in the group window, oldest are dropped first
decay.upkeep_group_max_multiplier3Upper limit on the group size upkeep multiplier
decay.upkeep_group_scalingTrueShould upkeep cost scale with the number of players authed on the tool cupboard
decay.upkeep_group_tier_0_increase0Each player in the 1st upkeep group tier increases upkeep cost by this fraction
decay.upkeep_group_tier_0_playercount4Number of players in the 1st (free) upkeep group tier
decay.upkeep_group_tier_1_increase0.02Each player in the 2nd upkeep group tier increases upkeep cost by this fraction
decay.upkeep_group_tier_1_playercount6Number of players in the 2nd (small group) upkeep group tier
decay.upkeep_group_tier_2_increase0.04Each player in the 3rd (large group) upkeep group tier increases upkeep cost by this fraction, this tier is unlimited
decay.upkeep_group_window_hours24Players who authed within this many hours still count towards the group size, even if they have since deauthed
decay.upkeep_heal_scale1Scale at which objects heal when upkeep conditions are met, default of 1 is same rate at which they decay
decay.upkeep_inside_decay_scale0.1Scale at which objects decay when they are inside, default of 0.1
decay.upkeep_lock_min_users2If a code lock has <= this number of users it won’t count its users towards group upkeep tax
decay.upkeep_period_minutes1440How many minutes does the upkeep cost last? default : 1440 (24 hours)
decay.use_door_upkeep_bracketsFalseShould doors have their own upkeep brackets separate from building blocks
VariableDefaultSavedWhat it does
decayentity.debuggetprivilegeFalseWhen enabled, logs detailed debug output for building privilege (tool cupboard auth) checks during decay calculations
decayentity.demolish_seconds600Time window in seconds after placement during which a player can demolish their own building block; default 600s (10 minutes)
VariableDefaultSavedWhat it does
deepsea.allow_all_vehiclesFalseAllow all vehicles to travel to the deep sea, instead of just the whitelisted vehicles
deepsea.allow_swimmersFalseAllow players to swim to the deep sea
deepsea.block_buildingTrueYes
deepsea.debug_portal_spawnattemptsFalseWhen enabled, logs each deep sea portal spawn attempt to the console including whether it succeeded or failed
deepsea.enabledTrueYesToggles the deep sea. Needs a server restart to take effect. Any saved deep sea entities will be destroyed at the next startup
deepsea.entities_spawninterval5When generating, the interval in seconds in between each entity spawn (island, ghost ship and floating city). Increase if you’re experiencing lag when the deep sea is opening.
deepsea.floatingcity_count1Number of floating cities to spawn in the deep sea
deepsea.floatingcity_edgemargin1500Minimum distance in metres floating cities must be from the deep sea boundary edge when spawning
deepsea.floatingcity_mindist1500Minimum distance in metres required between floating city
deepsea.floatingcity_radius500Exclusion radius in metres around floating cities
deepsea.forceentranceportaldirection00 Random, 1 North, 2 East, 3 South, 4 West
deepsea.ghostship_count4Number of ghost ship to spawn in the deep sea zone
deepsea.ghostship_edgemargin450Minimum distance in metres ghost ships must be from the deep sea boundary edge when spawning
deepsea.ghostship_mindist400Minimum distance in metres required between ghost ships
deepsea.ghostship_radius80Exclusion radius in metres around ghost ship
deepsea.hackablecrate_count1Number of hackable crates to spawn in the deep sea
deepsea.island_count6Number of islands to spawn in the deep sea zone
deepsea.island_edgemargin750Minimum distance in metres islands must be from the deep sea boundary edge when spawning
deepsea.island_mindist600Minimum distance in metres required between islands
deepsea.island_portal_terrain_distance750Distance in metres from the main island shore at which deep sea entrance portals are placed
deepsea.island_radius300Exclusion radius in metres around islands
deepsea.logsFalseWhen enabled, outputs verbose deep sea system log messages (portal transitions, wipe events, entity moves) to the server log for debugging
deepsea.loot_respawn_scale1Population multiplier applied to the loot the deep sea will respawn over time. 1.0 = unchanged, 0.5 = half, 2.0 = double
deepsea.loot_scale1Population multiplier applied to the loot the deep sea spawns with. 1.0 = unchanged, 0.5 = half, 2.0 = double
deepsea.navmesh_spawninterval5When generating, the interval in seconds in between each island navmesh bake. Increase if you’re experiencing lag when the deep sea is opening.
deepsea.openonserverwipeFalseShould the deep sea open as soon as the server wiped?
deepsea.rhib_count4Number of RHIB boat groups to spawn in the deep sea
deepsea.rhib_edgemargin1150Minimum distance in metres RHIB groups must be from the deep sea boundary edge when spawning
deepsea.rhib_mindist300Minimum distance in metres required between RHIB groups
deepsea.rhib_radius10Exclusion radius in metres around each RHIB group
deepsea.spawngroups_spawninterval0.15When generating, the interval in seconds in between each spawn groups fill (dwellings/crates/scientists on island, ghost ships). Increase if you’re experiencing lag when the deep sea is opening.
deepsea.stricttransitionrepositionTrueEnsure all players on a mounted boat are repositioned after a transition, if this is false we rely on parenting exclusively
deepsea.terrain_everywhereFalseYesApplies the deep sea terrain config and foliage to the whole map, not just inside the deep sea
deepsea.wipecooldownmax5400Maximum seconds before a deep sea re-opens after closing
deepsea.wipecooldownmin5400Minimum seconds before a deep sea re-opens after closing
deepsea.wipeduration10800Duration in seconds of the deep sea wipe
deepsea.wipeendphaseduration1800YesDuration in seconds of the final wipe phase, bad weather kicking in etc
deepsea.wiperadiationphaseduration300Seconds before radiation starts to ramp in before the deep sea wipe
VariableDefaultSavedWhat it does
demo.recordlistYesComma-separated list of player Steam IDs whose demos are automatically recorded on the server; empty means no targeted recording
demo.recordlistmode0YesControls the behavior of recordlist, 0=whitelist, 1=blacklist
demo.splitmegabytes200Maximum file size in megabytes before a demo recording is automatically split; prevents individual demo files from becoming unmanageably large
demo.splitseconds3600Maximum duration in seconds before a demo recording is automatically split into a new file; default is 3600 (1 hour)
VariableDefaultSavedWhat it does
drone.altitudespeedoverride0If greater than zero, overrides the drone’s vertical movement speed
drone.disablesamtargetingFalse
drone.maxcontrolrange750YesHow far drones can be flown away from the controlling computer station
drone.movementspeedoverride0If greater than zero, overrides the drone’s planar movement speed
drone.samproximityfuseradius10Radius at which a SAM missile’s proximity fuse detonates against drones, capped by the missile’s 20m trigger sphere
VariableDefaultSavedWhat it does
droppeditem.broadcast_debug_ddrawFalseWill broadcast debug ddraw information on ALL dropped items to ALL players
droppeditem.remove_rb_on_sleepFalseWhether Rigidbody components are removed from DroppedItems when sleeping
droppeditem.underwater_drag_budget_ms0.05How many milliseconds to spend on updating underwater drag levels
VariableDefaultSavedWhat it does
dungeonnavmesh.use_baked_terrain_meshTrue
VariableDefaultSavedWhat it does
dynamicnavmesh.use_baked_terrain_meshFalse
VariableDefaultSavedWhat it does
egghuntevent.includebotsFalseWill spawn eggs for bots, only for debug purposes - don’t enable it!
VariableDefaultSavedWhat it does
electricbattery.dischargebudgetms0.05Yes
VariableDefaultSavedWhat it does
env.day0Gets or sets the current in-game day of the month; used for calendar-driven events and date display
env.daylength0How many real minutes one in-game day lasts on the server. Not sent to clients, whose sky keeps its own day length between time syncs, so lower it headless or in the editor to run a day through quickly. Never zero, freeze time with env.progresstime instead
env.month0Gets or sets the current in-game month (1-12); used for seasonal event triggers and calendar display
env.nightlight_brightness0.008YesBrightness multiplier for night lighting.
env.nightlight_distance5YesRender distance for night light.
env.nightlight_fadefraction0.65YesFade proportion for night light.
env.oceanlevel0YesAdjust the ocean water level height.
env.progresstimeFalseWhen enabled, the server advances the in-game time of day automatically; disabling freezes time at its current value
env.redmoonFalseYesEnable or disable the red moon visual effect.
env.time0Gets or sets the current in-game time of day as a decimal hour (0.0-24.0); writing a value immediately jumps the time to that point
env.year0Gets or sets the current in-game year; used for date display and long-running server event tracking
VariableDefaultSavedWhat it does
eventschedulewipeoffset.event_hours_before_wipe24Number of real-time hours before a scheduled wipe at which the pre-wipe event schedule begins running; registered as event_hours_before_wipe
VariableDefaultSavedWhat it does
excavatorsignalcomputer.automaticchargeneededforsupplies600Amount of charge required for the excavator to automatically trigger supply drop delivery without player activation
excavatorsignalcomputer.chargeneededforsupplies600Amount of charge (in seconds of operation) the excavator signal computer requires before it can manually call a supply drop
VariableDefaultSavedWhat it does
fishing.debugoverfishingFalse
fishing.disableoverfishingFalseYes
fishing.overfishedareadurationminutes30Yes
fishing.overfishedarearadius16Yes
fishing.successesuntiloverfished25Yes
VariableDefaultSavedWhat it does
fps.limit240Yes
VariableDefaultSavedWhat it does
frankensteinbrain.movetowardsrate1
VariableDefaultSavedWhat it does
frankensteinpet.decayminutes180How long before a Frankenstein Pet dies un controlled and not asleep on table
VariableDefaultSavedWhat it does
frog.population2Population active on the server, per square km
VariableDefaultSavedWhat it does
gamemodesoftcore.allow_tc_corpse_no_buildingTrue
gamemodesoftcore.gather_rate2YesGlobal multiplier for resources gathered in Softcore mode from ores, trees, logs, wild plants and animals; 1.0 = default, 2.0 = double yield
gamemodesoftcore.reclaim_building_authFalseWhen enabled, items are kept in a reclaim backpack even if the player died while inside their own authorised base
gamemodesoftcore.reclaim_fraction_belt0.5Fraction of belt slot items that are preserved in a softcore death reclaim backpack; default 0.5 (50%)
gamemodesoftcore.reclaim_fraction_main0.5Fraction of main inventory items preserved in a softcore death reclaim backpack; default 0.5 (50%)
gamemodesoftcore.reclaim_fraction_wear1Fraction of clothing/armour items that are preserved in a softcore death reclaim backpack; default 1.0 (100%)
gamemodesoftcore.reclaim_suicideFalseWhen enabled, items are kept in a reclaim backpack even if the player died by suicide (F1 kill)
VariableDefaultSavedWhat it does
gamephysics.defaultmaxresultsperquery48How many results to collect per command - DONT set this too low or you’ll risk missing results
VariableDefaultSavedWhat it does
gc.enabledTrueWhen enabled, this system is globally active; disable to deactivate the system for the current session
gc.incremental_enabledTrueRead-only: reports whether Unity incremental garbage collection is enabled for this runtime; cannot be changed at runtime
gc.incremental_milliseconds3Time slice in milliseconds allocated to incremental GC per frame; lower values reduce GC stutter but spread collection over more frames
VariableDefaultSavedWhat it does
growableentity.framebudgetms0.25
VariableDefaultSavedWhat it does
guntrap.gun_trap_budget_ms0.5How many milliseconds to spend on target scanning per frame
VariableDefaultSavedWhat it does
hackablelockedcrate.decayseconds7200How many seconds until the crate is destroyed without any hack attempts
hackablelockedcrate.requiredhackseconds900How many seconds for the crate to unlock
VariableDefaultSavedWhat it does
halloween.enabledFalseEnables the Halloween event on the server, activating Halloween-themed loot spawns, NPC variants, and event-specific mechanics
halloween.murdererpopulation0Population active on the server, per square km
halloween.scarecrow_beancan_vs_player_dmg_modifier0.1Modified damage from beancan explosion vs players (Default: 0.1).
halloween.scarecrow_body_dmg_modifier0.25Modifier to how much damage scarecrows take to the body. (Default: 0.25)
halloween.scarecrow_chase_stopping_distance0.5Stopping distance for destinations set while chasing a target (Default: 0.5)
halloween.scarecrow_throw_beancan_global_delay8The delay globally on a server between each time a scarecrow throws a beancan (Default: 8 seconds).
halloween.scarecrowpopulation0Population active on the server, per square km
halloween.scarecrows_throw_beancansTrueScarecrows can throw beancans (Default: true).
VariableDefaultSavedWhat it does
halloweendungeon.lifetime600How long each active dungeon should last before dying
halloweendungeon.population0Population active on the server
VariableDefaultSavedWhat it does
handcuffs.maxconditionrepairlossonpush0.4Maximum handcuff condition loss fraction applied per push attempt; at 0.4 the cuffs lose up to 40% condition per escape push
handcuffs.restrainedpushdamage5Damage dealt to a restrained (handcuffed) player when they attempt to push or escape; default 5
VariableDefaultSavedWhat it does
hbhfsensor.debugdrawFalseWhen enabled, broadcasts debug drawing for HBHFSensor visibility checks (eye position, forward, range, per-player LOS rays).
VariableDefaultSavedWhat it does
heli.bulletaccuracy2Cone angle in degrees of the patrol helicopter gun spread; higher values make the helicopter less accurate
heli.bulletdamagescale1Multiplier applied to all bullet damage dealt by the patrol helicopter; 1.0 = normal, 2.0 = double damage
heli.guns1Number of gun hardpoints active on the patrol helicopter; set to 0 to disable its guns without despawning it
heli.lifetimeminutes30How many minutes the patrol helicopter stays airborne before self-destructing; default is 30 minutes
VariableDefaultSavedWhat it does
hotairballoon.minimumaltitudeterrain25
hotairballoon.outsidedecayminutes180How long before a HAB loses all its health while outside
hotairballoon.population1Population active on the server
hotairballoon.serviceceiling175
VariableDefaultSavedWhat it does
inventory.disableattirelimitationsFalseYesDisables all attire limitations, so NPC clothing and invalid overlaps can be equipped
inventory.stackable_item_ownershipFalseWhen enabled, ownership tracking is applied to stackable items; disabled by default due to performance cost; servers can enable for full ownership auditing
VariableDefaultSavedWhat it does
ioentity.allow_on_boatsFalseYesAllows the deployment and usage of IO entities on player boats and tugboats.
ioentity.backtracking8Number of IO update passes allowed to back-track and re-process changed entities each tick; higher values improve signal propagation speed
ioentity.debugbudgetFalsePrint out what is taking so long in the IO frame budget
ioentity.debugbudgetthreshold2Ignore frames with a lower ms than this while debugBudget is active
ioentity.framebudgetelectrichighpriorityms1
ioentity.framebudgetelectriclowpriorityms0.5
ioentity.framebudgetfluidms0.25
ioentity.framebudgetgenericms1
ioentity.framebudgetindustrialms0.25
ioentity.framebudgetkineticms1
ioentity.infiniteiopowerFalseYesAll player placed electrical entities will receive full power without needing to be plugged into anything
ioentity.responsetime0.1Minimum interval in seconds between IO entity logic updates; controls how quickly electrical signals propagate through the network
VariableDefaultSavedWhat it does
itemmanager.enablepoolingTrueWhen enabled, ItemManager uses object pooling for item instances to reduce GC allocations from frequent item creation and destruction
VariableDefaultSavedWhat it does
jellyfish.population2Population active on the server, per square km
VariableDefaultSavedWhat it does
junkpile.destroyifspawnonsleepingbagTrue
junkpile.destroyifspawnonsleepingbagdistance3
junkpile.destroyifspawnonsleepingbagtime4
VariableDefaultSavedWhat it does
junkpilewater.destroyablebyplayerboatsTrue
junkpilewater.framebudgetms0.05
junkpilewater.minimumplayerboatmasstobedestroyed2000
junkpilewater.minimumplayerboatvelocitytobedestroyed5
VariableDefaultSavedWhat it does
legacyshelter.max_shelters1Yes
VariableDefaultSavedWhat it does
livestock.agescale1Multiplier applied to livestock grow and old-age times; 0.5 = grow up twice as fast, 0 = disable aging entirely
livestock.allowmountingTrueYesWhether livestock can be mounted into vehicle flatbeds
livestock.baselinenameweight5How many notional players livestock.namelocale counts as when the languages of everyone connected are weighed up, so one player alone does not name the whole herd
livestock.breedcooldown600How long (in seconds) a male livestock animal waits before breeding again, counted from conception. The female’s is derived from how long her calf takes to grow up
livestock.breedingenabledTrueWhether livestock look for a mate on their own; disabling it leaves livestock.makepregnant working
livestock.breedonlyathomeFalseWhether livestock breed only while a cupboard is their home
livestock.breedpausecondition0.6YesCondition at or below which a livestock animal stops being willing to breed
livestock.breedresumecondition0.7YesCondition at or above which a livestock animal that stopped breeding is willing again
livestock.breedsearchradius30How far (in metres) a male livestock animal looks for a mate
livestock.calmedtrustfloor60The seconds a livestock animal credits to a player under a livestock handling effect; kept inside the tolerated band on purpose
livestock.calvingcooldownscale1Scales how long a mother waits after calving before she can carry again. 1 is one calf grown up per birth
livestock.conditionfallseconds3600How many seconds a totally neglected livestock animal takes to go from full health to dead
livestock.conditionfullcontentment0.5Contentment at or above which a livestock animal is healthy and heals towards full
livestock.conditionriseseconds3600How many seconds a well kept livestock animal takes to heal from nothing back to full health
livestock.curiousbreakdistance20How far (in metres) a player can get before a curious livestock animal gives up following them
livestock.curiouschance0.2The share of livestock born curious, so they follow a player they know without needing a lead; 0 disables curious animals
livestock.debugconditionFalseAdds the condition and its breeding band to a livestock animal’s ai.showState read-out
livestock.debugdaybudgetFalseAdds the day budget shares to a livestock animal’s ai.showState read-out
livestock.debuggaitFalseAdds walk speed and gait penalty to a livestock animal’s ai.showState read-out
livestock.debuggenesFalseAdds an animal’s genes to its ai.showState read-out
livestock.debugovergrazingFalseLogs livestock overgrazing as it happens
livestock.debugspecialsFalseLogs each special livestock animal as it spawns
livestock.defendreactiontime5How recently (in seconds) a player the herd counts as one of its own must have been attacked for a bull to come after whoever is doing it; 0 stops him defending players
livestock.devnamechance0The chance a freshly named livestock animal is given a developer’s handle instead of an ordinary name; one named that way never founds a dynasty
livestock.dungconditionfloor0.15Condition below which a livestock animal stops dunging at all. A starving animal never dungs whatever this says
livestock.dungconditionfull0.8Condition at or above which a livestock animal dungs at its full authored rate
livestock.dungslowestscale3How much longer a livestock animal at the condition floor waits between dung drops than one in its prime
livestock.dynasticnamesTrueWhether a newborn livestock animal takes its same-sex parent’s name one generation on, so a line reads Melk then Melk Junior then Melk the 3rd
livestock.familiaritydistresspenalty30How many seconds of familiarity a player loses with the herd around an animal they hurt
livestock.familiarityforgetscale3How many seconds a player has to stay away from a livestock animal short of a full bond for it to forget one second they spent near it, so at 3 fourteen minutes are gone in forty two. A full bond never fades, 0 never forgets
livestock.familiarityhurtpenalty60How many seconds of familiarity a player loses with a livestock animal they hurt
livestock.familiarityradius20How close (in metres) a player has to be for a livestock animal to count the time; must sit inside the animal’s sense radius; 0 disables familiarity
livestock.familiarityrate1Multiplies how fast livestock familiarity builds up; 20 makes a five minute bond take fifteen seconds. For testing, leave at 1 for play
livestock.friskythreshold0.85How well met a livestock animal’s worst need must be (0-1) before it will canter about for the fun of it; above 1 disables it
livestock.genebadchance0.3The chance each allele of a wild livestock animal is rolled Bad; the rest come out Ok
livestock.genedungbad0.6How often a Bad Dung livestock animal drops dung, as a share of an average one
livestock.genedunggood1.6How often a Good Dung livestock animal drops dung, as a multiple of an average one
livestock.genefertilitybad0.65How often a Bad Fertility livestock animal breeds, as a share of an average one; litter size never falls below one
livestock.genefertilitygood1.6How often a Good Fertility livestock animal breeds, and how many young it carries, as a multiple of an average one
livestock.genegoodchance0.2The chance each allele of a wild livestock animal is rolled Good
livestock.genehardinessbad0.7How well a Bad Hardiness livestock animal tolerates going short of food, water or room, as a share of an average one
livestock.genehardinessgood1.5How well a Good Hardiness livestock animal tolerates going short of food, water or room, as a multiple of an average one
livestock.genelongevitybad0.65How long a Bad Longevity livestock animal lives, as a share of an average one
livestock.genelongevitygood1.5How long a Good Longevity livestock animal lives, as a multiple of an average one
livestock.genemutationchance0The chance each inherited livestock allele is rerolled from scratch instead of coming from its parent; leaving this at 0 is what makes breeding predictable enough to reason about
livestock.genesenabledTrueWhether livestock genes do anything; off makes every animal an average one without touching the genomes they carry
livestock.geneyieldbad0.6How much milk or wool a Bad Yield livestock animal gives, as a share of an average one
livestock.geneyieldgood1.6How much milk or wool a Good Yield livestock animal gives, as a multiple of an average one
livestock.grazesuntilovergrazed2How many times livestock can graze one patch of grass before it is eaten bare
livestock.grudgeduration45How long (in seconds) a livestock animal stays wary of a player that hurt it or one of its herd, moving off when they come close again; 0 disables grudges
livestock.grudgerange8How close (in metres) a remembered aggressor has to get before a wary livestock animal moves off
livestock.inbredscale0.5YesWhat every gene’s slider position is multiplied by on an inbred livestock animal, for its coat and for what it produces alike. At 0.5 a Good gene looks and performs as Ok and an Ok gene falls halfway to Bad. An animal is inbred when both its lineage markers match
livestock.leadbreakdistance7How far (in metres) a player can get from an animal they are leading before the lead breaks. 0 never breaks it
livestock.localenamesTrueWhether livestock names follow the languages of whoever is connected; off names every animal from the English pool, as before the packs existed
livestock.maxlittersize3The most young one livestock birth can ever produce, however good the mother’s Fertility is
livestock.maxperspecies300How many livestock animals of one species a server holds before none of that species breeds. Cattle and sheep are counted apart against the same number, 0 never caps
livestock.maxtrust900The most seconds of trust a player can build with a livestock animal, which is the full bond: it can breed, standing in your cupboard makes that its home, your trust stops fading and a bull defends you
livestock.motherlyduration300How long (in seconds) a mother stands her ground for her own calf after something has threatened it, rather than running like any other cow; 0 disables maternal defence
livestock.namelocaleenThe language livestock are named in when nobody connected speaks one the game has names for, and the language the baseline weight reinforces
livestock.overgrazedareacooldownminutes30How long (in minutes) an overgrazed patch of grass takes to grow back
livestock.overgrazedarearadius5How far (in metres) an overgrazed patch of grass reaches from its centre
livestock.overgrazingenabledTrueWhether grass a herd has eaten bare stops feeding them until it grows back
livestock.panelageTrueYesWhether a farm animal’s status panel says whether it is young or grown
livestock.panelallelesFalseYesWhether both copies of every livestock gene are shown rather than only the one the animal expresses. Reveals what an animal carries without breeding it
livestock.paneldungFalseYesWhether a farm animal’s status panel shows how often it dungs, after its genes
livestock.panelgenderFalseYesWhether the male and female symbols are shown next to a farm animal’s name on its status panel
livestock.panelgenesFalseYesWhether the gene discs are shown on the livestock status panel, along with the inbred warning that explains them
livestock.paneltrustFalseYesWhether a farm animal’s status panel shows how much it trusts you, as one segment per band of the trust ladder
livestock.panelyieldFalseYesWhether a farm animal’s status panel shows what it produces and how often, after its genes
livestock.priceageprime0.5How far through its life a livestock animal stays worth its full price, from 0 in its prime to 1 at death by old age
livestock.priceconditionfloor0.15Condition at or below which a livestock animal sells for the least a vendor will pay
livestock.priceconditionfull0.8Condition at or above which a livestock animal sells for the vendor’s full price
livestock.pricefullqualityscale1.5The livestock sale value that counts as full quality, which is a full budget for the vendor’s sale table
livestock.pricegeneweight1How far a livestock animal’s genes move what a vendor pays, where 1 pays its full gene advantage and 0 prices every animal as an average one
livestock.priceoldestscale0.5What a livestock animal at the very end of its life sells for, as a share of the vendor’s full price
livestock.pricewildpenalty0.85How much less a livestock animal that no player bred sells for, as a share of its price, so a herd raised from birth outsells one rounded up in the wild
livestock.priceworstscale0.4What a livestock animal at the condition floor sells for, as a share of the vendor’s full price
livestock.profileFalseTimes how long livestock spend in their needs queue and FSM tick, for livestock.census. Off by default because the measurement itself costs
livestock.specialchance0.005The chance each wild livestock spawn is one of the named special animals; births, purchases, age-ups and saves never roll for one
livestock.trustfloor60The seconds a livestock animal credits to the team, cupboard authed and door code sharers of anyone it is bonded with; kept inside the tolerated band on purpose
livestock.trusttofollow5How many seconds near a livestock animal before a curious one follows you without a lead
livestock.trusttolead300How many seconds near a livestock animal before you can lead it, after which it also ages, can starve and gives dung, milk or wool
livestock.trusttotolerate30How many seconds near a livestock animal before a bull stops squaring up at you
livestock.vendorannoyedtime900How many seconds a livestock vendor refuses to look at goods whose every offer was turned down
livestock.vendorgenerouschance0.05The chance each livestock offer is a generous one, where the vendor pays for a better animal than the one in front of him; 0 disables it
livestock.vendorgenerousmax0.25The most a generous livestock offer lifts an animal’s quality by
livestock.vendorgenerousmin0.1The least a generous livestock offer lifts an animal’s quality by
livestock.vendoroffercount3How many offers a livestock vendor makes for one animal before he is annoyed and stops buying
livestock.vendorofferitems2How many items a livestock vendor picks for one offer before paying the rest of its value in the sale table’s fallback
livestock.vendoroffervariance0.05How far a livestock vendor’s offer can swing either side of what an animal is really worth
livestock.vendorwoollotsize400How much wool counts as a full lot, which is a full budget for the vendor’s wool table
livestock.vendorwoolminimum25How much wool a player must be carrying before a livestock vendor will haggle over it at all
livestock.wildconditionfloor0.5Lowest condition a livestock animal nobody can lead falls to from neglect, so wildlife never dies of it
VariableDefaultSavedWhat it does
marchingcubesmanager.collidermiplevel1[0-2] - mip level the sculpture collision mesh is marched at. Each level is ~4x fewer collision triangles and a correspondingly cheaper physics bake, at the cost of the collider drifting slightly from the visual surface
marchingcubesmanager.debuglogFalse
marchingcubesmanager.generatorpoolcount1[1-16] - each generator has constant memory overhead, but will allow more to process at once
VariableDefaultSavedWhat it does
megaphone.megaphonevoicerange100Yes
VariableDefaultSavedWhat it does
metaldetectorflag.timeoutduration10800
VariableDefaultSavedWhat it does
metaldetectorsource.attemptspersubsourcespawn5
metaldetectorsource.mindistancebetweensubsources1.5
metaldetectorsource.population1200Population active on the server, per square km
metaldetectorsource.timeoutduration7200
VariableDefaultSavedWhat it does
minicopter.population0Population active on the server
VariableDefaultSavedWhat it does
mlrs.brokendownminutes20How many minutes before the MLRS recovers from use and can be used again
VariableDefaultSavedWhat it does
modularcar.outsidedecayminutes864How many minutes before a ModularCar loses all its health while outside
modularcar.population3Population active on the server
VariableDefaultSavedWhat it does
monumentnavmesh.use_baked_terrain_meshTrue
VariableDefaultSavedWhat it does
motorrowboat.decaystartdelayminutes45How long until decay begins after the boat was last used
motorrowboat.deepwaterdecayminutes120How long before a boat loses all its health while in deep water
motorrowboat.outsidedecayminutes180How long before a boat loses all its health while outside. If it’s in deep water, deepwaterdecayminutes is used
motorrowboat.population1Population active on the server
VariableDefaultSavedWhat it does
mountedweapon.antihack_level0
mountedweapon.antihack_max_degrees_per_second_pitch720
mountedweapon.antihack_max_degrees_per_second_yaw720
mountedweapon.antihack_max_snap_degrees35
mountedweapon.debugFalseYes
mountedweapon.enable_client_authorityTrueYes
VariableDefaultSavedWhat it does
net.global_network_debugFalseToggle printing time taken to send all global entities to client when they connect
net.global_networked_basesTrueWhen enabled, base entities are networked to all clients regardless of distance; disabling restricts base updates to players within the normal visibility radius
net.limit_global_update_broadcastTrue(default) true = only broadcast to clients with global networking enabled, false = broadcast to every client regardless
net.network_group_debugFalseToggle checking network group bounds whenever an entity changes its network group
net.visdebugFalseWhen enabled, logs network visibility group changes to the server console, showing when entities enter or leave a player visibility radius
net.visibilityradiusdeepsea10Network visibility radius in grid cells used in the deep-sea zone; kept smaller than overworld to limit underwater entity update overhead
net.visibilityradiusfaroverride-1Overrides the far network visibility radius in grid cells; -1 = use default; increase to send more distant entity updates to clients
net.visibilityradiusnearoverride-1Overrides the near (high-priority) network visibility radius in grid cells; -1 = use default
VariableDefaultSavedWhat it does
nexus.clanclatbatchduration1Maximum duration in seconds to batch clan chat messages to send to other servers on the nexus
nexus.defaultzonecontactradius0.33Default distance between zones to allow boat travel, if map.contactRadius isn’t set in the nexus (uses normalized coordinates)
nexus.endpointhttps://gw.facepunch.com/nexus/YesURL endpoint to use for the Nexus API
nexus.hidefullislandsFalseHide islands that we know are full, preventing players from being transferred to them
nexus.islandspawndistance1.5How far away islands should be spawned, as a factor of the map size
nexus.loadingtimeout900Time in seconds to keep players in the loading state before going to sleep
nexus.loggingTrueWhen enabled, logs all Nexus zone transfer and communication events to the server console; useful for debugging cross-server player transfers
nexus.mapimagescale0.5Scale of the map to render and upload to the nexus
nexus.messagelockduration5Time in seconds to allow the server to process nexus messages before re-sending (requires restart)
nexus.pinginterval30Time in seconds to wait between server status pings
nexus.playermanifestinterval30Interval in seconds to broadcast the player manifest to other servers on the nexus
nexus.protectionduration300Maximum time in seconds to keep transfer protection enabled on entities
nexus.rpctimeoutmultiplier1Multiplier for nexus RPC timeout durations in case we expect different latencies
nexus.secretkeyShared secret key used to authenticate Nexus inter-server communication; must match across all servers in the same Nexus cluster
nexus.timeoffset0Time offset in hours from the nexus clock
nexus.transferflushtime60Maximum amount of time in seconds that transfers should be cached before auto-saving
nexus.zonecontrollerbasicName of the zone controller implementation used for this Nexus server (e.g. basic, advanced); controls how players are routed between servers
VariableDefaultSavedWhat it does
npc.vendor_attack_heli_enabledTrueYes
npc.vendor_hab_enabledTrueYes
npc.vendor_minicopter_enabledTrueYes
npc.vendor_rhib_enabledTrueYes
npc.vendor_rowboat_enabledTrueYes
npc.vendor_scrap_heli_enabledTrueYes
npc.vendor_sub_duo_enabledTrueYes
npc.vendor_sub_solo_enabledTrueYes
VariableDefaultSavedWhat it does
npcautoturret.forcedamageblockedsleepersTrueIf an npc turret is firing at a sleeping player and the player is blocked, still apply damage
npcautoturret.sleeperhostiledelay1200YesHow many seconds until a sleeping player is considered hostile
VariableDefaultSavedWhat it does
npcvendingmachine.dynamicpricingenabledTrueYesWhether to run the the dynamic pricing system
npcvendingmachine.maximumpricemultiplier2YesThe maximum point that a price can increase to (2 = 200%)
npcvendingmachine.minimumpricemultiplier0.5YesThe Minimum point that the price can drop to (0.5 = 50% off)
npcvendingmachine.pricedecreaseamount0.05YesHow much to decrease the price for if it is underselling (0.05 = 5%)
npcvendingmachine.priceincreaseamount0.1YesHow much to increase the price by if it is selling a lot (0.05 = 5%)
npcvendingmachine.priceupdatefrequencybiweekly2YesHow many realtime hours are checked when looking for price increases. Max 72 (10 days), min 0.5 (half an hour)
npcvendingmachine.priceupdatefrequencydefault3YesHow many realtime hours are checked when looking for price increases. Max 72 (10 days), min 0.5 (half an hour)
npcvendingmachine.priceupdatefrequencyweekly1YesHow many realtime hours are checked when looking for price increases. Max 72 (10 days), min 0.5 (half an hour)
npcvendingmachine.startingpricemultiplier2YesWhat discount surcharge should be applied to items when the server starts
VariableDefaultSavedWhat it does
panther.population0.5Population active on the server, per square km
VariableDefaultSavedWhat it does
parachute.bypassrepackFalseYes
parachute.landinganimationsFalseYes
VariableDefaultSavedWhat it does
party.maxpartyspawnattempts50Maximum number of attempts the server makes to find a valid spawn point when spawning a party together; higher values increase the chance of grouping
party.maxpartyspawndistance100Maximum distance in metres between party member spawn points when spawning a group together on wake-up
party.nearbypartyspawnsTrueWhen enabled, party members respawn near each other rather than at random map locations when joining a server together
VariableDefaultSavedWhat it does
patrolhelicopterai.flee_damage_percentage0.35Fraction of maximum health at which the patrol helicopter will break off its attack and flee; default 0.35 (35%)
patrolhelicopterai.monument_crashTrueWhen enabled, the patrol helicopter prefers to crash into a monument area when destroyed rather than crashing in open terrain
patrolhelicopterai.use_danger_zonesTrueWhen enabled, the patrol helicopter avoids designated danger zones during its patrol route
VariableDefaultSavedWhat it does
petbrain.controldistance100Yes
petbrain.drownindeepwaterTrue
petbrain.drowntimer15
petbrain.idlewhenownermountedTrue
petbrain.idlewhenownerofflineordeadTrue
VariableDefaultSavedWhat it does
physics.allowhorsetempragdollTrueWhen enabled, horses can be temporarily ragdolled by large physics impacts; disabling keeps horses upright during collisions
physics.allowplayertempragdollTrueWhen enabled, players can be temporarily ragdolled by large physics impacts (e.g. explosions) before recovering; disabling keeps players standing
physics.autosynctransformsTrueWhen enabled, Unity Physics auto-syncs transform changes to physics each frame; disable to manually control when transforms sync
physics.batchsynctransformsTrueWhen enabled, physics transform syncs are batched per frame for efficiency; disable to force immediate per-object sync
physics.bouncethreshold2Minimum relative velocity at which a physics collision generates a bounce response; lower values cause more objects to bounce on light impacts
physics.droppedmode2The collision detection mode that dropped items and corpses should use
physics.gravity1YesGravity multiplier
physics.groundwatchdebugFalseWhen enabled, logs ground-watch trigger events to the console, showing when players are detected as off the ground or falling through the world
physics.groundwatchdelay0.1Seconds between ground-watch checks on a player; lower values detect world-fall issues faster but increase CPU overhead
physics.groundwatchfails1Number of consecutive ground-watch failures allowed before corrective action is taken on a player who appears to be falling through geometry
physics.sendeffectsTrueSend effects to clients when physics objects collide
physics.serverragdollmode3The collision detection mode that server-side ragdolls should use
physics.serversideragdollsFalseYesDo ragdoll physics calculations on the server, or use the old client-side system
physics.sleepthreshold0.01Energy threshold below which a rigid body is put to sleep by the physics engine; lower values keep more objects awake, higher values reduce CPU usage
physics.solveriterationcount6The default solver iteration count permitted for any rigid bodies (default 7). Must be positive
physics.towingmaxlinearaccelfromjoint40Maximum linear acceleration (m/s^2) that a vehicle towing joint can apply before the joint breaks; prevents unrealistic joint forces during towing
physics.treecollisionTrueYesDo players and vehicles collide with trees?
VariableDefaultSavedWhat it does
physicstumblingentity.angular_drag_override-1YesOverride for rigidbody angular drag. Set to -1 to disable.
physicstumblingentity.drag_override-1YesOverride for rigidbody drag. Set to -1 to disable.
physicstumblingentity.max_tumbling_force1000YesMaximum force applied on collision to cause tumbling
physicstumblingentity.min_tumbling_force600YesMinimum force applied on collision to cause tumbling
physicstumblingentity.player_impulse_multiplier10YesMultiplier for impulse applied to players when ragdolled by this entity
physicstumblingentity.tumbling_force_cone_angle30YesCone angle in degrees for randomizing tumbling force direction
physicstumblingentity.velocity_threshold_for_tumbling_force1.5YesMinimum velocity required for an object to get tumbling force applied on collision
VariableDefaultSavedWhat it does
ping.auto_refresh_regionTrueWhen enabled, region ping estimates are automatically refreshed in the background to keep server list latency data up to date
ping.ping_estimate_loggingFalseWhen enabled, logs ping estimation results to the console; useful for debugging regional latency measurement accuracy
ping.ping_estimationFalseWhen enabled, the ping estimator collects latency samples to regional servers; disable to suppress background ping traffic
ping.ping_parallelFalseWhen enabled, ping estimation sends samples to all servers in parallel for faster results; uses more bandwidth simultaneously
ping.ping_refresh_interval45Interval in minutes between automatic background ping estimation refreshes for server list region latency sorting
ping.ping_samples5Number of ping samples collected per estimation cycle; more samples give a more accurate average latency but take longer to complete
VariableDefaultSavedWhat it does
planterbox.outsidetestdistance100Maximum distance in metres used when raycasting to determine whether a planter box is outdoors and receiving natural sunlight
VariableDefaultSavedWhat it does
planterboxstatic.deepsearespawnchecktimer600Interval in seconds between respawn checks for growable plants in static planter boxes inside the deep sea zone; default 600s
planterboxstatic.favourablegenechance0.5Chance of a favourable gene being picked [0-1]. Setting this to 0 does not ensure no favourable genes are picked up, but it greatly reduces the chances.
VariableDefaultSavedWhat it does
player.adminsafezonelootingFalseShould admins be allowed to loot incapacitated players (or their corpse / bag) in safe-zones?
player.dropbackpackondeathTrueWhen enabled, players drop their backpack as a loot bag when they die; disable to prevent backpack loot from appearing on death
player.dropbackpackondownedTrueWhen enabled, players drop their backpack when downed/wounded; disable to keep the backpack on the body until death or recovery
player.keepteaondeathFalseWhen enabled, tea/buff effects active on a player at the time of death are carried over to their next life instead of being lost
player.tickrate_cl32Yes
player.tickrate_sv16Yes
player.woundforeverFalseYesWhether the crawling state expires
VariableDefaultSavedWhat it does
playerboat.aboardplayercheckinterval2Interval in seconds between checks to determine whether any players are still aboard the boat
playerboat.anchoreddriftdelayseconds21600Time in seconds after a boat is anchored before it becomes eligible for shore drift; default 21600s (6 hours)
playerboat.corpseseconds1800
playerboat.debugvisFalseWhen enabled, draws debug visualisations for player boat state including drift target, shore direction, and power zones
playerboat.decayminutes720How long before a boat loses all its health while outside
playerboat.decaystartdelayminutes1440How long until decay begins after the boat was last used
playerboat.deepseatransitionpowerdowngraceduration10Duration in seconds after entering the deep sea zone that a player boat has before its engine is powered down
playerboat.deployandeditanywhereFalseYesAllow Deploy & Edit anywhere in the ocean, bypassing location checks.
playerboat.destructiblewrecksenabledTrueYes
playerboat.dragbyangle_exponent0.4
playerboat.dragbyangle_maxcontrib50
playerboat.dragbyangle_maxdrag2.2
playerboat.dragbyangle_mincontrib5
playerboat.dragbyangle_mindrag0.65
playerboat.editenabledTrueYes
playerboat.enginepositioninfluences0.050 - 1
playerboat.finisheditingenabledTrueYes
playerboat.hammerrepairenabledTrueYes
playerboat.maxblockcount180Yes
playerboat.maxdeployablecount120Yes
playerboat.orphansendimmediateTrueWhen enabled, deployables on boats send immediate network updates when orphaned during edit mode to prevent looping sounds from being killed
playerboat.placementupthreshold30Maximum angle in degrees from vertical at which building blocks can be placed on a player boat; default 30 degrees
playerboat.powerdownonnoplayersTrueWhen enabled, player boat engines are powered down when no players are aboard; prevents runaway unmanned boats
playerboat.sailpositioninfluence0.10 - 1
playerboat.usedestructiblewreckstabilityTrueYes
playerboat.velocitymax15Yes
VariableDefaultSavedWhat it does
playerhelicopter.insidedecayminutes2880How long before a player helicopter loses all its health while indoors
playerhelicopter.outsidedecayminutes480How long before a player helicopter loses all its health while outside
VariableDefaultSavedWhat it does
playerinventory.directionaldropenabledTrueWhen enabled, players can directionally drop items by looking in the desired direction; disable to revert to gravity-only drops
playerinventory.forcebirthdayFalseWhen enabled, forces the birthday event state to true regardless of the actual date; overrides IsBirthday() calendar check for testing
VariableDefaultSavedWhat it does
polarbear.population1Population active on the server, per square km
VariableDefaultSavedWhat it does
pool.debugFalseWhen enabled, logs additional diagnostic information about pool hits, misses, and spills to the console
pool.enabledTrueWhen enabled, this system is globally active; disable to deactivate the system for the current session
pool.mode2When enabled, object pools are pre-allocated at startup to avoid first-use latency; increases startup time but reduces runtime GC stutter
pool.prewarmTrueWhen enabled, object pools are pre-allocated at startup to avoid first-use latency; increases startup time but reduces runtime GC stutter
VariableDefaultSavedWhat it does
pooltable.debug_poolFalseYes
pooltable.idle_reset_seconds180Anyone can reset a pool game nobody has interacted with for this many seconds
pooltable.physics_update_rate64Yes
pooltable.show_tooltipsFalseYesShow pool game tooltip notifications
pooltable.watch_after_shot_seconds2Seconds the shooter stays seated watching their shot before being dismounted
VariableDefaultSavedWhat it does
powergrid.enabledTrueYes
powergrid.fusedecayhighpop100YesConnected player count at or above which heavy fuses in the power plant decay at their normal rate. See fuseDecayLowPop.
powergrid.fusedecaylowpop10YesConnected player count at or below which heavy fuses in the power plant decay at fuseDecayLowPopScale times the normal rate. Decay rate scale rises linearly as pop increases to fuseDecayHighPop where scale returns to 1x.
powergrid.fusedecaylowpopscale0.25YesMultiplier on the decay rate of heavy fuses in the power plant while the connected player count is at or below fuseDecayLowPop. At 1 the player count has no effect on decay.
powergrid.fusefulldecaycount3YesHow many of the worst condition heavy fuses in the power plant decay at the full rate (burning out after fuseLifespanSeconds). Every other inserted fuse decays slowly instead. If 0 no fuse ever decays at the full rate.
powergrid.fuselifespanseconds9600YesHow long a heavy fuse plugged into the power plant lasts while it is decaying at the full rate (how long the worst fuses in the power plant survive for). If <= 0 then fuses last forever.
powergrid.fuseslowdecayfractionmax0.12YesMaximum fraction (0-1) of the full decay rate applied to heavy fuses that aren’t one of the worst fuseFullDecayCount. See fuseSlowDecayFractionMin.
powergrid.fuseslowdecayfractionmin0.08YesMinimum fraction (0-1) of the full decay rate applied to heavy fuses that aren’t one of the worst fuseFullDecayCount. Each fuse rolls its own fraction between fuseSlowDecayFractionMin and fuseSlowDecayFractionMax and keeps it for its lifetime.
powergrid.greenrecyclerfullefficiencystage-1Yes
powergrid.marketplacechargecapacity100YesCharge capacity of a drone marketplace’s power buffer. A marketplace charges this up from the power plant and bleeds it back out whenever the plant stops carrying it.
powergrid.marketplacechargeperfuse0.01YesCharge a drone marketplace gains every second for each heavy fuse inserted at the power plant, once there are at least marketplaceMinimumFusesToCharge of them.
powergrid.marketplacedrainrate0.05YesCharge a drone marketplace loses every second while there are no heavy fuses inserted at the power plant. A single fuse is enough to stop the bleed.
powergrid.marketplaceminimumfusestocharge4YesHeavy fuses that have to be inserted at the power plant before a drone marketplace starts charging. Below this it holds whatever charge it has without building any more.
powergrid.marketplacerequiredchargefraction0.5YesFraction (0-1) of its capacity a drone marketplace needs charged to accept orders. Sets both how long a cold marketplace takes to come online and how long a full one keeps running after the power plant drops out.
powergrid.powerlinebasepoweroutput5YesStarting power output of powerline poles when 1 heavy fuse is inserted at the power plant.
powergrid.powerlinemaxpoweroutput50YesPower output of powerline poles when all possible heavy fuses are inserted at the power plant.
powergrid.simulatepowerplantfuses0
powergrid.stagechangeworkqueuebudget0.1YesMax time per frame (ms) to spend notifying powergrid entities of a stage change.
powergrid.stagechangeworkqueuedelaybetweenjobs0YesTime to wait (s) between each individual entity getting notified of a powergrid stage change. Higher values will delay the time it takes for all entities to receive notification of a stage change. Entities can skip this wait with stageChangeWorkQueueGroupJobsDistance
powergrid.stagechangeworkqueuegroupjobsdistance20YesIf a powergrid entity is within this range of the first powergrid entity to receive a stage change update this frame, then that entity will also receive an update (skipping stageChangeWorkQueueTimeBetweenJobs)
VariableDefaultSavedWhat it does
profile.command_lagspike_threshold40
profile.exportintervals1800Interval in seconds between automatic exports of server profiler data to disk; lower values provide more frequent snapshots at a higher I/O cost
profile.immediatemodeenabledFalseWhen enabled, the server native profiler runs in immediate mode, capturing every frame rather than sampling; more accurate but higher overhead
profile.notifyonmainalloccount0Main-thread allocation count threshold per tick for profiler notifications; 0 = disabled; helps isolate main-thread GC pressure
profile.notifyonmainmemkb0Main-thread memory usage threshold in kilobytes for profiler notifications; 0 = disabled
profile.notifyontotalalloccount16000Allocation count threshold (per profiler tick) above which the native continuous profiler fires a notification; useful for detecting unexpected allocation spikes
profile.notifyontotalmemkb12288Total managed memory threshold in kilobytes above which the native profiler fires a notification; helps detect memory leaks during long server runs
profile.notifyonworkeralloccount0Worker-thread allocation count threshold per tick for profiler notifications; 0 = disabled; helps detect background task GC pressure
profile.notifyonworkermemkb0Worker-thread memory usage threshold in kilobytes for profiler notifications; 0 = disabled
profile.profiling_entities00 = off, 1 = spawn/kill, 2 = spawn/kill per entity, 3 = count every ‘5 min’
profile.profiling_entity_count_interval300How frequently to count all entities across the server
profile.profiling_fixed_invokes00 = off, 1 = stats per frame, 2 = stats per method
profile.profiling_invokes00 = off, 1 = stats per frame, 2 = stats per method
profile.profiling_lagspikesFalseRecord inbound RPC & ConsoleCommands that cause lag spikes
profile.profiling_packetsFalseRecord type of packets inbound/outbound per frame
profile.profiling_ping0Raknet statistics, 0 = off, 2 = per connection
profile.profiling_ping_interval1How often to flush raknet stats per second
profile.profiling_ping_per_frame30
profile.profiling_rcon00 = off, 1 = count per frame, 2 = connection attempts, 3 = messages
profile.profiling_rcon_message_length512Clamp the length of logged RCON messages to prevent the profiler from being flooded with large messages
profile.profiling_work_queueFalseRecord execution time of ObjectWorkQueues per frame
profile.quietFalseYesControls whether perfsnapshot commands emit chat messages
profile.rcon_lagspike_threshold40
profile.rpc_lagspike_threshold40
profile.runtime_profiling0Yes0 = off, 1 = basic, 2 = everything. This will reset all profiling convars, however they can be modified afterwards
profile.runtime_profiling_interval60
profile.runtime_profiling_persistFalseYesEnable to allow runtime profiling to persist across restarts
profile.runtime_profiling_pool_flush_interval300How often to flush pooling stats in seconds
profile.runtime_profiling_pooling00 = off, 1 = flush every 5 minutes
VariableDefaultSavedWhat it does
rabbit.population2Population active on the server, per square km
VariableDefaultSavedWhat it does
radiation.materialtoradsratio0.0044Multiplier converting radiation material value to effective radiation damage rate; lower values reduce radiation intensity globally
radiation.water_inventory_damageTrueWhen enabled, radiation-contaminated water damages items in a player’s inventory over time when in a radiation zone
radiation.water_loot_damageTrueWhen enabled, radiation-contaminated water damages loot containers over time when exposed to sufficient radiation
VariableDefaultSavedWhat it does
rcon.banduration300How long in seconds to ban an IP that has exceeded the maximum password failures (default: 300 seconds)
rcon.connectioncooldown1How long (in seconds) before we allow another rcon connection from the same address (default: 1 second)
rcon.ipIP Address to listen for RCON connections
rcon.logfailedattemptsTrueLog failed attempts and attempts from banned IP addresses (default: true)
rcon.maxconnections500Total number of allowed connections to RCON server. -1 to disable behaviour. Requires server restart after changes
rcon.maxconnectionsperip5Total number of allowed connections to RCON server, on a single IP. -1 to disable behaviour. Requires server restart after changes
rcon.maxpasswordfailures5How many password failures before banning an RCON client’s IP (default: 5)
rcon.permanentbanfailedipsFalsePermanently ban IPs that trigger too many failed attempts (default: false)
rcon.port0Port to listen for RCON connections
rcon.printFalseIf true, RCON commands will be printed in the console
rcon.webTrueIf set to true, use websocket RCON. If set to false use legacy, source engine RCON. Source engine RCON is DEPRECATED
VariableDefaultSavedWhat it does
reclaimmanager.reclaim_expire_minutes120Time in minutes after which an uncollected softcore death reclaim backpack expires and its contents are destroyed
VariableDefaultSavedWhat it does
relationshipmanager.contactsTrueYes
relationshipmanager.forgetafterminutes960Time in minutes after which relationship/contacts data for players who have not been seen is forgotten and removed
relationshipmanager.maxplayerrelationships128Maximum number of relationship entries (contacts) each player can store; older entries are evicted when the limit is reached
relationshipmanager.maxteamsize8Maximum number of players allowed in a single team; 0 = teams disabled; changing this at runtime updates all active teams
relationshipmanager.mugshotupdateinterval300Interval in seconds between mugshot (contact portrait) refresh attempts for known players
relationshipmanager.seendistance10Distance in metres within which two players must be for a ‘seen’ relationship event to be recorded
VariableDefaultSavedWhat it does
relay.cfg_autoreconnectTrueIf enabled, Rust Relay will automatically attempt to reconnect when the WebSocket connection drops
relay.cfg_encryptpacketsFalseSets whether packets should be encrypted when sent to the Rust Relay server, changing this will STOP the Rust Relay feature (restart with relay.restart)
relay.cfg_fakeplayerFalseIf enabled, Rust Relay spawns a fake invisible player and only relays packets sent to that player, changing this will STOP the Rust Relay feature (restart with relay.restart)
relay.cfg_filtermode0Sets the Filter Mode for RPC Messages, (0 = Ignore, 1 = AllowAll, 2 = AllowWhitelist)
relay.cfg_maxreconnects5Maximum number of reconnect attempts allowed within the reconnect window before the relay permanently shuts down
relay.cfg_reconnectdelay5Delay (in seconds) between reconnect attempts
relay.cfg_reconnectwindow30The rolling window (in minutes) used to track reconnect attempts
relay.cfg_sendconsoledataTrueIf enabled, console data will be sent to the relay server
relay.cfg_sendvoicedataFalseIf enabled, voice data will be sent to the relay server
relay.cfg_server_auth_tokenSets the authentication token for the Rust Relay server, changing this will STOP the Rust Relay feature (restart with relay.restart)
relay.cfg_server_urlSets the URL for the Rust Relay server, changing this will STOP the Rust Relay feature (restart with relay.restart)
VariableDefaultSavedWhat it does
render.show_building_blocked_serverTrueYes
VariableDefaultSavedWhat it does
rentableshop.additionalchecktimehoursdebug0When checking the time to see if items need to be deleted, add this many hours to what it thinks the current time is
rentableshop.initialscrapfee100Yes
rentableshop.maxstoreditemsdurationminutes1440YesHow long stores should store items (after a shop is closed) for before they are destroyed
rentableshop.protectionfromtakeoverhours6Yes
rentableshop.scrapperhourrent10Yes
VariableDefaultSavedWhat it does
reports.exceptionreportmaxlength0
VariableDefaultSavedWhat it does
rhib.rhibpopulation0Population active on the server
VariableDefaultSavedWhat it does
ridablehorse.autoavoidanceTrueYesWhen enabled, horses use automatic avoidance steering to navigate around obstacles; saved between sessions; admin configurable
ridablehorse.debugFalseYesWhen enabled, draws debug visualisations for this system (seismic sensor range sphere, escape capture state, etc.); editor/admin-only
ridablehorse.decayminutes180How long before a horse dies unattended
ridablehorse.dungtimescale1
ridablehorse.groundangleupdaterate0.05YesInterval in seconds between ground angle recalculation updates for horse body tilting; default 0.05s
ridablehorse.population2Population active on the server, per square km
ridablehorse.throttledgroundangleupdateTrueYesWhen enabled, ground angle updates for horse body tilt are throttled to groundAngleUpdateRate seconds; improves performance
VariableDefaultSavedWhat it does
room.draw_liveFalseContinuously draw the room partition around every player, refreshing as the base changes. Needs room.occlusion on (1 = shadow mode draws without hiding anything). Editor/dev tool - it redraws for everyone connected, so do not leave it on.
room.draw_live_normalsTrueDraw the normal arrows and face outlines of the room.draw_live overlay (off = room-coloured outlines only, much less traffic)
room.draw_live_range30Radius of the room.draw_live overlay, in metres
room.draw_networkgroups_liveFalseContinuously draw room contents, boundary groups and portal subscription state around every player. Needs room.occlusion on. Editor/dev tool - do not leave it on.
room.occlusion0Server-side interior occlusion: 0 = off, 1 = shadow mode (compute + log, hide nothing), 2 = enforce
room.occlusion_admin_bypassTrueAdmins and developers bypass interior occlusion and see everything
room.occlusion_deployables1What interior occlusion hides inside a room: 0 = nothing (building blocks only), 1 = static entities (boxes, workbenches, beds), 2 = also IO entities (wires and pipes can be dragged to an entity that is not on your client)
room.occlusion_door_immediateTrueKill switch for the whole synchronous pre-open pass: repartition and deliver the rooms behind a door the moment it opens, instead of leaving it to the normal budgeted queue. Only players within room.occlusion_door_immediate_range are flushed; further ones enqueue as usual. Off skips the repartition entirely, not just the flush.
room.occlusion_door_immediate_range30How close a player must be to a door for its rooms to be sent immediately when it opens, in metres. 0 = no limit, flush every viewer of the door.
room.occlusion_linger5How long a room must have been out of sight before it is dropped from a player’s client, in seconds. Stops a door being opened and shut, or a walk past a doorway, from destroying and re-sending a whole room. 0 = drop immediately.
room.occlusion_nearby_range32Rooms within this many metres of a player are always sent, whether or not they can see into them. Leaving the radius starts the room.occlusion_linger countdown rather than dropping it at once. 0 = only ever send what is actually visible.
room.occlusion_range250How far from a player interior occlusion looks for rooms to hide things in, in metres. Must comfortably exceed network range; rooms beyond it fail open.
VariableDefaultSavedWhat it does
rustnav.addtilebudgetms2Main-thread time budget per frame (ms) for adding built navmesh tiles to their navmesh. A base rebuild lands dozens of results in one frame and the rest waits for the next one. 0 or less adds every result that is ready, which is what shipped before the budget existed
rustnav.bakestatsenabledFalseCollect navmesh bake statistics (rustnav.bakestats to read them). Defaults on in the editor, off on servers; flip on live to diagnose bake issues, then reset with rustnav.bakestats true
rustnav.collectbudgetms1Main-thread time budget per frame (ms) for navmesh tile geometry collection. The full-map bake wall clock is roughly tiles / (budget-worth of tiles per frame) / fps, so raise this while baking to trade frame time for bake speed
rustnav.detailsampledistmult12Detail mesh sample distance as a multiple of cellSize (Recast default 6). Larger = cheaper detail mesh, coarser surface height. Applies to tiles built after the change
rustnav.detailsamplemaxerrormult1Detail mesh max sample error as a multiple of cellHeight (Recast default 1). Larger = cheaper detail mesh, more height error. Applies to tiles built after the change
rustnav.doorreassertspertick24How many doors re-assert their gate state per navmesh drain tick. A rebuilt tile bakes its apertures shut, so every open or npc-openable door over the rebuilt area has to write its state again, and a megabase queues hundreds of them at once. 0 or less applies the whole queue in one frame, which is what shipped before the budget existed
rustnav.drawkbps512Max KB per second of navmesh tiles streamed to each rustnav.draw viewer
rustnav.drawmanifestinterval10
rustnav.drawradius100
rustnav.drawrefreshrate0.25
rustnav.enableverboselogsFalse
rustnav.legacybuildFalseA/B kill switch: build navmesh tiles with the stock pre optimization algorithms (clip rasterizer, full ledge and region rescans, unfused filters). Combine with detailsampledistmult 6 to approximate the old build end to end. Applies to tiles built after the change
rustnav.maxshoredistance100Metres of open water past which default navmesh tiles are dropped instead of baked. A tile only drops when every point in it is that far from land, so shores keep their navmesh and so do rivers and lakes, which are never that wide. Independent navmeshes (oilrigs, tropical islands, ghost ships) are never touched. 0 or less bakes the open sea like before. Applies to tiles queued after the change
rustnav.numthreads4Navmesh tile builder worker thread count. Applied when the builder is (re)created - at boot, or via rustnav.setnumthreads at runtime. ~half the cores is the sweet spot for full-map bakes
rustnav.savecompressionTrueLZ4-compress navmesh saves (smaller .navmesh files, no extra save time)
rustnav.savedeltaTrueAppend only the tiles that changed to the navmesh file instead of rewriting all of it. The first save after a boot or a rebuild is always a full write, and a full write also happens once the appended part grows past rustnav.savedeltabudget
rustnav.savedeltabudget0.5How large the appended part of the navmesh file may grow, as a fraction of the full file, before the next save rewrites the whole thing. A save whose changed tiles are a larger share of the mesh than this rewrites it too. Bounds both file growth and boot load time. 0 or less removes the bound, to stop appending altogether use rustnav.savedelta false
rustnav.savethreads0Worker threads for navmesh save/load compression. 0 = auto
rustnav.savewarnms1000Log the navmesh save completion line as a warning past this many milliseconds. 0 or less never warns
VariableDefaultSavedWhat it does
sail.maxthrustmultiplier1Yes
VariableDefaultSavedWhat it does
samsite.autoreloaddelay45Delay before SAM sites that haven’t shot a target will auto-reload
samsite.staticrepairseconds1200how long until static sam sites auto repair
VariableDefaultSavedWhat it does
santasleigh.altitudeaboveterrain50
santasleigh.desiredaltitude60
VariableDefaultSavedWhat it does
satellite.control_window180Seconds of thruster control window
satellite.cooldown_hours_max18Maximum cooldown between satellite events, in game hours
satellite.cooldown_hours_min18Minimum cooldown between satellite events, in game hours (not real minutes), converted to real time via the map’s day length, same as the airdrop event scheduler.
satellite.crashing_fx_at_distanceTrueYesRun the crashing FX pass (FX Pass 3) through the whole phase-2 descent, including the distance-projected stretch, instead of waiting until the satellite enters real draw distance. The projected-mode fixup still applies, its particles simulate in local space and scale with the model; its trails stay gated until real rendering.
satellite.crate_fire_duration300Seconds the crash loot crates burn and stay unlootable after impact. All crates unlock together when this expires.
satellite.debugFalseLog crash-target search diagnostics (samples, blockers, reasons)
satellite.default_crash_radius300Starting impact radius before thruster adjustments, in meters
satellite.descent_angle45Angle (degrees from vertical) the satellite descends at. Higher = more horizontal streak across the sky. Clamped to 45 so it always reaches the ground within 45 degrees of straight down. Only used when flyover_altitude is 0, the flyover path has its own geometry.
satellite.descent_seconds600Descent duration in seconds (0 = use day length fraction; nonzero values are clamped to a minimum of final_descent_seconds so the phase-2 window always fits inside the descent)
satellite.final_descent_seconds300YesSeconds before the scheduled crash that the satellite begins its phase-2 physics descent. Phase 1 slides in to the phase-2 start point up until then, then the satellite drops at a speed timed to hit the ground exactly on schedule. The start point is placed at the satellite’s finalDescentSpeed times this window, so lengthening it starts the descent higher rather than slowing the fall.
satellite.final_descent_speed0Speed (m/s) of the phase-2 physics descent (0 = use the satellite prefab’s finalDescentSpeed). Together with final_descent_seconds this sets where phase 2 starts, speed times seconds back up the descent line, so e.g. 180s at 80 m/s starts the drop 14.4km out.
satellite.flyover_altitude2500Altitude (m above the crash target) of the phase-2 flyover cruise. The satellite enters near-horizontally at this height, streaks across the sky, then bends into a dive onto the target from flyover_dive_distance out. 0 = disable the flyover and use the legacy straight-line descent at descent_angle.
satellite.flyover_dive_distance1500Horizontal distance (m) from the crash target at which the flyover bends into its terminal dive. Smaller = a longer level cruise with a steeper final plunge.
satellite.free_fuelFalseIf true, firing satellite thrusters does not consume fuel
satellite.free_powerFalseIf true, powering up the satellite computer does not require any items
satellite.fuel_large_max16Maximum fuel rolled for large satellites (3000-5000kg)
satellite.fuel_large_min10Minimum fuel rolled for large satellites (3000-5000kg)
satellite.fuel_max36Hard maximum on generated fuel, applied after the per-size roll regardless of size
satellite.fuel_medium_max26Maximum fuel rolled for medium satellites (1500-3000kg)
satellite.fuel_medium_min16Minimum fuel rolled for medium satellites (1500-3000kg)
satellite.fuel_min8Hard minimum on generated fuel, applied after the per-size roll regardless of size
satellite.fuel_small_max36Maximum fuel rolled for small satellites (500-1500kg)
satellite.fuel_small_min24Minimum fuel rolled for small satellites (500-1500kg)
satellite.initial_offset_attempts8How many times to re-roll the initial random map position, re-checking the full crash-site acceptance each time, until a valid starting target is found. Guarantees the control phase never starts on an unusable spot.
satellite.kill_radius10Radius (m) around the impact point cleared on crash, players killed, construction/deployables/vehicles destroyed, vegetation removed
satellite.lateral_distance200Lateral offset multiplier per thruster fire (meters)
satellite.min_crash_radius100Minimum crash radius in meters
satellite.nudge_distance_max150Maximum random aim drift (meters) applied when tightening the impact radius
satellite.nudge_distance_min100Minimum random aim drift (meters) applied when tightening the impact radius, at a fully random angle so it can’t be cancelled out exactly by the cardinal-direction lateral thrusters
satellite.obstruction_tc_reorderTrueCrash targeting: use the tool-cupboard grid to test likely-occupied samples last, so a clear spot is usually found with fewer physics checks. The physics check stays authoritative.
satellite.phase1_extra_distance30000Extra distance (m) further out, along the descent line, that phase 1 starts. The satellite slides steadily from there in to the orbit point over phase 1, then phase 2 continues along the same line.
satellite.phase1_grow_scale4YesMultiplier the orbiting satellite’s glow billboard grows to by the end of phase 1 (starts at 1x). Purely a visual telegraph; replicated because the grow runs client-side.
satellite.require_powerplantTrueIf true, the satellite control computer can only be powered up while the power plant is active (powergrid stage 1+). Ignored when the powergrid system itself is disabled.
satellite.reuse_last_crash_spotTrueCrash targeting: before scanning, re-test the previously found crash spot. Small thruster nudges usually leave it valid, returning in a single check.
satellite.rotation_strength15Heading rotation per thruster fire (degrees)
satellite.shrink_expand_radius25Impact radius change per thruster fire (meters)
satellite.site_check_physical_geometryTrueAlso raycast the crash-site footprint against real collision geometry, rejecting spots with rocks or scenery the heightmap can’t see
satellite.site_clearance_radius16Clearance (m) the crash-site search demands around a candidate, rejected if any player building, prevent-building volume or safezone is within this range. Kept separate from kill_radius so targeting standoff can exceed what the impact destroys; 16 matches the building-privilege radius, so a valid site is never inside a base’s TC influence.
satellite.site_footprint_radius15Radius (m) around a candidate crash spot sampled for ground shape, roughly the crash remains footprint. Used both to reject unsuitable spots and to fit the spawned remains to the ground.
satellite.site_max_slope25Max overall ground slope (degrees) across the crash footprint before a spot is rejected
satellite.site_max_unevenness2Max terrain height deviation (m) from the crash footprint’s best-fit plane before a spot is rejected as too uneven (cliff edges, crests, dips the remains meshes can’t hide)
satellite.sky_trailTrueYesRender the satellite’s descent as a map-wide sky ribbon tracing the real flight path, visible from any distance at any draw distance setting. Rendered client-side from the entity’s networked positions.
satellite.sky_trail_age_fadeTrueYesFade each point of the sky ribbon out over its lifetime (sky_trail_seconds), like a TrailRenderer, the streak continuously dissolves behind the satellite instead of holding full brightness until its points expire.
satellite.sky_trail_drain_seconds10YesSeconds the sky ribbon takes to drain away tail-first after the satellite crashes or is destroyed. The recorded point ages are compressed into this window, so the ribbon keeps shrinking exactly the way it does in flight, and the impact end of the streak is the last to go.
satellite.sky_trail_max_length0YesMaximum length of the sky ribbon in meters of flight path, the tail is trimmed to keep the ribbon at or under this. 0 = no length cap, letting the sky_trail_seconds lifetime fade own the tail instead of a hard cut.
satellite.sky_trail_noise1YesMeters of smooth random wobble baked into the sky ribbon as it’s laid down, so the streak reads as turbulent rather than a perfect straight line. Keep it under the dish’s size (~3m) or the trail visibly detaches from the model. 0 = perfectly straight.
satellite.sky_trail_seconds60YesSeconds of flight path the sky ribbon spans, its TrailRenderer-style lifetime: with sky_trail_age_fade on, points dissolve to nothing as they reach this age. Capped by the ribbon’s internal point budget at ~128s.
satellite.sky_trail_width_degrees0.075YesOn-screen thickness of the sky ribbon’s head, in degrees of view angle, it holds the same apparent width whatever distance it’s projected at, tapering to a point at the tail.
satellite.targeting_budget_ms5Crash targeting: max milliseconds per frame spent scanning for a safe crash site. The scan resumes next frame when exceeded.
satellite.targeting_coverage_factor3Crash targeting: candidate samples tested per clearance-footprint, i.e. per (targetingRadius/clearanceRadius)^2. The sample count scales with the targeting area, so a small circle runs far fewer checks than a large one. ~1.2 is bare geometric coverage (samples spaced ~one clearance apart); the default adds margin to catch tight gaps. Pushing it much higher mostly adds correlated, redundant checks.
satellite.targeting_min_samples8Crash targeting: minimum candidate samples per search, regardless of how small the targeting circle is. Floors the area-scaled sample count so a small but cluttered area still gets a fair number of attempts.
satellite.thruster_extra_steps2When a thruster move finds no valid crash site, how many extra steps to take in the same direction before giving up. Fuel cost is linear in the number of steps taken (a 3-step move costs 3 fuel), and a further step isn’t attempted if the player can’t afford it.
satellite.thruster_module_count3Thruster modules salvaged from fully harvesting the crash remains
satellite.thruster_module_min_condition0.2Minimum condition fraction of salvaged thruster modules, regardless of how much fuel the satellite burned before lock-in
satellite.trail_alpha_scale1YesMultiplier on the alpha of the satellite trails’ authored colour gradients, saturating at full opacity, the authored fades drop to near-transparent within the first quarter of the trail, so values above 1 keep progressively more of its length visible. Applied alongside trail_time_scale as the trails switch on.
satellite.trail_time_scale1YesMultiplier on the authored lifetime of the satellite’s trail renderers, a trail spans this many times the authored seconds of flight path, so it directly scales the visible streak length. Applied as the trails switch on (they sit out the projected far-distance stretch and only run once the satellite is drawn at its real position), so changes take effect at the next handover, not mid-trail. Replicated because trails render client-side.
satellite.wreck_fire_duration480Seconds the main wreck stays too hot to harvest after impact
VariableDefaultSavedWhat it does
scraptransporthelicopter.population0Population active on the server
VariableDefaultSavedWhat it does
seaturtle.forcesurfaceamount0
seaturtle.population2Population active on the server, per square km
VariableDefaultSavedWhat it does
sensecomponent.maxrefreshintervalseconds1
sensecomponent.minrefreshintervalseconds0.2
VariableDefaultSavedWhat it does
sentry.debugpreventduplicatesTruePrevents auto turrets getting added more than once to the IO queue
sentry.hostileduration120how long until something is considered hostile after it attacked
sentry.interferenceradius40Yesradius to check for other turrets
sentry.maxinterference12Yesmax interference from other turrets
sentry.scantimer1How quickly can a turret acquire a potential target. Less is faster, but perf taxing
sentry.targetallFalsetarget everyone regardless of authorization
VariableDefaultSavedWhat it does
server.allowsortingTrueSet to false to disable the storage adaptor sorting functionality
server.allowvineswingingTrueYesWhen true, players can grab and swing on deployed vines; disable to prevent vine-swinging movement
server.anticheatidxyza7891h6UjNfd0eb2HQGtaul0WhfvSEasy Anti-Cheat product ID used to authenticate this server with EAC services
server.anticheatkeyOWUDFZmi9VNL/7VhGVSSmCWALKTltKw8ISepa0VXs60Easy Anti-Cheat product key used alongside anticheatid for EAC server authentication
server.anticheatlog200Sets the EOS (Epic Online Services) anti-cheat log verbosity level; higher values produce more detailed anti-cheat diagnostic output
server.anticheattokenTrueWhen true clients must provide a valid EAC token to connect; disable only for testing or modded environments
server.arrowarmor1YesGlobal multiplier for armour effectiveness against arrow and bow damage; 1.0 = default
server.arrowdamage1YesGlobal multiplier for all arrow and bow damage dealt; 1.0 = default, 2.0 = double damage
server.artificialtemperaturegrowablerange4Yes
server.authtimeout60Seconds an incoming connection has to complete authentication (Steam + EAC) before being forcibly disconnected
server.autouploadmapTrueYesAutomatically upload procedurally generated maps so that players download them (faster) instead of re-generating them
server.autouploadmapimagesTrueYesAutomatically upload an image of the map, used to show the map in the server browser
server.bag_quota_item_amountTrueYes
server.bansserverendpointHTTP API endpoint for centralized banning (see wiki)
server.bansserverfailuremode0Failure mode for centralized banning, set to 1 to reject players from joining if it’s down (see wiki)
server.bansservertimeout5Timeout (in seconds) for centralized banning web server requests
server.bleedingarmor1YesGlobal multiplier for armour effectiveness against bleeding damage; 1.0 = default
server.bleedingdamage1YesGlobal multiplier for all bleeding damage over time; 1.0 = default
server.bulletarmor1YesGlobal multiplier for armour effectiveness against bullet damage; 1.0 = default
server.bulletdamage1YesGlobal multiplier for all bullet damage dealt by firearms; 1.0 = default, 2.0 = double damage
server.bypassiteminputrestrictionFalseAllows items to be moved into containers that block item input
server.canequipbackpacksinairFalseYesAllows backpack equipping while not grounded
server.ceilinglightgrowablerange3YesRadius in metres within which a ceiling light provides artificial light that counts toward a growable plant’s light requirement
server.ceilinglightheightoffset3YesVertical offset in metres added when checking whether a ceiling light illuminates a plant directly below it
server.censorplayerlistTrueCensors the Steam player list to make player tracking more difficult
server.cinematicFalseYes
server.combatlogdelay10Seconds of delay before a combat event appears in the player’s own combat log, preventing real-time tracking during a fight
server.combatlogsize30Number of recent combat events retained in each player’s combat log, viewable with combatlog
server.compassenabledTrueYesWill the in-game compass show at the top of the screen
server.composterupdateinterval300How often (in seconds) composters advance their composting progress; default is every 300 seconds (5 minutes)
server.compressionFalseEnables or disables network packet compression on the server; compression reduces bandwidth at the cost of a small amount of CPU time
server.conveyormovefrequency5YesHow often industrial conveyors attempt to move items (value is an interval measured in seconds). Setting to 0 will disable all movement
server.corpsedespawn300Seconds before a player corpse is removed from the world; default is 300 seconds (5 minutes)
server.corpsesTrueWhether player corpses are spawned when players die; disabling removes corpses entirely and items are dropped directly
server.crawlingenabledTrueYesDo players go into the crawling wounded state
server.crawlingmaximumhealth12Maximum initial health given when a player dies and moves to crawling wounded state
server.crawlingminimumhealth7Minimum initial health given when a player dies and moves to crawling wounded state
server.creamseparationhours4YesHours milk has to spend in a refrigerated container before it can be skimmed. Items already chilled won’t notice a change until their next network update
server.cycletime500Duration of a full day/night cycle in seconds; default 500s means roughly one cycle every 8 real-world minutes
server.debrisdespawn30Seconds before environmental debris entities (e.g. broken barrel remnants) are removed from the world; default 30 seconds
server.deepseafogofwarTrueYesShould the deep sea map be covered by fog of war
server.defaultblueprintresearchcost10YesHow much scrap is required to research default blueprints
server.descriptionNo server description has been provided.Short description of the server shown to players in the server browser
server.destroytaskbatchcount128UsePlayerUpdateJobs 2 related - how many destroy messages to batch into 1 task
server.drawpuzzleresetsFalseWhen enabled, debug spheres are drawn in the world showing the radiation zone boundaries during monument puzzle resets
server.dropitemsTrueWhether items drop to the ground from a player’s inventory when they die; disable to prevent item drops on death
server.eac_gameplay_dataTrueWhether or not to send additional analytics to EAC
server.emojiownershipcheckTrueWhether emoji ownership is checked server side. Could be performance draining in high chat volumes
server.encryption2Network encryption mode; 2 = enabled (recommended), 0 = disabled
server.enforcepipechecksonbuildingblockchangesTrueYesWhether to check for illegal industrial pipes when changing building block states (roof bunkers)
server.entitybatchsize100Number of entities included in each entity-update batch per frame; tune to balance CPU time spent on entity processing
server.entitybatchtime1Time in seconds allocated to each entity batch update pass; the server will not start a new batch until this interval has elapsed
server.entityrate16How many times per second entity network state is sent to clients; higher values reduce perceived lag for moving objects
server.eraNoneYesnone,primitive,medieval,frontier,rust
server.eventsTrueEnables automatic server-side game events such as helicopter patrols, airdrops and cargo ship visits
server.explosive_testing_modeFalseLower damage of explosives to 1 and allow them to be triggered multiple times
server.farmchickenlocalavoidanceTrueYesWhether to run local avoidance for chickens, disabling might get a slight performance improvement but chickens will clip
server.favoritesendpointYesDomain name to save when players favorite your server. The port can be omitted if using the default port or a SRV DNS record is created.
server.filefolderoverrideOverride the root storage folder for server files; leave empty to use the default server/identity path
server.filerequestbytesburst4194304YesBurst of requested file data bytes each client can be sent before further requests are deferred. Replicated so clients throttle their own requests to match
server.filerequestbytespersecond2097152YesBytes per second of requested file data (sign textures, photos, cassette audio, sculpts) sent to each client; requests beyond this are deferred, not dropped. Replicated so clients throttle their own requests to match
server.filerequestdebugFalsePrint file request rate limiting activity to the server console: incoming requests, bytes sent, and per-connection budget usage as it recovers over time
server.filerequestqueuelength256Maximum deferred file requests per client; requests beyond this are dropped (a legitimate client’s own request throttle never fills the queue)
server.fogofwarFalseYesShould the in-game map be covered by a fog of war
server.fogofwarrevealsize256YesHow much area around the player is revealed when using fog of war. Must be a multiple of 32
server.foodspoilingTrueYesWhether to run the food spoiling system
server.foodspoilingbudgetms0.05Maximum milliseconds per frame the server spends advancing food spoil timers; lower values reduce frame time impact at the cost of less frequent spoil updates
server.funwaterdamagethreshold0.8Yes
server.funwaterwetnessgain0.05Yes
server.gamemodeShort name of the game mode to activate on this server (e.g. ‘softcore’, ‘hardcore’); applies convar overrides defined by that game mode’s prefab
server.hardcorefirearmammunitioncraftingmultiplier1YesMultiplies crafting cost of firearm ammunition
server.headerimageYesURL of the banner/header image shown at the top of this server’s page in the server browser
server.hideplayermapdirectionFalseYesShould hte player see their direction on the map
server.hideplayeronmapFalseYesShould the player see their position on the map
server.homingmissiletargetshabFalseIf true hot air balloons can be shot down with homing missiles
server.hopperanimationbudgetms0.1YesHow long per frame to spend animating items moving into the hopper (will be instant if <= 0)
server.hostnameMy Untitled Rust ServerServer name displayed in the server browser
server.http_connection_limit32Maximum number of simultaneous outbound HTTP connections the server may have open at once; used for map uploads, ban checks, and other web requests
server.identitymy_server_identityUnique identifier for this server instance; determines the subfolder used for saves, configs and map data
server.idlekick30Minutes of in-game inactivity before a player is automatically kicked; set to 0 to disable idle kick
server.idlekickadmins0Minutes of inactivity before admin players are idle-kicked; 0 disables idle kick specifically for admins regardless of idlekickmode
server.idlekickmode1Controls who is subject to the idle kick: 0 = nobody, 1 = non-admin players only, 2 = all players including admins
server.incapacitatedrecoverchance0.1YesBase chance of recovery after incapacitated wounded state
server.industrialallowquickmoveTrueEnables a faster way to move items around during conveyor transfers. Should be on unless there’s a issue
server.industrialcrafterfrequency5YesHow often industrial crafters attempt to craft items (value is an interval measured in seconds). Setting to 0 will disable all crafting
server.industrialframebudgetms0.5YesHow long per frame to spend on industrial jobs
server.industrialtransferstricttimelimitsTrueYesWhen enabled industrial transfers will abort if they start to take too long. Will lead to inconsistent splitting but should retain performance
server.ipIP address the server binds to; leave empty to bind to all interfaces
server.ipqueriespermin30Maximum number of Steam server browser queries allowed per minute from a single IP address
server.itemdespawn300Seconds before items dropped on the ground despawn; default is 300 seconds (5 minutes)
server.itemdespawn_container_max_multiplier24Upper cap on the loot container despawn multiplier; at default 24 the maximum lifetime is 24 x 5 min = 2 hours
server.itemdespawn_container_scale2Multiplier applied to the base item despawn time for items sitting inside loot containers; default 2x extends their lifetime
server.itemdespawn_quick30Fast-despawn time in seconds used for short-lived dropped items such as empty casings or small debris; default 30 seconds
server.levelProcedural MapMap level to load on startup, e.g. ‘Procedural Map’, ‘Barren’, or a custom map name
server.leveltransferTrueWhen true the server sends the map file to clients so they can load it without re-generating it locally
server.levelurlURL to download a custom map file from; if set the server will fetch and load this map instead of generating one
server.log_invalid_packet_lengthsFalseYesLogs network packets rejected for being empty or not byte-aligned
server.logoimageYesURL of the logo image shown for this server in the server browser
server.long_distance_soundsTrueWhen enabled, long-distance ambient sounds (e.g. distant gunfire) are networked to clients; disabling may reduce bandwidth on busy servers
server.lowprioritybuoyancyrange30If no players are in this range kayaks, boogie boards and inner tubes will switch to a cheaper buoyancy system
server.mapenabledTrueYesCan players use the in-game map
server.max_explosive_protection0.75Yes
server.max_sleeping_bags15Yes
server.maxclientinfosize1048576Maximum byte size of the client info blob sent during the connection handshake; clients sending a larger payload are rejected
server.maxconnectionsperip5Maximum number of simultaneous connections allowed from the same IP address; helps mitigate connection-flooding attacks (clamped 1-1000)
server.maxdecryptqueuebytes524288000Maximum total byte size of packets waiting for decryption; excess packets are dropped when the limit is reached
server.maxdecryptqueuelength5000Maximum number of encrypted packets that can wait in the decryption queue before being dropped
server.maxdecryptthreadwait100Maximum milliseconds the decryption thread will block before timing out; increase if CPU-heavy encryption causes dropped packets (clamped 1-1000)
server.maxfoodspoiltimediffforitemstack180Maximum difference (in seconds) that two items with spoil timers can have and still be stackable
server.maximummapmarkers5YesHow many markers each player can place
server.maximumpings5YesHow many pings can be placed by each player
server.maxitemstacksmovedpertickindustrial12YesHow many stacks a single conveyor can move in a single tick
server.maxmainthreadwait100Maximum milliseconds the main game thread will wait for a network operation before timing out; increase to tolerate brief network stalls (clamped 1-1000)
server.maxpacketsize_command100000Maximum byte size of a single console command packet from a client; oversized packets are rejected
server.maxpacketsize_globalentities1000Maximum byte size of a single global-entities network packet; oversized packets are dropped
server.maxpacketsize_globaltrees100Maximum byte size of a single global-trees network packet; oversized packets are dropped
server.maxpacketsize_voicedata8096Maximum number of bytes permitted in VoiceData packets, oversized packets will be dropped
server.maxpacketspersecond1500Global cap on total network packets per second the server will accept across all connected clients combined
server.maxpacketspersecond_command100Maximum console command packets per second accepted from each client; rate-limits how quickly clients can send commands to the server
server.maxpacketspersecond_rpc200Maximum RPC (Remote Procedure Call) packets per second accepted from each client; limits how fast clients can trigger server-side actions
server.maxpacketspersecond_rpc_signal30Maximum RPC signal packets per second accepted from each client; signal RPCs are lightweight event triggers used for interactions
server.maxpacketspersecond_syncvar200Maximum sync-var (replicated variable) update packets per second accepted from each client
server.maxpacketspersecond_tick300Maximum tick-update packets per second accepted from each client; these carry player inputs and must stay within this rate to be processed
server.maxpacketspersecond_voice100Maximum voice chat packets per second accepted from each client; reducing this limits voice bandwidth usage per player
server.maxpacketspersecond_world1Maximum world-state update packets per second accepted from each individual client; prevents flooding the server with position spam
server.maxplayers500Maximum number of players allowed on the server at the same time
server.maxreadqueuebytes524288000Maximum total byte size of the incoming read queue; excess bytes are dropped to prevent memory exhaustion from a flood of large packets
server.maxreadqueuelength5000Maximum number of packets that can be queued in the incoming read queue; excess packets are dropped to prevent memory exhaustion
server.maxreadthreadwait100Maximum milliseconds the dedicated read thread will block waiting for incoming data before timing out (clamped 1-1000)
server.maxreceivetime20Maximum milliseconds the network receive thread is allowed to run per frame; increase if players report missed packets on high-population servers (clamped 10-1000)
server.maxunack4Maximum number of unacknowledged network messages per connection before the server starts applying backpressure to that client
server.maxwritequeuebytes524288000Maximum total byte size of the outgoing write queue; if the queue fills the oldest packets are dropped
server.maxwritequeuelength5000Maximum number of packets that can be queued in the outgoing write queue; excess packets are dropped when the queue is full
server.maxwritethreadwait100Maximum milliseconds the dedicated write thread will block waiting to send data before timing out (clamped 1-1000)
server.meleearmor1YesGlobal multiplier for armour effectiveness against melee damage; 1.0 = default, values above 1.0 make armour stronger against melee
server.meleedamage1YesGlobal multiplier for all melee weapon damage dealt; 1.0 = default, 2.0 = double damage, 0.5 = half damage
server.metabolismtick1Multiplier for player metabolism tick frequency; lower values slow down hunger, thirst and calorie consumption rates
server.modifiertickrate1Rate multiplier for status effect (buff/debuff) ticks; lower values slow all active modifiers such as poison, radiation sickness and warmth
server.monumentpuzzleresetradiationTrueAllows radiation to flood monuments to force puzzles to reset
server.monumentpuzzleresetradiationamount3Radiation damage per second applied to players inside a monument during its puzzle-reset radiation phase
server.monumentpuzzleresetradiationmaxradiusincrease20Clamp radiation multiplier to this amount of meters, -1 = ignored
server.monumentpuzzleresetradiationoverrideFalseForce enable radiation in monument puzzles to confirm they work
server.monumentpuzzleresetradiationplayeremptytime120How long does a monument puzzle need to be empty with full rads before it can reset
server.monumentpuzzleresetradiationpreresettime300How long before the reset happens do we start applying radiation
server.monumentpuzzleresetradiationradiusmultiplier1.5Multiplier applied to a monument’s normal radiation radius when the puzzle-reset radiation cloud is active; default 1.5x expands the zone beyond its usual boundary
server.monumentpuzzleresetwarningsTrueYesWhen enabled, chat warnings are broadcast to players inside a monument shortly before its puzzle-reset radiation begins
server.motdYes
server.netcacheTrueEnables server-side network caching of entity state; when enabled only deltas are sent per update rather than the full entity data, significantly reducing bandwidth
server.netcachesize0Maximum byte size of the network entity cache; 0 means no hard limit
server.netlogFalseEnables low-level network activity logging on the server; produces verbose output useful for diagnosing connection and packet issues
server.nonplanterdeathchancepertick0.005YesProbability (0-1) per growth tick that a plant growing outside a planter box will die; default 0.005 means a 0.5% chance each tick
server.normalisedfoodspoiltimestackthreshold0.9If two spoiled food items are both above this threshold then we will allow them to be stacked
server.npcammolootmultiplier1YesAll ammo drops from NPC loot will be multiplied by this
server.npccorpsedespawn600Seconds before a NPC corpse is removed from the world; default is 600 seconds (10 minutes)
server.occlusiongatherbatchplayercount16UsePlayerUpdateJobs 4 related - how many players to gather occlusion pairs for per task
server.officialFalseMarks this as an official Facepunch server; only set by Facepunch, do not enable on community servers
server.oilrig_radiation_alarm_threshold0Radiation level at which the oil rig alarm triggers; 0 means the alarm activates immediately when any radiation is present
server.oilrig_radiation_amount_scale1YesMultiplier for radiation intensity inside oil rig monuments; higher values increase radiation damage per second
server.oilrig_radiation_time_scale1YesMultiplier for how long radiation lingers after an event at oil rig monuments; higher values extend the radiation duration
server.optimalplanterqualitysaturation0.6YesSoil saturation level (0-1) at which a planter box is considered perfectly watered for quality bonuses; default 0.6
server.ovencookbudgetms0.25YesMaximum milliseconds per frame spent processing furnace and campfire cook ticks; lower values keep frames smoother on high-population servers
server.packetlog_enabledFalseEnables packet-type logging; must be true before the packetlog command will return data. Collects packet type call counts at runtime
server.paintballoverallsdamage1YesHow much to scale paintball damage when both the hit player and initiator player have paintball overalls on (see paintballstandarddamage for scaling standard paintball damage)
server.paintballstandarddamage1YesHow much to scale standard paintball damage (see paintballoverallsdamage for scaling damage for when players have overalls on)
server.parachuterepacktime8YesHow long it takes to pick up a used parachute in seconds
server.parallelnetworkqueuebatchsize16UsePlayerUpdateJobs 4 related - affects how many players get batched into 1 task by counting the size of their network queues. Higher number - less tasks
server.pauseindustrialduringsaveTrueShould industrial be paused during autosaves
server.pauseunlootedpuzzlesTrueWhen enabled, the puzzle reset timer pauses for monuments that have not been looted yet, preventing resets of untouched areas
server.ping_region_code_overrideOverride the geographic region code used for ping estimation in the server browser; leave empty to use automatic detection
server.pingduration10YesHow long a ping should last
server.plantlightdetectionTrueEnables plant light detection, growable plants will check nearby light sources each tick and adjust growth speed and quality accordingly
server.planttick60Yes
server.planttickscale1Multiplier for plant growth tick speed; values above 1.0 make plants grow faster, values below 1.0 slow growth
server.player_state_cache_size0Size of the LRU player-state cache; higher values keep more player states in memory, reducing disk reads when reconnecting players
server.playerserverfallTrueYesWhen true, fall damage is calculated server-side for improved anti-cheat security; disabling may reduce server load but allows clients to manipulate fall damage
server.playertimeout60Seconds of network inactivity before a connected player is timed out and disconnected
server.port28015UDP port the server listens on for player connections
server.premiumFalseRequire a premium status account to connect to this server
server.premiumrecheckinterval300How often to do premium status rechecks
server.premiumrecheckmaxbatchsize100Maximum number of players to recheck at a time
server.premiumrecheckminseconds300Minimum time to recheck premium status for already connected players (in seconds)
server.premiumverifyendpointhttps://rust-api.facepunch.com/api/premium/verifyEndpoint to use to check if players have premium status
server.printreportstoconsoleFalseYesShould F7 reports from players be printed to console
server.pveFalseEnables PvE mode, players cannot damage other players; they can still be killed by NPCs and the environment
server.pvebulletdamagemultiplier1YesAdditional bullet damage multiplier applied only when players shoot NPCs or animals, stacks with bulletdamage
server.pvp_ttk_bullet1YesHow much to increase time to kill bullets in pvp globally, 2.0 = twice as long, 0.5 = half as long
server.pvp_ttk_global1YesHow much to increase time to kill in pvp globally, 2.0 = twice as long, 0.5 = half as long
server.pvp_ttk_melee1YesHow much to increase time to kill with melee in pvp globally, 2.0 = twice as long, 0.5 = half as long
server.pvpbulletdamagemultiplier1YesAdditional bullet damage multiplier applied only in player-vs-player combat, stacks with bulletdamage
server.queriespersecond2000Maximum number of Steam server browser queries the server will respond to per second before rate-limiting
server.queryport0UDP port used for Steam server browser queries; uses the game port if set to 0
server.radiationTrueEnables radiation zones at monuments; disabling removes all radiation hazards from the map
server.randomize_seedFalseSetting this to true assigns a new random value to the world generation seed; useful for wipe scripts that want a fresh random map each time
server.rejoin_delay300Seconds a disconnected player must wait before they are allowed to rejoin the server; default is 300 seconds (5 minutes)
server.reportsserverendpointYesHTTP API endpoint for receiving F7 reports
server.reportsserverendpointkeyYesIf set, this key will be included with any reports sent via reportsServerEndpoint (for validation)
server.repositionattachmentsonreskinTrueReposition attachments like storage adaptors if they have moved on reskins
server.respawnatdeathpositionFalseIf a player presses the respawn button, respawn at their death location (for trailer filming)
server.respawnresetrange50Radius in metres around a player’s death point, any sleeping bag or bed within this range is put on a respawn cooldown to prevent spawn-camping
server.respawntimeadditionbag0YesBags will increase their respawn time by this much
server.respawntimeadditionbed0YesBeds will increase their respawn time by this much
server.respawnwithloadoutFalseWhen a player respawns give them the loadout assigned to client.RespawnLoadout (created with inventory.saveloadout)
server.rewounddelay60YesMinimum seconds that must pass after a player recovers from being wounded before they can be put into the wounded state again
server.rpclog_enabledFalseEnables RPC call logging; must be true before the rpclog command will return data. Tracks how often each RPC is called
server.rust_relay_send_queue0Prints the current server decryption queue depth
server.salt1Secondary salt value mixed into procedural world generation; used to vary monument and road placement
server.savebackupcount2YesNumber of rolling save-file backups to keep; each autosave rotates the oldest backup out
server.savecachesize0Maximum byte size of the entity save cache used to accelerate autosaves; 0 means no hard limit
server.saveframebudget5MS per frame to spend warming up entity save caches
server.saveinterval600How often (in seconds) the server automatically saves the game world to disk; default is every 600 seconds (10 minutes)
server.schematime1800How often (in seconds) the full entity schema is re-broadcast to all clients; default is every 1800 seconds
server.seed1337Seed value used for procedural world generation; changing this produces a completely different map layout
server.server_idYesPersistent unique identifier for this server instance, used when recording demos and for analytics attribution
server.showholstereditemsTrueYesWhen enabled, weapons and tools holstered on a player’s back are visible on their character model to other players
server.skipdeathscreenfadeFalseYesSkip death screen fade
server.snapshottaskbatchcount64UsePlayerUpdateJobs 2 related - how many snapshot messages to batch into 1 task
server.spawnvinetreesTrueYesWhen true, vine tree variants are included during world generation; disable to remove all climbable vine trees from the map
server.sprinklereyeheightoffset3YesVertical eye-height offset in metres used when raycasting to determine whether a sprinkler can water a given plant
server.sprinklerradius3Yes
server.stabilityTrueEnables structural stability simulation; when disabled buildings will not collapse even if their supports are destroyed
server.statbackupFalseEnables automatic backups of server statistics data
server.statsFalseEnables collection and reporting of gameplay statistics such as kill counts, damage dealt and resource gathered
server.strictauth_eacFalseWhen true players are kicked if EAC authentication fails; disable to allow players through even when EAC is unavailable
server.strictauth_steamFalseWhen true players are kicked if Steam authentication fails; disable to allow connections when Steam auth servers are unreachable
server.tagsYesComma-separated server browser tag values (see wiki)
server.tickrate10Number of server simulation ticks per second; higher values improve responsiveness but increase CPU usage
server.tutorialenabledFalseYesControls whether the tutorial is enabled on this server
server.updatebatch512Number of entities processed per network update batch; lower values spread the load across more frames but increase total overhead
server.updatebatchspawn1024Number of entities processed per batch during the initial spawn network update; higher values send more entities per frame during map load
server.upgrade_keeps_healthTrueWhen a deployable is upgraded in place (e.g. stacking sandbags) the new tier keeps the damaged health fraction of the one it replaced instead of spawning at full health
server.urlServer website URL displayed in the server browser; leave empty to show no link
server.uselegacyworkbenchinteractionFalseYesOpens a loot panel when interacting with a workbench instead of going straight into the tech tree. Designed for backwards compatibility with mods.
server.useminimumplantconditionTrueWhen enabled, plants that would normally be in a critically poor condition are given a minimum viable condition score instead of immediately dying
server.useperplayerrequiredsystemconfigFalseEnables per-player required system configuration checks on connect; allows different requirements to be enforced for individual players
server.useplayerupdatejobs3Player Update parallelism mode: 3-4, Higher modes are faster but more experimental. 3 by default
server.useserverwiderequiredsystemconfigFalseEnables a server-wide required system configuration that all connecting clients must satisfy; used to enforce minimum hardware or software requirements
server.watercontainersleavewaterbehindFalseYesWhen transferring water, should containers keep 1 water behind. Enabling this should help performance if water IO is causing performance loss
server.waterwellnpcsalesrefreshfrequency1How often (in hours) the water well NPC’s update their sell orders
server.waterwheelworkbudgetms0.1YesHow long per frame to spend on updating water wheel power generation and water info
server.workbenchtaxrate10YesHow much of a tax to apply to tech unlocks at a level 1 workbench. 10 = additional 10% scrap cost
server.workbenchtaxrate20YesHow much of a tax to apply to tech unlocks at a level 2 workbench. 10 = additional 10% scrap cost
server.workbenchtaxrate30YesHow much of a tax to apply to tech unlocks at a level 3 workbench. 10 = additional 10% scrap cost
server.worldsize4500Width and height of the procedurally generated world in metres; larger values create a bigger map with more resources
server.woundedmaxfoodandwaterbonus0.25YesMaximum percent chance added to base wounded/incapacitated recovery chance, based on the player’s food and water level
server.woundedmaxoverfedchance1YesWounded/incapacitated recovery chance for a player carrying a full extra bar of calories above the normal cap, scaled down by how overfed they actually are
server.woundedrecoverchance0.2YesBase chance of recovery after crawling wounded state
server.woundingenabledTrueYesCan players be wounded after receiving fatal damage
VariableDefaultSavedWhat it does
sheep.population2Population active on the server, per square km
VariableDefaultSavedWhat it does
shield.infiniteshieldblockFalseYes
VariableDefaultSavedWhat it does
signage.adminscanalwaysupdatesignsTrueYesIf true admins can always update signs, regardless of lock, build auth, etc
VariableDefaultSavedWhat it does
simpleshark.disableFalse
simpleshark.forcesurfaceamount0
VariableDefaultSavedWhat it does
sleepingbag.useteamlabelsTrueYes
VariableDefaultSavedWhat it does
slotmachine.forcepayoutindex-1
VariableDefaultSavedWhat it does
smallengine.maxthrustmultiplier1Yes
VariableDefaultSavedWhat it does
snakehazard.population5Population active on the server, per square km
VariableDefaultSavedWhat it does
snowmobile.allowpassengeronlyFalseAllow mounting as a passenger when there’s no driver
snowmobile.allterrainFalseIf true, snowmobile goes fast on all terrain types
snowmobile.outsidedecayminutes1440How long before a snowmobile loses all its health while outside
VariableDefaultSavedWhat it does
softcore.raidwindow_allow_tc_authedTrueYesAllow players authed on the target base tool cupboard to use explosives outside the window (renovate, or continue a raid after capturing the TC)
softcore.raidwindow_allow_twigTrueYesAllow explosive damage to twig-grade building blocks even outside the raid window
softcore.raidwindow_block_extra_enabledTrueYesOutside the window, also block a non-explosive damage type against non-twig building blocks (e.g. shotgunning down a stone wall). Melee is only affected by softcore.raidwindow_block_melee_doors
softcore.raidwindow_block_extra_type8YesRust.DamageType value blocked against non-twig building blocks when softcore.raidwindow_block_extra_enabled is true (default 8 = Bullet, which covers guns and shotguns)
softcore.raidwindow_block_melee_doorsTrueYesOutside the window, block melee damage to doors so they can’t be beaten down while the window is closed
softcore.raidwindow_block_mlrsTrueYesBlock launching MLRS rockets outside the raid window so they are not wasted
softcore.raidwindow_enabledTrueYesEnable Softcore raid windows: explosive damage to building blocks is only allowed inside the configured daily time window
softcore.raidwindow_end_hour21YesRaid window end hour in server system local time, 0-24 (default 21 = 9pm). If end is less than start the window wraps past midnight
softcore.raidwindow_fresh_tc_seconds3600YesSeconds after a base’s tool cupboard is placed during which the base can still be raided outside the window; 0 disables
softcore.raidwindow_hours_offset0YesHours to widen the raid window on both sides for timezone spread (1 = opens one hour earlier and closes one hour later)
softcore.raidwindow_start_hour18YesRaid window start hour in server system local time, 0-24 (default 18 = 6pm)
softcore.raidwindow_weekend_enabledFalseYesUse separate raid hours on Saturday and Sunday
softcore.raidwindow_weekend_end_hour22YesWeekend raid window end hour, server local time (used when softcore.raidwindow_weekend_enabled is true)
softcore.raidwindow_weekend_start_hour17YesWeekend raid window start hour, server local time (used when softcore.raidwindow_weekend_enabled is true)
VariableDefaultSavedWhat it does
solarpanel.sunupdatebudgetms0.05Yes
VariableDefaultSavedWhat it does
spawn.loot_population_test0If set the loot spawn system will consider this the player count, not the actual player count. Useful for testing
spawn.max_density1Maximum population density scalar; controls the upper bound for how densely spawnable items fill their designated spawn areas at high player counts
spawn.max_rate1Maximum spawn rate scalar applied to NPC/resource population spawning; the spawn tick rate scales up to this value as player count increases
spawn.min_density0.5Minimum population density scalar; controls the lower bound for how densely spawnable items fill their designated spawn areas at low player counts
spawn.min_rate0.5Minimum spawn rate scalar applied to NPC/resource population spawning; lower values slow down respawn ticking when server population is low
spawn.player_base100Base player count used when computing population spawn rates; below this value player_scale group rates are not yet applied
spawn.player_scale2Multiplier applied to group spawn rates based on current player count relative to player_base; higher values cause more group spawns as the server fills up
spawn.population_cap_rate300When scaling loot respawn rates by population, this will be considered the ‘max’ population, preventing loot speeding up if player counts are above this
spawn.respawn_groupsTrueWhen enabled, spawn groups (monument NPCs, timed event spawners) will respawn their entities after they are cleared
spawn.respawn_individualsTrueWhen enabled, individually tracked entities (e.g. specific persistent NPCs) will respawn after a delay when destroyed
spawn.respawn_populationsTrueWhen enabled, population spawners (animals, NPCs, resources) will respawn entities over time as they are killed or harvested
spawn.tick_individuals300Interval in seconds between individual entity respawn ticks; controls how frequently the server checks for and respawns dead individual entities
spawn.tick_populations60Interval in seconds between population spawn ticks; lower values cause populations to refill faster but increase server CPU load
VariableDefaultSavedWhat it does
squirrel.population2Population active on the server, per square km
VariableDefaultSavedWhat it does
stability.accuracy0.001Floating-point tolerance used when comparing stability values during propagation; smaller values are more precise but can cause more recalculations
stability.collapse0.05Stability value below which a building block is considered unsupported and will collapse; default 0.05 means blocks below 5% support fall
stability.log_ground_missing_deathFalseWhen enabled, logs when entities die because their ground support entity was destroyed or is missing
stability.log_stability_deathFalseWhen enabled, logs each entity death caused by a stability collapse to the server console with position and prefab name
stability.log_stability_updatesFalseWhen enabled, logs every stability value change during propagation; very verbose, use only for targeted debugging
stability.stabilityqueue9Maximum time in seconds that stability update jobs can run per server tick before being deferred to the next tick
stability.strikes10Number of stability propagation iterations performed per tick; higher values resolve complex multi-block stability chains faster at the cost of CPU time
stability.surroundingsqueue3Maximum time in seconds that surrounding-support check jobs can run per server tick before deferral
stability.verbose0Verbosity level for stability system logging; 0 = silent, higher values print more detail about stability calculations and propagation
VariableDefaultSavedWhat it does
stag.population3Population active on the server, per square km
VariableDefaultSavedWhat it does
stash.reveal_tick_rate0.5Interval in seconds between player-detection ticks for the stash container reveal mechanic; registered as stash.reveal_tick_rate
VariableDefaultSavedWhat it does
steam.server_allow_steam_nicknamesTrueYes
VariableDefaultSavedWhat it does
storagecontainer.canrequireauthifnolockFalseWhen enabled, storage containers without a lock can still require tool cupboard auth to access; default false
storagecontainer.corpseitemssavedpercent0.5Fraction of items preserved when a storage container spawns a death corpse; 0.5 = 50% of items survive the container death
storagecontainer.dropcorpseondeathFalseWhen enabled, storage containers that die spawn a loot corpse containing their items; when false items are destroyed
VariableDefaultSavedWhat it does
telephonemanager.maxcalllength120Maximum duration in seconds a telephone call can remain active before it is automatically terminated
telephonemanager.maxconcurrentcalls10Maximum number of simultaneous active telephone calls allowed on the server at any time
VariableDefaultSavedWhat it does
territory.hexsize50Hex cell size in metres (centre to corner). Changing it rebuilds the grid and wipes ownership
territory.offsetx0Shifts the whole territory grid east/west in metres. Painted cells move with it
territory.offsetz0Shifts the whole territory grid north/south in metres. Painted cells move with it
VariableDefaultSavedWhat it does
ticklogging.tick_uploader_lifetime60
VariableDefaultSavedWhat it does
tiger.population0.5Population active on the server, per square km
VariableDefaultSavedWhat it does
tigerfsm.chargerange20The range at which the tiger will charge instead of fleeing if aimed at
VariableDefaultSavedWhat it does
tigersneaktelegraphgrowl.minangle60Minimum angle for the tiger to growl when stalking a player
tigersneaktelegraphgrowl.mintimebetweengrowls5Time between growls when stalking a player
VariableDefaultSavedWhat it does
time.cl_maxstepsperframe2YesThe maximum amount physics ticks per frame on clients. If things are taking too long, time slows down
time.cl_steps32YesDesired physics ticks per second on clients
time.missiontimerscale1Yes
time.pausewhileloadingTrue
time.sv_maxstepsperframe2The maximum amount physics ticks per frame on the server. If things are taking too long, time slows down
time.sv_steps16Desired physics ticks per second on the server
time.timescale1
VariableDefaultSavedWhat it does
traincar.decayminutes30How long before a train car despawns
traincar.killofftracktrainsTrueShould train cars that are not spawned near train tracks be killed instantly (default = true)
traincar.population2.3Population active on the server
traincar.trainturretinaccuratepervelocity0.1Chance to miss per m/s of velocity for turrets shooting players on moving trains
traincar.wagons_per_engine2Ratio of wagons to train engines that spawn
VariableDefaultSavedWhat it does
traincarunloadable.decayminutesafterunload10How long before an unloadable train car despawns afer being unloaded
VariableDefaultSavedWhat it does
traincouplingcontroller.max_couple_speed9Maximum difference in velocity for train cars to couple
VariableDefaultSavedWhat it does
travellingvendor.alive_time_seconds1800Maximum lifetime in seconds before the Travelling Vendor despawns; default 1800s (30 minutes)
travellingvendor.attempt_pulloversTrueWhen enabled, the Travelling Vendor will attempt to stop for players and perform pullover interactions along its route
travellingvendor.max_speed5Yes
travellingvendor.should_destroy_buildingsFalseWhen enabled, the Travelling Vendor will destroy player-placed buildings that block its ring road path
travellingvendor.should_spawnTrueWhen enabled, the Travelling Vendor NPC is eligible to spawn on the server ring road; disable to prevent vendor spawning
VariableDefaultSavedWhat it does
tree.global_broadcastFalseWhen enabled, tree harvest events are broadcast to all connected clients, not just nearby players; useful for testing tree sync across the network
tree.simplified_colliderFalseWhen enabled, trees use a simplified capsule collider instead of the full mesh collider, reducing physics CPU cost at the expense of collision accuracy
VariableDefaultSavedWhat it does
treemanager.cellsize100Define cell size(in m) of a grid for trees - only has effect on world load and must be > 1. This affects how much data we send per tree cell(bigger the cell - more trees we have to send). The smaller the cell, the more cells we have to process and the more memory we need per player to track what’s left to send(gridSize ^ 2 / 8 bytes). We readjust CellSize to ensure gridSize never exceeds 512.
treemanager.enabletreestreamingTrueWhen enabled, tree data is streamed to players based on proximity rather than sending all trees at connect; reduces initial bandwidth
treemanager.playerbudgetms0.01Per-frame CPU budget in milliseconds allocated to sending tree streaming data per player
treemanager.updatebudgetms1Total per-frame CPU budget in milliseconds for the tree streaming update system
treemanager.uselazyserializationTrueInstead of reserializing grid cell on every tree add/removal(which can cost 0.25ms on 4.5k world), defer it to the streaming update. This reduces amount of times we need to serialize the tree list, but causes the player queue to take longer to process, as that’s where evaluation happens.
VariableDefaultSavedWhat it does
triggerbase.useexcludelayersFalseWhen enabled, triggers use an exclude layer mask to filter out specific physics layers from trigger detection; toggling clears or sets all active triggers
VariableDefaultSavedWhat it does
triggerboatmagnet.boatmagnetsenabledTrueWhen enabled, boat building station magnets are active and will magnetically attract compatible boat building blocks into position
VariableDefaultSavedWhat it does
triggerparent.allowtriggersleepingTrueAllow triggers to sleep if both they and their contents are stationary (TickMode 1 only)
triggerparent.sleeping_trigger_mask_epsilon0.001world units a trigger can move in WS before it is woken
triggerparent.tickmode10 - old InvokeHandler, 1 - Jobs
VariableDefaultSavedWhat it does
triggerparentdelayedexit.disable_delayed_exitFalseMakes TriggerParentDelayedExit act as a TriggerParent again
VariableDefaultSavedWhat it does
tugboat.tugcorpseseconds7200
tugboat.tugdecayminutes2160How long before a tugboat loses all its health while outside
tugboat.tugdecaystartdelayminutes1440How long until decay begins after the tugboat was last used
VariableDefaultSavedWhat it does
tutorialisland.enforcetrespasschecksTrueYes
tutorialisland.overridetutoriallocation(0.00, 0.00, 0.00)Will place the tutorial as close as possible to this pos, only for debugging
tutorialisland.spawntutorialislandfornewplayerTrueYes
VariableDefaultSavedWhat it does
unsafe.debugmtlockmaxframes5How many frames of a stack to emit
unsafe.enabledebugmtlockFalseControls DebugMTLock checks, which help track down thread races. Has minor perf impact, so prefer to keep disabled
unsafe.usemultithreadedscriptingFalseControls multithreading access to scripting API - can be fast, but unsafe. Disabling can help with instability
VariableDefaultSavedWhat it does
vehicle.boat_corpse_seconds300
vehicle.carwrecksTrueDetermines whether modular cars turn into wrecks when destroyed, or just immediately gib. Default: true
vehicle.cinematictrainsFalseIf true, trains always explode when destroyed, and hitting a barrier always destroys the train immediately. Default: false
vehicle.deepseaportal_boundary_force_start_distance10Distance in metres from a deep-sea portal boundary at which the repulsion force activates for vehicles
vehicle.disable_wheels_when_sleepingTrueWhen enabled, wheel colliders are disabled on vehicles that have gone to sleep in the physics engine, reducing CPU overhead for parked vehicles
vehicle.padrepairsrequiredTrueYesWhether repairable vehicle pads (eg. the Air Wolf helipad) have to be rebuilt with a hammer before their vendor will sell. When disabled, pads spawn already rebuilt and players cannot repair them.
vehicle.train_accel_force50000Acceleration force used by vehicle.train_speed (default 50000, same as train engine force)
vehicle.train_brake_force50000Braking force used by vehicle.train_stop (default 50000, same as train engine force)
vehicle.trainskeeprunningFalseDetermines whether trains stop automatically when there’s no-one on them. Default: false
vehicle.vehiclesdroplootTrueDetermines whether vehicles drop storage items when destroyed. Default: true
vehicle.world_boundary_force_offset25Additional offset applied to the world boundary force zone, extending the buffer zone inside the boundary before the force ramps up
vehicle.world_boundary_force_start_distance100Distance in metres from the world boundary at which a repulsion force starts pushing vehicles back inward; prevents vehicles from leaving the playable area
VariableDefaultSavedWhat it does
vendingmachine.max_history10000
vendingmachine.max_processed10000
vendingmachine.max_returned100
VariableDefaultSavedWhat it does
vinemountable.allowchainingTrue
VariableDefaultSavedWhat it does
vis.attackFalse
vis.damageFalse
vis.hitboxesFalse
vis.lineofsightFalse
vis.protectionFalse
vis.senseFalse
vis.triggersFalse
vis.weakspotsFalse
VariableDefaultSavedWhat it does
voice.voicerangeboostamount50Yes
VariableDefaultSavedWhat it does
watercatcher.forceenableconditionalspawningFalseDebug flag to force enable conditional spawning for all water catchers, regardless of their individual settings.
watercatcher.oilproductionstartdelay900YesHow long in seconds an oil pump runs after its oil switch is activated before it starts producing crude.
watercatcher.watercatcherbudgetms0.1Yes
VariableDefaultSavedWhat it does
watertreatmentwatercatcher.evaporationperminute200Yes
VariableDefaultSavedWhat it does
watertreatmentwatertank.maxflowrateperminute1020Yes
watertreatmentwatertank.maximumpressure360Yes
watertreatmentwatertank.pressuredecayperminute1Yes
VariableDefaultSavedWhat it does
waypointrace.racetimeout900YesHow long a race can go until it times out (in seconds)
VariableDefaultSavedWhat it does
weather.ambient_light_multiplier-1Yes
weather.arctic_fog_ambient_intensity_mult-1Yes
weather.arctic_fog_light_boost_mult-1Yes
weather.arctic_fog_ramp_end-1Yes
weather.arctic_fog_ramp_start-1Yes
weather.arid_fog_ambient_intensity_mult-1Yes
weather.arid_fog_light_boost_mult-1Yes
weather.arid_fog_ramp_end-1Yes
weather.arid_fog_ramp_start-1Yes
weather.atmosphere_brightness-1YesOverall brightness of the sky (-1 = auto).
weather.atmosphere_contrast-1YesOverall contrast of the sky (-1 = auto).
weather.atmosphere_directionality-1YesSize of the glow around the sun (-1 = auto).
weather.atmosphere_fog_height_falloff-1Yes
weather.atmosphere_fog_ramp_end_distance-1Yes
weather.atmosphere_fog_ramp_start_distance-1Yes
weather.atmosphere_mie-1YesMie scattering intensity, affects sky haze and sun halo (-1 = auto).
weather.atmosphere_rayleigh-1YesRayleigh scattering intensity, affects sky coloration (-1 = auto).
weather.biome_fog_ambient_saturation_mult-1Yes
weather.biome_fog_distance_curve-1Yes
weather.clear_chance1YesProbability of the Clear weather type.
weather.cloud_attenuation-1YesHow dark clouds get as they thicken (-1 = auto).
weather.cloud_brightness-1YesOverall brightness of the clouds (-1 = auto).
weather.cloud_coloring-1YesBlending between indirect sky light and direct sun light (-1 = auto).
weather.cloud_config-1Yes
weather.cloud_coverage-1YesHow much of the sky is covered by cloud layers (-1 = auto).
weather.cloud_opacity-1YesOverall opacity of the cloud layers and billboards (-1 = auto).
weather.cloud_saturation-1Yes
weather.cloud_scattering-1YesHow much sunlight the clouds scatter (-1 = auto).
weather.cloud_sharpness-1YesOverall sharpness of the cloud formations (-1 = auto).
weather.cloud_size-1YesOverall size of the cloud layers (-1 = auto).
weather.directional_light_multiplier-1Yes
weather.dust_chance0YesProbability of the Dust weather type.
weather.fog-1YesFog density override for the dynamic system (-1 = auto).
weather.fog_chance0YesProbability of the Fog weather type.
weather.fog_multiplier-1Yes
weather.jungle_fog_ambient_intensity_mult-1Yes
weather.jungle_fog_light_boost_mult-1Yes
weather.jungle_fog_ramp_end-1Yes
weather.jungle_fog_ramp_start-1Yes
weather.moon_mesh_brightness_multiplier-1Yes
weather.ocean_scale-1Yes
weather.ocean_time-1Yes
weather.overcast_chance0YesProbability of the Overcast weather type.
weather.rain-1YesRainfall intensity override for the dynamic weather system (-1 = auto).
weather.rain_chance0YesProbability of the Rain weather type.
weather.rain_grace_activeFalseYesWhether the post-wipe rain grace period is currently active (set automatically by the server)
weather.rain_grace_period18YesNumber of in-game hours after a wipe during which rain and storms are suppressed (0 to disable)
weather.rainbow-1YesWhether a rainbow is visible (-1 = auto).
weather.reflection_multiplier-1Yes
weather.storm_chance0YesProbability of the Storm weather type.
weather.sun_mesh_brightness_multiplier-1Yes
weather.temperate_fog_ambient_intensity_mult-1Yes
weather.temperate_fog_light_boost_mult-1Yes
weather.temperate_fog_ramp_end-1Yes
weather.temperate_fog_ramp_start-1Yes
weather.thunder-1YesAmount of thunder and lightning present (-1 = auto).
weather.tundra_fog_ambient_intensity_mult-1Yes
weather.tundra_fog_light_boost_mult-1Yes
weather.tundra_fog_ramp_end-1Yes
weather.tundra_fog_ramp_start-1Yes
weather.vclouds_moon_color_scale-1Yes
weather.vclouds_sun_color_scale-1Yes
weather.wetness_rain0.4Controls how wet surfaces become during rain; higher values cause characters and world objects to appear more soaked when it is raining
weather.wetness_snow0.2Controls how wet surfaces become during snow; affects surface wetness shaders independently from rain wetness
weather.wind-1YesWind intensity override; primarily visual, affects vegetation (-1 = auto).
VariableDefaultSavedWhat it does
wildlifehazard.chancetorepositionmultiplier1Global multiplier applied to the per-tick probability that a wildlife hazard attempts to reposition
wildlifehazard.clienttickrate0.1Interval in seconds between client-side tick updates for wildlife hazard entities
wildlifehazard.reactiontimemultiplier1Global multiplier applied to wildlife hazard reaction time; higher values make hazards slower to react to player presence
wildlifehazard.repositionattempts5Maximum number of position candidates sampled when a wildlife hazard searches for a valid reposition destination
wildlifehazard.repositionradiusmultiplier1Global multiplier for the radius used when choosing a new reposition destination for a wildlife hazard
wildlifehazard.repositiontimermultiplier1Global multiplier applied to the cooldown timer between wildlife hazard reposition attempts
VariableDefaultSavedWhat it does
wipetimer.days_to_add_test0Number of days to add to the server’s wipe timer during testing; registered as wipetimer.days_to_add_test; 0 = no adjustment
wipetimer.hours_to_add_test0Number of hours to add to the server’s wipe timer during testing; registered as wipetimer.hours_to_add_test
wipetimer.wipecronoverrideCustom cron expression for the wipe schedule. Overrides all other convars (except wipeUnixTimestampOverride) if set. Uses Cronos as a parser: https://github.com/HangfireIO/Cronos/
wipetimer.wipedayofweek40=sun,1=mon,2=tues,3=wed,4=thur,5=fri,6=sat
wipetimer.wipehourofday19Which hour to wipe? 14.5 = 2:30pm
wipetimer.wipetimezoneEurope/LondonThe timezone to use for wipes. Defaults to the server’s time zone if not set or invalid. Value should be a TZ identifier as seen here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
wipetimer.wipeunixtimestampoverride0Unix timestamp (seconds) for the upcoming wipe. Overrides all other convars if set to a time in the future.
VariableDefaultSavedWhat it does
wolf2.population2Population active on the server, per square km
VariableDefaultSavedWhat it does
workbench.comfortradiusscale0.95
workbench.scalecomfortradiusTrue
workbench.skipclearancechecksFalse
VariableDefaultSavedWhat it does
world.cacheTrue
world.configfilePath to a world generation config file used by the procedural map generator; used when configString is empty
world.configstringWorld generation config string passed directly to the procedural map generator; overrides the config file if set
VariableDefaultSavedWhat it does
xmas.enabledFalseEnables the Christmas event on the server, activating Christmas-themed loot spawns, trees, and holiday gift mechanics
xmas.giftsperplayer2Target number of gift entities to maintain per connected player during the xmas event; controls overall gift density on the server
xmas.spawnattempts5Number of spawn attempts made per player when trying to place Christmas gifts during refill; higher values increase fill reliability in cluttered areas
xmas.spawnrange40Radius in metres around each player within which Christmas gift entities are spawned during the xmas event refill
VariableDefaultSavedWhat it does
xmasdungeon.playerdetectrange30How far we detect players from our inside/outside
xmasdungeon.xmaslifetime1200How long each active dungeon should last before dying
xmasdungeon.xmaspopulation0Population active on the server
VariableDefaultSavedWhat it does
zombie.population0Population active on the server, per square km