| adventcalendar.overrideadventcalendarday | convar | 0 | |
| adventcalendar.overrideadventcalendarmonth | convar | 0 | |
| ai.accuratevisiondistance | convar | True | When enabled, vision distance checks use per-bone raycasts for accuracy; disable to use a single origin ray for performance |
| ai.addignoreplayer | command | — | Add a player (or command user if no player is specified) to the AIs ignore list. |
| ai.aimedatangle | convar | 10 | The angle under which the AI will think it's being aimed at at by a player |
| ai.aizonestats | command | — | Prints the total count of registered AIInformationZone instances on the server |
| ai.animal_ignore_food | convar | True | If animal_ignore_food is true, animals will not sense food sources or interact with them (server optimization). (default: true) |
| ai.brainstats | command | — | Prints the current count of active animal, scientist, pet, and new NPC2 brain instances on the server |
| ai.clearignoredplayers | command | — | Remove all players from the AIs ignore list. |
| ai.critters_frametime | convar | 0.2 | Frame time budget in milliseconds for the critter FSM ticks |
| ai.critters_startle_distance | convar | 0.5 | How close can a player get before a critter gets startled and runs away |
| ai.debug_seed | convar | — | Seeds every Gen2 NPC's random numbers from this and the order it spawned in, so a run repeats. 0 seeds each one at random |
| ai.debugmovedraw | convar | True | Whether ai.selectnpc and ai.movenpc draw their DDraw markers - turn it off to keep the view clean while commanding NPCs. |
| ai.debugmovegait | convar | run | Gait 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.debugmovespacing | convar | 2 | Gap 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.defaultinterpolationdelay | convar | 0.1 | Default network interpolation delay in seconds applied to NPC entity movement; lower values reduce visual lag at the cost of jitter on unstable connections |
| ai.deselectnpc | command | — | Removes the NPC you are looking at from your selection and hands it back to its normal AI. |
| ai.designingenabled | convar | False | |
| ai.effectaiweapons | convar | False | When enabled, AI weapons deal real damage when fired; disable to make NPC weapons harmless for testing AI behaviour safely |
| ai.frametime | convar | 5 | Target 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_frametime_animals | convar | 2 | Frame time budget in milliseconds for wild animal FSM ticks, on top of what the scientists left unused |
| ai.fsm_frametime_livestock | convar | 0.2 | Frame time budget in milliseconds for livestock FSM ticks, on top of what the scientists and animals left unused |
| ai.fsm_frametime_scientists | convar | 0.5 | Frame time budget in milliseconds for scientist FSM ticks. Whatever they leave unused rolls down to the animals, then the livestock |
| ai.groups | convar | True | When enabled, AI group logic is active allowing NPCs to coordinate as squads; disable to make all NPCs act as independent individuals |
| ai.ignoreplayers | convar | False | When enabled, AI entities ignore player presence and will not target or react to players; useful for building/testing without NPC interference |
| ai.killanimals | command | — | Kills all animal NPCs and animal NPC2 entities currently on the server |
| ai.killscientists | command | — | Kills all scientist NPCs, tunnel dwellers, and non-animal NPC2 entities currently on the server |
| ai.logissues | convar | False | When enabled, logs AI-related warnings and issues to the server console; useful for diagnosing pathfinding and brain errors |
| ai.move | convar | True | When enabled, AI entities move toward their NavMesh destinations; disable to freeze NPC movement while keeping brain logic running |
| ai.movenpc | command | — | Orders every NPC selected with ai.selectnpc to path to the position you are looking at. Optional gait: sneak, walk, jog, run, sprint, fullsprint - defaults to ai.debugmovegait. |
| ai.nav_carve_height | convar | 2 | The height of the carve volume. (default: 2) |
| ai.nav_carve_min_base_size | convar | 2 | The minimum size we allow a carving volume to be. (default: 2) |
| ai.nav_carve_min_building_blocks_to_apply_optimization | convar | 25 | The minimum number of building blocks a building needs to consist of for this optimization to be applied. (default: 25) |
| ai.nav_carve_size_multiplier | convar | 4 | The 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_optimization | convar | False | If nav_carve_use_building_optimization is true, we attempt to reduce the amount of navmesh carves for a building. (default: false) |
| ai.navthink | convar | True | When enabled, AI entities update their NavMesh agent destinations each tick; disable to freeze AI movement while keeping brain logic running |
| ai.npc_alertness_drain_rate | convar | 0.01 | npc_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_modifier | convar | 0.5 | This 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_mod | convar | 0.5 | npc_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_navmesh | convar | True | When 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_cooldown | convar | 10 | npc_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_multiplier | convar | 20 | The 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_diff | convar | 2 | npc_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_distance | convar | True | If 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_randomizer | convar | 0.85 | The 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_multiplier | convar | 1.25 | The offset with which the NPC will maximum miss the target. (default: 1.25) |
| ai.npc_deliberate_miss_to_hit_alignment_time | convar | 1.5 | The 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_size | convar | 1.5 | npc_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_enable | convar | True | If npc_enable is set to false then npcs won't spawn. (default: true) |
| ai.npc_families_no_hurt | convar | True | If 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_modifier | convar | 0.15 | The modifier by which a silencer reduce the noise that a gun makes when shot. (Default: 0.15) |
| ai.npc_htn_player_base_damage_modifier | convar | 1.15 | Baseline 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_threshold | convar | 3 | npc_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_chairs | convar | True | If npc_ignore_chairs is true, npcs won't care about seeking out and sitting in chairs. (default: true) |
| ai.npc_junkpile_dist_aggro_gate | convar | 8 | npc_junkpile_dist_aggro_gate define at what range (or closer) a junkpile scientist will get aggressive. (Default: 8) |
| ai.npc_junkpilespawn_chance | convar | 0.07 | defines the chance for scientists to spawn at NPC junkpiles. (Default: 0.1) |
| ai.npc_max_junkpile_count | convar | 30 | npc_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_tunnels | convar | 3 | npc_max_population_military_tunnels defines the size of the npc population at military tunnels. (default: 3) |
| ai.npc_max_roam_multiplier | convar | 3 | This 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_safezone | convar | True | If 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_cooldown | convar | 5 | npc_patrol_point_cooldown defines the cooldown time on a patrol point until it's available again (default: 5) |
| ai.npc_reasoning_system_tick_rate_multiplier | convar | 1 | The 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_tunnels | convar | 1920 | npc_respawn_delay_max_military_tunnels defines the maximum delay between spawn ticks at military tunnels. (default: 1920) |
| ai.npc_respawn_delay_min_military_tunnels | convar | 480 | npc_respawn_delay_min_military_tunnels defines the minimum delay between spawn ticks at military tunnels. (default: 480) |
| ai.npc_sensory_system_tick_rate_multiplier | convar | 5 | The 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_ship | convar | True | Spawn NPCs on the Cargo Ship. (default: true) |
| ai.npc_spawn_on_deep_sea_islands | convar | True | Spawn NPCs on deep sea islands (default: false) |
| ai.npc_spawn_on_junkpile | convar | True | Spawn NPCs on junkpiles (default: true) |
| ai.npc_spawn_per_tick_max_military_tunnels | convar | 1 | npc_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_tunnels | convar | 1 | npc_spawn_per_tick_min_military_tunnels defineshow many will minimum spawn at once at military tunnels. (default: 1) |
| ai.npc_speed_crouch_run | convar | 0.25 | npc_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_walk | convar | 0.1 | npc_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_run | convar | 0.4 | npc_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_sprint | convar | 1 | npc_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_walk | convar | 0.18 | npc_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_system | convar | True | If 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_weapons | convar | True | If npc_use_thrown_weapons is true, npcs will throw grenades, etc. This is an experimental feature. (default: true) |
| ai.npc_valid_aim_cone | convar | 0.8 | npc_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_cone | convar | 0.92 | npc_valid_mounted_aim_cone defines how close their aim needs to be on target in order to fire while mounted. (default: 0.92) |
| ai.npcbarksenabled | convar | False | |
| ai.npchealthmultiplier | convar | 1 | Global health multiplier applied to all NPCs; 1.0 = normal, 2.0 = double health; useful for difficulty scaling without modifying individual NPC prefabs |
| ai.npcswimming | convar | True | When enabled, NPCs can enter and swim in water; disable to prevent all NPCs from entering water bodies |
| ai.ocean_critters_movement_frametime | convar | 0.2 | Frame time budget in milliseconds for the ocean critters' swimming movement |
| ai.ocean_patrol_path_iterations | convar | 100000 | Maximum number of path-finding iterations used when calculating NPC ocean patrol routes; higher values produce better paths at more CPU cost |
| ai.printignoredplayers | command | — | Print a lost of all the players in the AI ignore list. |
| ai.printorkilloffnavscientists | command | — | Print a list of all scientists that are off the navmesh. Optionally kill them off by passing true as the first argument. |
| ai.releasenpc | command | — | Releases every NPC selected with ai.selectnpc and hands them back to their normal AI. |
| ai.removeignoreplayer | command | — | Remove a player (or command user if no player is specified) from the AIs ignore list. |
| ai.scientist_spawners_enabled | convar | True | Do any kind of scientists spawn on the map (default: true) |
| ai.selectnpc | command | — | Adds the NPC you are looking at to your selection so ai.movenpc can order it around. |
| ai.selectnpclookatserver | command | — | Editor-only: finds the NPC entity with the given network ID on the server and selects its game object in the Unity editor hierarchy |
| ai.selectnpcsinrange | command | — | Adds every commandable NPC around you to your selection. Optional radius in metres - defaults to ai.debugmoveselectrange. |
| ai.sensetime | convar | 1 | How 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.setdestinationsamplenavmesh | convar | True | When enabled, NavMesh destinations are sampled to the nearest valid NavMesh position before being set; prevents NPCs getting stuck off-mesh |
| ai.setnpcreactiontime | command | — | The time it takes for a NPC to fully notice a player standing right in front of them, in seconds. |
| ai.showdistributions | command | — | Editor-only: teleports the caller to a top-down view, fills NPC populations, then draws DDraw labels and lines showing each NPC category and closest neighbour |
| ai.showstate | command | — | |
| ai.showstateflashduration | convar | 1.5 | How long (in seconds) a value that has just moved stays coloured in the ai.showState read-out; 0 stops it colouring at all |
| ai.sleepwake | convar | True | When enabled, AI information zones can sleep inactive NPCs and wake them when players approach; disable to keep all NPCs awake at all times |
| ai.sleepwakestats | command | — | Prints statistics about AI sleeping zones: how many zones are sleepable, how many are sleeping, and the total count of sleeping entities |
| ai.smokegrenadenpcradius | convar | 4 | Radius in metres within which a thrown smoke grenade suppresses NPC vision and targeting |
| ai.spliceupdates | convar | True | When enabled, AI updates are spliced across multiple frames to spread CPU cost; disable to run all AI updates synchronously every tick |
| ai.think | convar | True | When enabled, AI entities run their brain Think() logic each tick; disable to freeze all AI decision-making while leaving entities in place |
| ai.tickrate | convar | 5 | Number of AI think ticks per second; default is 5 (every 200ms); higher values make AI more responsive at higher CPU cost |
| ai.usecalculatepath | convar | True | When enabled, NavMesh path calculation uses the full CalculatePath API; disable to use the simpler SetDestination fallback only |
| ai.usegrid | convar | True | When enabled, AI uses the spatial grid for entity queries; disable to fall back to brute-force entity iteration for debugging spatial query issues |
| ai.usesetdestinationfallback | convar | True | When enabled, falls back to SetDestination if CalculatePath fails to find a valid path to the target |
| ai.wakesleepingai | command | — | Wakes all currently sleeping AI information zones, forcing all sleeping NPCs within them to become active; reports zones and entity counts woken |
| ai.watchedangle | convar | 50 | The angle under which the AI will think it's being watched by another entity |
| aibrainsenses.humanknownplayerslosupdateinterval | convar | 0.2 | Interval in seconds between line-of-sight update ticks for human-type NPCs tracking known player positions |
| aibrainsenses.knownplayerslosupdateinterval | convar | 0.5 | Interval in seconds between line-of-sight update ticks for all NPC types tracking known player positions |
| aibrainsenses.updateinterval | convar | 0.5 | Interval in seconds between full AI brain senses update ticks; controls how frequently NPCs refresh their awareness of surroundings |
| aiinformationzone.usesimpleloscheck | convar | False | |
| aimanager.ai_dormant | convar | True | If 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_tick | convar | 30 | ai_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_budget | convar | 4 | ai_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_budget | convar | 4 | ai_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_budget | convar | 4 | ai_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_tick | convar | True | If 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_range | convar | 160 | If an agent is beyond this distance to a player, it's flagged for becoming dormant. |
| aimanager.nav_disable | convar | False | If 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_state | convar | 2 | nav_obstacles_carve_state defines which obstacles can carve the terrain. 0 - No carving, 1 - Only player construction carves, 2 - All obstacles carve. |
| aimanager.nav_wait | convar | True | If 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.pathfindingiterationsperframe | convar | — | The 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_failsafe | convar | False | If set to true, npcs will attempt to place themselves on the navmesh if not on a navmesh when set destination is called. |
| airfieldairdropterminal.force_charge | command | — | |
| airfieldairdropterminal.force_shortcircuit | command | — | |
| airfieldcallchinookterminal.force_charge | command | — | |
| airfieldcallchinookterminal.force_shortcircuit | command | — | |
| aithinkmanager.animalframebudgetms | convar | 0.2 | How many miliseconds to budget for processing animal AI entities per server frame |
| aithinkmanager.framebudgetms | convar | 2 | How many miliseconds to budget for processing AI entities per server frame |
| aithinkmanager.petframebudgetms | convar | 1 | How many miliseconds to budget for processing pet AI entities per server frame |
| analytics.analytics_bulk_container_url | convar | — | Azure blob container url for use with client secret authentication |
| analytics.analytics_bulk_upload_url | convar | — | Azure blob container url + SAS token, enables a more efficient upload method |
| analytics.analytics_header | convar | X-API-KEY | Header key of secret when uploading analytics |
| analytics.analytics_secret | convar | | Header secret value when uploading analytics |
| analytics.azure_client_id | convar | — | Azure client id for authentication |
| analytics.azure_client_secret | convar | — | Azure client secret for authentication |
| analytics.azure_tenant_id | convar | — | Azure tenant id for authentication |
| analytics.dryrun | convar | — | Executes entire flow without actually sending out anything |
| analytics.gameplay_analytics | convar | — | Toggle whether gameplay analytics is collected |
| analytics.gameplay_rpc_analytics | convar | True | Toggle whether gameplay rpc logging is collected |
| analytics.gameplay_tick_analytics | convar | — | Toggle whether gameplay tick analytics is collected |
| analytics.log | convar | — | |
| analytics.performance_analytics | convar | True | Toggle to turn off server performance collection |
| analytics.resetstats | command | — | |
| analytics.server_analytics_url | convar | https://gw.facepunch.com/analytics/rust/server | |
| analytics.stats | command | — | |
| analytics.tablestats | command | — | |
| analytics.uploaderstats | command | — | |
| antihack.admincheat | convar | True | are admins allowed to use their admin cheat |
| antihack.build_inside_check | convar | 2 | whether or not to check for building being done on the wrong side of something (e.g. inside rocks). 0 = Disabled, 1 = Info only, 2 = Enabled |
| antihack.build_losradius | convar | 0.01 | line of sight sphere cast radius, 0 == raycast |
| antihack.build_losradius_sleepingbag | convar | 0.3 | line of sight sphere cast radius, 0 == raycast |
| antihack.build_terraincheck | convar | True | whether or not to include terrain in the build LOS checks |
| antihack.build_vehiclecheck | convar | True | whether or not to include vehicles in the build LOS checks |
| antihack.check_mount_distance | convar | 1 | Should the server check the distance to mountable.maxMountDistance? 0 = off, 1 = for seats with 'checkPlayerLosOnMount' enabled, 2 = always |
| antihack.debuglevel | convar | 1 | 0 == silent, 1 == print max violation, 2 == print nonzero violation, 3 == print any violation except noclip, 4 == print any violation |
| antihack.enforcementlevel | convar | 1 | 0 == no enforcement, 1 == kick, 2 == ban (DISABLED) |
| antihack.explosive_vehicle_parent_damage_deployables | convar | False | Should explosives parented to vehicles damage deployables |
| antihack.eye_clientframes | convar | 2 | eye client frames to include in delay, lower value = more false positives |
| antihack.eye_distance_parented_mounted_forgiveness | convar | 2 | eye distance forgiveness for parented or mounted players, lower value = more false positives |
| antihack.eye_forgiveness | convar | 0.4 | eye distance forgiveness, lower value = more false positives |
| antihack.eye_history_forgiveness | convar | 0.1 | how much forgiveness to add when checking the distance between player tick history and player eye history |
| antihack.eye_history_penalty | convar | 100 | violation penalty to hand out when eye history mismatch is detected |
| antihack.eye_losradius | convar | 0.158 | line of sight sphere cast radius, 0 == raycast |
| antihack.eye_noclip_backtracking | convar | 0.01 | collider backtracking when checking for noclipping |
| antihack.eye_noclip_cutoff | convar | 0.06 | distance at which to start testing eye noclipping |
| antihack.eye_noclip_margin | convar | 0.25 | collider margin when checking for noclipping |
| antihack.eye_penalty | convar | 0 | violation penalty to hand out when eye hack is detected |
| antihack.eye_protection | convar | 4 | 0 == disabled, 1 == distance, 2 == distance + LOS, 3 = distance + LOS + altitude, 4 = distance + LOS + altitude + noclip, 5 = distance + LOS + altitude + noclip + history |
| antihack.eye_serverframes | convar | 2 | eye server frames to include in delay, lower value = more false positives |
| antihack.eye_terraincheck | convar | True | whether or not to include terrain in the eye LOS checks |
| antihack.eye_vehiclecheck | convar | True | whether or not to include vehicles in the eye LOS checks |
| antihack.flyhack_extrusion | convar | 2 | collider downwards extrusion when checking for flyhacking |
| antihack.flyhack_forgiveness_horizontal | convar | 1.5 | distance threshold to assume flyhacking, lower value = more false positives |
| antihack.flyhack_forgiveness_horizontal_inertia | convar | 10 | distance threshold to assume flyhacking, lower value = more false positives |
| antihack.flyhack_forgiveness_vertical | convar | 1 | distance threshold to assume flyhacking, lower value = more false positives |
| antihack.flyhack_forgiveness_vertical_inertia | convar | 7 | distance threshold to assume flyhacking, lower value = more false positives |
| antihack.flyhack_margin | convar | 0.1 | collider margin when checking for flyhacking |
| antihack.flyhack_maxsteps | convar | 15 | movement curve max steps, lower value = more false positives |
| antihack.flyhack_penalty | convar | 100 | violation penalty to hand out when flyhack is detected |
| antihack.flyhack_protection | convar | 3 | 0 == disabled, 1 == client, 2 == capsule, 3 == curve |
| antihack.flyhack_reject | convar | True | whether or not to reject movement when flyhack is detected |
| antihack.flyhack_stepsize | convar | 0.1 | movement curve step size, lower value = less false positives |
| antihack.forceposition | convar | True | whether or not to force the position on the client |
| antihack.hotbar_network_mode | convar | 0 | Should the server send the hotbar to other players, 0 = always, 1 = only held entities |
| antihack.impact_effect_distance_forgiveness | convar | 0.45 | maximum distance an impact effect can be from the entities bounds |
| antihack.limbreach | convar | 0.3 | how far past a player's bounds, along their view direction, hits on their arms are forgiven while they aim a projectile weapon |
| antihack.limbreachgrace | convar | 0.5 | for how many seconds after a player stops aiming hits on their outstretched arms are still forgiven (ex: drawn bow) |
| antihack.maxdeltatime | convar | 1 | max allowed client tick interval delta time, lower value = more false positives |
| antihack.maxdesync | convar | 0.8 | max allowed client desync, lower value = more false positives |
| antihack.maxviolation | convar | 100 | violation value above this results in enforcement |
| antihack.melee_backtracking | convar | 0.01 | melee backtracking when checking for LOS |
| antihack.melee_clientframes | convar | 2 | melee client frames to include in delay, lower value = more false positives |
| antihack.melee_entity_bounds_radius | convar | 0.05 | melee collider bounds validation radius for hit entities, higher value = more forgiveness |
| antihack.melee_forgiveness | convar | 0.5 | melee distance forgiveness in percent, lower value = more false positives |
| antihack.melee_los_entity_realpos | convar | True | whether or not to verify line of sight to the entity's real server-side position |
| antihack.melee_los_entity_realpos_distance | convar | 1.3 | max tolerance for distance between hit pos and closest bound pos |
| antihack.melee_losforgiveness | convar | 0.2 | line of sight directional forgiveness when checking eye or center position |
| antihack.melee_penalty | convar | 0 | violation penalty to hand out when melee hack is detected |
| antihack.melee_protection | convar | 5 | 0 == disabled, 1 == initiator, 2 == initiator + target, 3 == initiator + target + LOS, 4 == initiator + target + LOS + tickhistory, 5 == entity collider Overlap Sphere (bounds validation) |
| antihack.melee_serverframes | convar | 2 | melee server frames to include in delay, lower value = more false positives |
| antihack.melee_terraincheck | convar | True | whether or not to include terrain in the melee LOS checks |
| antihack.melee_vehiclecheck | convar | True | whether or not to include vehicles in the melee LOS checks |
| antihack.mesh_inside_check_distance | convar | 50 | the maximum distance we check for for inside mesh |
| antihack.modelstate | convar | True | use antihack to verify model state sent by players |
| antihack.noclip_backtracking | convar | 0.01 | collider backtracking when checking for noclipping |
| antihack.noclip_margin | convar | 0.16 | collider margin when checking for noclipping |
| antihack.noclip_margin_dismount | convar | 0.22 | collider margin when checking for noclipping on dismount |
| antihack.noclip_maxsteps | convar | 15 | movement curve max steps, lower value = more false positives |
| antihack.noclip_penalty | convar | 0 | violation penalty to hand out when noclip is detected |
| antihack.noclip_protection | convar | 3 | 0 == disabled, 1 == ray, 2 == sphere, 3 == curve |
| antihack.noclip_reject | convar | True | whether or not to reject movement when noclip is detected |
| antihack.noclip_stepsize | convar | 0.1 | movement curve step size, lower value = less false positives |
| antihack.objectplacement | convar | True | use antihack to verify object placement by players |
| antihack.parenthistory | convar | True | use parent position history for mounted player projectile validation (more accurate, uses ~192 bytes per mounted player) |
| antihack.projectile_anglechange | convar | 60 | projectile penetration angle change, lower value = more false positives |
| antihack.projectile_backtracking | convar | 0.01 | projectile backtracking when checking for LOS |
| antihack.projectile_clientframes | convar | 2 | projectile client frames to include in delay, lower value = more false positives |
| antihack.projectile_damagedepth | convar | 2 | how often a projectile is allowed to penetrate something before its damage is ignored |
| antihack.projectile_defaultcheck | convar | True | whether or not to include default layer in the projectile LOS checks |
| antihack.projectile_deployedcheck | convar | True | whether or not to include deployed layer in the projectile LOS checks |
| antihack.projectile_desync | convar | 1 | projectile desync forgiveness, lower value = more false positives |
| antihack.projectile_distance_forgiveness_minimum | convar | 25 | minimum distance before we verify client projectile distance mismatch, lower value = more false positives |
| antihack.projectile_forgiveness | convar | 0.5 | projectile speed forgiveness in percent, lower value = more false positives |
| antihack.projectile_impactspawndepth | convar | 1 | how often a projectile is allowed to penetrate something before its impact spawn is ignored |
| antihack.projectile_losforgiveness | convar | 0.2 | line of sight directional forgiveness when checking eye or center position |
| antihack.projectile_penalty | convar | 0 | violation penalty to hand out when projectile hack is detected |
| antihack.projectile_positionoffset | convar | True | whether or not to compensate for the client / server vehicle position offset |
| antihack.projectile_protection | convar | 6 | 0 == disabled, 1 == speed, 2 == speed + entity, 3 == speed + entity + LOS, 4 == speed + entity + LOS + trajectory, 5 == speed + entity + LOS + trajectory + update, 6 == speed + entity + LOS + trajectory + tickhistory |
| antihack.projectile_serverframes | convar | 2 | projectile server frames to include in delay, lower value = more false positives |
| antihack.projectile_terraincheck | convar | True | whether or not to include terrain in the projectile LOS checks |
| antihack.projectile_trajectory | convar | 2 | projectile trajectory forgiveness, lower value = more false positives |
| antihack.projectile_trajectory_update | convar | 0.02 | projectile trajectory forgiveness for projectile updates, lower value = more false positives |
| antihack.projectile_update_limit | convar | 4 | maximum number of projectile updates to allow before rejecting damage |
| antihack.projectile_vehiclecheck | convar | True | whether or not to include vehicles in the projectile LOS checks |
| antihack.projectile_velocitychange | convar | 1.1 | projectile penetration velocity change, lower value = more false positives |
| antihack.relaxationpause | convar | 10 | the time before violation values go back down |
| antihack.relaxationrate | convar | 0.1 | the rate at which violation values go back down |
| antihack.reporting | convar | False | report violations to the anti cheat backend |
| antihack.rpc_timer_forgiveness | convar | 1 | How long, in seconds, can the clients progress timer deviate from the servers |
| antihack.rpcstallfade | convar | 2.5 | time in seconds before player is no longer treated as wasStalled |
| antihack.rpcstallmode | convar | 1 | 0 == allow RPCs from stalled players, 1 == ignore RPCs from currently stalled players, 2 == ignore RPCs from recently stalled players |
| antihack.rpcstallthreshold | convar | 0.8 | time in seconds we can receive no ticks for before player is considered stalling |
| antihack.server_occlusion_admin_bypass | convar | False | whether or not to ensure players are always networked to server administrators |
| antihack.server_occlusion_blocked_grid_threshold | convar | 0 | number of blocked grids permitted before line-of-sight fails |
| antihack.server_occlusion_caching | convar | True | whether to use server occlusion caching |
| antihack.server_occlusion_disable_los | convar | False | whether or not to skip the line-of-sight process, this will effectively disable server occlusion |
| antihack.server_occlusion_disable_sleeper_los | convar | False | whether or not to skip the line-of-sight process for sleepers |
| antihack.server_occlusion_neighbour_threshold | convar | 2 | number of neighbour checks permitted before line-of-sight fails |
| antihack.server_occlusion_save_grid | convar | True | whether to save sub grid for map to a file on first time init, faster subsequent server launching |
| antihack.server_occlusion_use_neighbour_thresholds | convar | False | whether to use neighbour threshold limitations |
| antihack.speedhack_forgiveness | convar | 2 | speed threshold to assume speedhacking, lower value = more false positives |
| antihack.speedhack_forgiveness_inertia | convar | 10 | speed threshold to assume speedhacking, lower value = more false positives |
| antihack.speedhack_penalty | convar | 0 | violation penalty to hand out when speedhack is detected |
| antihack.speedhack_protection | convar | 3 | 0 == disabled, 1 == simple, 2 == advanced, 3 == vertical swim protection |
| antihack.speedhack_reject | convar | True | whether or not to reject movement when speedhack is detected |
| antihack.speedhack_slopespeed | convar | 10 | speed forgiveness when moving down slopes, lower value = more false positives |
| antihack.speedhack_water_threshold | convar | 0.4 | server threshold before we consider a client might be swimming in water (to account for client/server waterfactor mismatch |
| antihack.stall_position_restrictions | convar | True | whether or not to restrict entity position packets to non-stalled players |
| antihack.strict_mount_checks | convar | 1 | Should we do extra physics checks when mounting vehicles to prevent players clipping through small gaps. 0 = off, 1 = bypass switch seats, 2 = always |
| antihack.terrain_check_geometry | convar | False | whether or not to check for player inside geometry like rocks as well as base terrain |
| antihack.terrain_kill | convar | True | whether or not to kill the player when terrain is detected |
| antihack.terrain_padding | convar | 0.3 | how far to penetrate the terrain before violating |
| antihack.terrain_penalty | convar | 100 | violation penalty to hand out when terrain is detected |
| antihack.terrain_protection | convar | 1 | 0 == disabled, 1 == enabled |
| antihack.terrain_timeslice | convar | 64 | how many slices to subdivide players into for the terrain check |
| antihack.tick_buffer_noclip_threshold | convar | 2 | How many seconds worth of ticks can be sent before server tick finalizing before we revert to noclip_protection 2 |
| antihack.tick_buffer_preventions | convar | True | Whether or not to enable additional tick validation measures |
| antihack.tick_buffer_reject_threshold | convar | 3 | How many seconds worth of ticks can be sent before server tick finalizing before we reject movement |
| antihack.tick_buffer_server_lag_threshold | convar | 0.3 | How long it should take for a server to process a frame before we decide to skip additional tick validation measures |
| antihack.tick_distance_forgiveness | convar | 5 | How far a player is allowed to move in forgiveness scenarios |
| antihack.tick_max_distance | convar | 1.1 | How far a player is allowed to move in a single tick |
| antihack.tick_max_distance_falling | convar | 4 | How far a player is allowed to move in a single tick when falling |
| antihack.tick_max_distance_parented | convar | 3 | How far a player is allowed to move in a single tick when parented |
| antihack.tickhistoryforgiveness | convar | 0.1 | how much forgiveness to add when checking the distance from the player tick history |
| antihack.tickhistorytime | convar | 0.5 | for how many seconds to keep a tick history to use for distance checks |
| antihack.use_legacy_mesh_inside_check | convar | True | use the older, simpler is inside check. has several loopholes that aren't properly catered to |
| antihack.userlevel | convar | 2 | 0 == users, 1 == admins, 2 == developers |
| apartment.adminapartmentbypass | convar | False | Should admins be able to bypass apartment authorization checks? |
| apartment.adminapartmentnoclip | convar | True | Should admins be able to noclip in apartments? |
| apartment.allowcombatoutsideofbreakin | convar | True | Should combat be allowed inside apartment rooms outside of the break-in period? |
| apartment.apartmentevictiondelay | convar | 86400 | How long should we wait before evicting a player from their apartment if they don't pay rent? |
| apartment.apartmentfreerenthours | convar | 4 | How many hours of scrap upkeep does the apartments spawn with (so players don't see 'Eviction' vital right after renting an apartment |
| apartment.apartmentinvisibleblocker | convar | True | Should an invisible blocker prevent guests from entering apartments that they don't have access to? |
| apartment.breakinseconds | convar | 30 | How long a player needs to hold the break in interaction on an apartment door with a master key |
| apartment.checkoutallrooms | command | — | Checkout every room in the apartment complex |
| apartment.checkoutroom | command | — | |
| apartment.fakerentroom | command | — | |
| apartment.givestalecombattrigger | command | — | Admin test tool: injects a stale combat-zone trigger (TriggerSafeZoneOverride) into your trigger list without physically entering it, reproducing the reconnect/wake desync so you can verify safezone damage protection. Run it near a loaded apartment, then walk out into the world. |
| apartment.intruderauthseconds | convar | 300 | How long a player stays authorized on an apartment room after breaking in with a master key |
| apartment.masterkeyprice | convar | 1000 | How much scrap the apartment security NPC charges for a master key |
| apartment.npcsecuritydooropentime | convar | 300 | How long should the apartment security NPC keep the door open for after being paid? |
| apartment.printapartmentfurniture | command | — | Print list of furniture inside your room |
| apartment.printitemtax | command | — | Print out a list of all items that apartments will tax |
| apartment.rentallrooms | command | — | |
| apartment.rentallroomsoftype | command | — | |
| apartment.rentroom | command | — | |
| apartment.rentscaling | convar | 0 | Should the rent scale based on the items you have stored inside your apartment? |
| apartment.scheduleddeath | command | — | Test triggering the scheduled death in safezones |
| apartment.testapartmentsecuritydoor | command | — | Test triggering the apartment security door |
| app.alarmcooldown | convar | 30 | Cooldown time before alarms can send another notification (in seconds) |
| app.appban | command | — | Bans a player by Steam ID from the server via the app layer, adding them to the banlist and kicking them if connected |
| app.appunban | command | — | Removes a ban for the specified Steam ID from the server banlist, allowing the player to reconnect |
| app.endpoint | convar | https://companion-rust.facepunch.com/api | Base address for the Rust+ companion server API |
| app.info | command | — | Prints current server info including name, level, connected players, max players, and network address to the console |
| app.listenip | convar | | IP address the server listens on for incoming connections; leave empty to bind to all available network interfaces |
| app.logexceptions | convar | True | When enabled, server-side C# exceptions are written to the server log file; disabling reduces log noise on servers with known non-critical exceptions |
| app.maxconnections | convar | 500 | Maximum number of simultaneous player connections allowed; connections above this limit are rejected with a server full message |
| app.maxconnectionsperip | convar | 10 | Maximum simultaneous connections from the same IP address; prevents a single host from consuming all connection slots |
| app.maxmessagesize | convar | 1048576 | Maximum allowed size in bytes of a single network message; oversized messages are dropped to prevent memory exhaustion attacks |
| app.notifications | convar | True | Enables sending push notifications |
| app.pair | command | — | |
| app.port | convar | — | UDP port number the server listens on; default is 28015; must be open in firewall for players to connect |
| app.publicip | convar | | Public IP address advertised to the Steam server browser; leave empty to auto-detect; set explicitly if behind NAT |
| app.queuelimit | convar | 100 | Max number of queued messages - set to 0 to disable message processing |
| app.regeneratetoken | command | — | |
| app.retry_initialize | command | — | Retry initializing the Rust+ companion server if it previously failed, pass true to restart it even if it's already running |
| app.serverid | convar | | |
| app.update | convar | True | Disables updating entirely - emergency use only |
| audio.advancedocclusion | convar | False | Use more advanced sound occlusion |
| audio.ambience | convar | True | Ambience System |
| audio.debugvoicelimiting | convar | False | When enabled, logs voice chat limiting decisions to the console, showing when players are muted due to proximity or bandwidth constraints |
| audio.eventaudio | convar | 1 | Volume |
| audio.framebudget | convar | 0.3 | Max ms per frame to spend updating sounds |
| audio.game | convar | 1 | Volume |
| audio.hqsoundfade | convar | False | Use higher quality sound fades on some sounds |
| audio.instruments | convar | 1 | Volume |
| audio.master | convar | 1 | Volume |
| audio.minupdatefraction | convar | 0.1 | Minimum fraction of the audio source pool updated per frame; higher values keep more audio sources in sync at the cost of CPU time |
| audio.musicvolume | convar | 1 | Volume |
| audio.musicvolumemenu | convar | 1 | Volume |
| audio.occlusioninterval | convar | 0.25 | Seconds between occlusion checks of a playing sound |
| audio.printenginesounds | command | — | print active engine sound info |
| audio.printsounds | command | — | Prints a list of all currently active audio sources with their asset names, volume, and world position |
| audio.speakers | convar | — | Volume |
| audio.ui | convar | 1 | Volume |
| audio.videoplayer | convar | 1 | Volume |
| audio.virtualocclusioninterval | convar | 1 | Seconds between occlusion checks of a sound Unity has virtualised (muted because too many sounds playing or too quiet) |
| audio.voiceprops | convar | 1 | Volume |
| audio.voices | convar | 1 | Volume |
| autoturret.ammo_update_ms | convar | 0.1 | How many milliseconds to spend on ammo updating per frame |
| autoturret.scan_budget_ms | convar | 0.5 | How many milliseconds to spend on target scanning per frame |
| autoturret.tick_update_ms | convar | 1 | How many milliseconds to spend on a tick per frame |
| baseboat.debug_eject_ai | convar | False | When enabled, logs debug information about AI ejection events when passengers are removed from boat seats |
| baseboat.do_shore_drift | convar | True | When enabled, boats without nearby players will slowly drift toward the shore after the shore drift delay elapses |
| baseboat.drift_speed | convar | 1 | Shore drift speed in metres per second |
| baseboat.generate_paths | convar | True | When enabled, procedural patrol paths are generated for boats at server startup; false in editor to skip path generation during testing |
| baseboat.regenerate_ocean_path | convar | False | Regenerate the ocean patrol path at startup instead of loading it from the cache file next to the map |
| baseboat.seconds_between_shore_drift | command | — | Seconds between shore drift teleport ticks |
| baseboat.seconds_until_shore_drift | command | — | Seconds until boat starts drifting to shore if there's nobody around |
| basefirework.maxactivefireworks | convar | 25 | |
| basefishingrod.forcefail | convar | False | When enabled, all fishing attempts fail immediately; cheat for testing failed-catch animations and UI feedback |
| basefishingrod.forcesuccess | convar | False | When enabled, all fishing attempts succeed immediately regardless of bite probability; cheat for testing fishing catch logic |
| basefishingrod.immediatehook | convar | False | When enabled, fish bite the hook immediately after casting without any wait time; cheat for testing bite response |
| basemetaldetector.detectlongrangetick | convar | 1 | Interval in seconds between long-range detectability checks for buried objects; longer interval saves CPU for distant searches |
| basemetaldetector.detectminmovementdistance | convar | 1 | Minimum distance in metres the player must move before a new long-range detection check is triggered |
| basemetaldetector.nearestdistancetick | convar | 0.25 | Interval in seconds between nearest-detectable-object distance checks performed by the metal detector |
| basemission.missionpervalidstatecooldown | convar | 3 | Minimum time (s) between revalidating individual missions via updateMissionValidStateWorkQueue |
| basemission.missionsenabled | convar | True | When enabled, missions are available and can be assigned to players; disable to globally suppress mission generation and assignment on the server |
| basemission.missionvalidstateworkqueuebudget | convar | 0.1 | How long per frame (ms) to spend processing updateMissionValidStateWorkQueue |
| basemission.missionvalidstateworkqueuecooldown | convar | 3 | Minimum time (s) between starting runs of updateMissionValidStateWorkQueue |
| basemission.profilenextmissionsvalidstateworkqueue | command | — | Generate a performance capture containing the next run of updateMissionValidStateWorkQueue |
| basemounteduseable.debug | convar | — | When enabled, draws debug visualisations for this system (seismic sensor range sphere, escape capture state, etc.); editor/admin-only |
| basemountedweapon.reload | command | — | Forces the ballistas, cannons and mortars within 10m of the calling admin player to reload immediately; admin-only |
| basenavigator.basenavmovementframeinterval | convar | 2 | How many frames between base navigation movement updates |
| basenavigator.maxstepupdistance | convar | 1.7 | The max step-up height difference for pet base navigation |
| basenavigator.navtypedistance | convar | 1 | |
| basenavigator.navtypeheightoffset | convar | 0.5 | |
| basenavigator.stucktriggerduration | convar | 10 | How long we are not moving for before trigger the stuck event |
| basepet.movementupdatebudgetms | convar | 1 | How many miliseconds to budget for processing pet movements per frame |
| basepet.onlyqueuebasenavmovements | convar | True | |
| basepet.queuedmovementsallowed | convar | True | |
| baseplayer.botcolliderframebudgetms | convar | 0.05 | Per-frame CPU budget in milliseconds for the bot collider work queue that updates NPC physics colliders |
| baseplayer.lifestoryframebudgetms | convar | 0.25 | How many milliseconds to budget for processing life story updates per frame |
| baseplayer.relationshipupdatequeueframebudgetms | convar | 0.05 | Per-frame CPU budget in milliseconds for processing the player relationship (contacts/team) update queue |
| baseragdoll.debug_vis | convar | — | When enabled, draws debug visualisations for ragdoll physics state including bone positions and velocities |
| basesculpture.applyrandomshapes | command | — | |
| basesculpture.listsavedsculptures | command | — | |
| basesculpture.loadsculpture | command | — | |
| basesculpture.logmeshstats | convar | false | When enabled, logs mesh vertex and triangle count statistics when a sculpture mesh is applied or modified |
| basesculpture.printcrc | command | — | |
| basesculpture.savesculpture | command | — | |
| basesculpture.useconvexcolliders | convar | false | Use convex colliders for generated blocks on both the client and server - slower to generate but blocks holes, only effects future modifications |
| basesiegeweapon.outsidedecayminutes | convar | 600 | How many minutes before a siege weapon loses all its health while outside |
| basesubmarine.deepwaterdecayminutes | convar | 120 | How long before a submarine loses all its health while in deep water |
| basesubmarine.outsidedecayminutes | convar | 180 | How long before a submarine loses all its health while outside. If it's in deep water, deepwaterdecayminutes is used |
| basesubmarine.oxygenminutes | convar | 10 | How long a submarine can stay underwater until players start taking damage from low oxygen |
| batching.batch_industrial_pipes | convar | False | When enabled, industrial pipe meshes are included in the mesh batching pass; disabled by default as pipes frequently change state |
| batching.enabled | convar | True | Enables the mesh batching system, which combines nearby static meshes into single draw calls to reduce rendering overhead |
| batching.renderer_capacity | convar | 30000 | Maximum number of renderer components the batching system will process; increase for dense scenes, decrease to limit memory use |
| batching.renderer_submeshes | convar | 3 | Maximum number of sub-meshes a renderer can have to be eligible for batching; complex multi-material meshes above this threshold are excluded |
| batching.renderer_threading | convar | True | Enables multi-threaded renderer processing for the batching system, spreading batch rebuild work across CPU cores |
| batching.renderer_vertices | convar | 1000 | Maximum vertex count of a single mesh allowed into a batch; meshes above this limit are excluded from batching |
| batching.verbose | convar | 0 | Verbosity level for static batching debug output; 0 = off, higher values print more detail about batch operations to the console |
| batteringram.maxbuildingblockgrade | convar | 2 | Maximum building block upgrade grade (0=twig,1=wood,2=stone,3=metal,4=top tier) that the battering ram can damage; default 2 (stone) |
| batteringramhead.hurt | command | — | Deals the specified amount of damage to the battering ram head entity nearest to the calling admin player; admin-only |
| bear.population | convar | 2 | Population active on the server, per square km |
| beehive.updatehiveinterval | convar | 120 | How long before a Beehive will update |
| beehive.updatehivestatsinterval | convar | 120 | How long before the Beehive will perform temperature and inside checks |
| beehive.xpincreaseperhoneycomb | convar | 2 | How much the Nucleus's XP should be increased per honeycomb generated |
| beeswarmai.breakrange | convar | 15 | Range to leave current target alone (should be higher than search) |
| beeswarmai.disable | convar | False | |
| beeswarmai.flamesettingdistance | convar | 5.5 | How far away fire has to be to set the swarm on fire |
| beeswarmai.killwithouttargettime | convar | 150 | How long a swarm will stick around without a target |
| beeswarmai.searchrange | convar | 10 | Range to find new targets |
| beeswarmai.think_budget_ms | convar | 0.1 | How many milliseconds to spend on thinking per frame |
| beeswarmai.waterthreshold | convar | 0.6 | How much water a player needs to be in to be ignored |
| beeswarmmaster.amounttospawn | convar | 3 | How many child swarms a master swarm will create |
| beeswarmmaster.killwithoutatargettime | convar | 150 | How long a master swarm will stick around without a target |
| beeswarmmaster.secondsbetweenspawns | convar | 60 | How long before a master swarm will create a child |
| bigwheelgame.spinfrequencyseconds | convar | 45 | |
| bike.doplayerdamage | convar | True | Can bike crashes cause damage or death to the rider? |
| bike.motorbikemonumentpopulation | convar | 1 | Motorbike population in monuments |
| bike.outsidedecayminutes | convar | 1440 | How long before a bike loses all its health while outside |
| bike.pedalmonumentpopulation | convar | 1 | Pedal bike population in monuments |
| bike.pedalroadsidepopulation | convar | 1 | Pedal bike population active on the server (roadside spawns) |
| bike.playerdamageragdolltheshold | convar | 10 | Amount of collision damage on a bike required to ragdoll the player |
| birdflock.corpseinterestpriority | convar | -1 | How much crow flocks want to circle corpses over other interest points. Below 0 loses to anything else. |
| birdflock.crowpopulation | convar | 0.44444445 | Crow flocks per square km. Default is four per 3km map. |
| birdflock.explosionstartleradius | convar | 300 | How far away an explosion sends bird flocks fleeing, in metres. |
| birdflock.interest | command | — | Adds a bird interest point where you are looking. Args: crow|seagull, duration in seconds (default 300), priority (default 0). |
| birdflock.seagullpopulation | convar | 0.44444445 | Seagull flocks per square km. Default is four per 3km map. |
| birdflock.startle | command | — | Startles every bird flock within the given radius (default 300) of where you are looking, sending them fleeing away from it. |
| blackjackmachine.maxbet | convar | 500 | Maximum initial bet per round |
| boar.population | convar | 5 | Population active on the server, per square km |
| boatai.allow_sleeping | convar | False | When enabled, boat AI entities can enter a sleep state when no players are nearby; reduce CPU usage for idle boats |
| boatai.avoidance_update_interval | convar | 0.8 | How often to update the avoidance cache. Lower number means a more accurate cache at the expensive of performance. |
| boatai.boat_ai_frame_budget_ms | convar | 0.3 | How long per frame to spend on boat ai |
| boatai.draw_debugs | convar | False | When enabled, draws DDraw visualisations of boat AI steering, avoidance, and pathfinding state |
| boatai.enable_mount_sync_distance | convar | 750 | Distance players need to be to start syncing mounted seats |
| boatai.max_speed_percentage | convar | 0.9 | Maximum 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_debugs | convar | False | When enabled, logs verbose boat AI decision-making output to the server console each AI tick |
| boatai.roaming_egress_minutes | convar | 10 | Minutes a roaming boat has to sail off the map before it is removed where it is |
| boatai.seconds_until_sleep | convar | 30 | Number of seconds a boat AI will wait without player interaction before entering sleep mode; default 30s |
| boatbuildingblock.alwayrotatable | convar | True | |
| boatbuildingblock.alwaysdemolishable | convar | True | |
| boatbuildingblock.forwarddamagetoparentboat | convar | True | When enabled, damage dealt to a building block attached to a boat is forwarded up to the parent boat entity |
| boatbuildingblockdecay.decaydelayminutes | convar | 30 | Multiplied by the base BuildingBlockDecay duration |
| boatbuildingblockdecay.decaydurationmultiplier | convar | 1 | Multiplied by the base BuildingBlockDecay duration |
| boatbuildingstation.autocloseplayercheckinterval | convar | 150 | |
| boatbuildingstation.autocloseplayerchecktriggercount | convar | 2 | |
| boatbuildingstation.editfinishuseinterval | convar | 5 | |
| boatbuildingstation.globaleditfinishuseinterval | convar | 0 | When set above zero, enables a global shared cooldown for boat edit/finishing. |
| boatbuildingstation.logboatbuildingevents | convar | False | |
| boatbuildingstation.max_bbs | convar | 1 | |
| boatbuildingstation.print_stats | command | — | |
| boatbuildingstation.staticstationsenabled | convar | True | When disabled, any spawned static BBS will destroy themselves on spawn |
| boombox.backtracklength | convar | 30 | How many hops a speaker or boombox will traverse to find a connection |
| boombox.clearradiobyuser | command | — | Clears all radio station data set by the given Steam64 ID from all deployed and held boomboxes on the server |
| boombox.serverurllist | convar | — | A list of radio stations that are valid on this server. Format: NAME,URL,NAME,URL,etc |
| bot.crouch_server | command | — | Sets the ducked/crouching model state on a specific bot by name or Steam ID; used to control bot posture in testing scenarios |
| bot.sv_exec_command | command | — | Executes a console command on a specific bot player by name or Steam ID; hidden from admin UI as it is intended for bot scripting only |
| bot.sv_exec_command_all | command | — | Executes a console command on every bot player currently on the server; hidden from admin UI |
| bot.sv_exec_command_sphere | command | — | Executes a console command on all bot players within a given radius of the calling admin; hidden from admin UI |
| bradley.enabled | convar | True | When false, prevents the Bradley APC from spawning or respawning on the server |
| bradley.quickrespawn | command | — | Forces an immediate Bradley APC respawn, bypassing the normal respawn delay; admin only |
| bradley.respawndelayminutes | convar | 60 | Number of minutes after the Bradley APC is destroyed before it respawns at its patrol path; default is 60 minutes |
| bradley.respawndelayvariance | convar | 1 | Random variance multiplier applied to respawnDelayMinutes; a value of 1.0 means the actual delay is randomly chosen between 0 and respawnDelayMinutes |
| bradleyapc.deployattackdistancemax | convar | 50 | |
| bradleyapc.deployhealthrangemax | convar | 0.5 | |
| bradleyapc.deployhealthrangemin | convar | 0.4 | |
| bradleyapc.deployinterval | convar | 1 | |
| bradleyapc.deployondamagecheckinterval | convar | 1 | |
| bradleyapc.killscientistsonbradleydeath | convar | False | |
| bradleyapc.mountafternotattackedduration | convar | 180 | |
| bradleyapc.mountafternotfiredduration | convar | 60 | |
| bradleyapc.mountafternottargetsduration | convar | 60 | |
| bradleyapc.scientistredeploymentmininterval | convar | 60 | |
| bradleyapc.spawnroadbradley | command | — | |
| bradleyapc.usesmokegrenades | convar | True | |
| buildingmanager.debugprivilegegrid | convar | False | Draws the building block grid around admins |
| buildingmanager.debugprivilegequeries | convar | False | Draws this client's building privilege queries |
| buildingmanager.privilegecache | convar | True | Whether building privilege lookups use the cache instead of physics queries |
| buoyancy.use_batching | convar | True | When enabled, buoyancy point physics updates are batched together each fixed update for better CPU efficiency |
| burieditems.burieditemweight | convar | 100 | Metal detector loot weight is 100. |
| burieditems.buryitemchance | convar | 0.85 | [0.0 to 1.0] |
| burieditems.expirytime | convar | 86400 | Time in seconds before an item expires. |
| burieditems.maxburieditems | convar | 32 | |
| camerarenderer.completionframebudgetms | convar | 5 | Per-frame CPU budget in milliseconds for completing pending companion server camera renders |
| camerarenderer.developerpermissions | convar | True | Enable developer-specific permissions for camera access (less restricted) |
| camerarenderer.enabled | convar | True | When enabled, the companion server camera rendering system is active and processes camera render requests from the companion app |
| camerarenderer.entitymaxage | convar | 5 | Maximum age in frames for a known collider entity entry in the companion server camera cache before it is evicted |
| camerarenderer.entitymaxdistance | convar | 100 | Maximum distance in metres from the companion server camera at which entity colliders are tracked for rendering |
| camerarenderer.farplane | convar | 250 | Far clipping plane distance in metres for companion server camera renders; default 250 |
| camerarenderer.height | convar | 180 | Height in pixels of the companion server camera render output; default 180 |
| camerarenderer.layermask | convar | 1218656529 | Physics layer mask used for raycasting in companion server camera depth sampling; defaults to solid, water, and player movement layers |
| camerarenderer.maxraysperframe | convar | 100000 | Maximum number of raycasts per frame used for companion server camera depth sampling |
| camerarenderer.maxrendersperframe | convar | 25 | Maximum number of camera render tasks that can complete per frame for companion server cameras |
| camerarenderer.nearplane | convar | 0 | Near clipping plane distance for companion server camera renders; 0 = use default |
| camerarenderer.playermaxdistance | convar | 30 | Maximum distance in metres at which player entities are included in companion server camera renders |
| camerarenderer.playernamemaxdistance | convar | 10 | Maximum distance in metres at which player name labels are included in companion server camera render output |
| camerarenderer.rayjitter | convar | 0.5 | Maximum 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.renderinterval | convar | 0.05 | Interval in seconds between successive companion server camera render dispatches; default 0.05s (20 Hz) |
| camerarenderer.samplesperrender | convar | 3000 | Number of raycast samples taken per companion server camera render pass for depth reconstruction |
| camerarenderer.verticalfov | convar | 65 | Vertical field of view in degrees for companion server camera renders; default 65 |
| camerarenderer.width | convar | 320 | Width in pixels of the companion server camera render output; default 320 |
| camerarenderermanager.pool_stats | command | — | Prints pool statistics for the camera renderer manager including active renderer count, pooled task count, and task creation/return counters |
| cannon.adminfire | command | — | |
| cannon.ignore_boat_mount_restrictions | convar | False | Allows mounting cannons outside of boats for testing. |
| cargoship.cargo_escape_boat_rhib | convar | True | |
| cargoship.debug_cargo_status | command | — | |
| cargoship.debug_info | command | — | |
| cargoship.dock_time | convar | 480 | |
| cargoship.docking_debug | convar | False | |
| cargoship.egress | command | — | |
| cargoship.egress_duration_minutes | convar | 10 | |
| cargoship.event_duration_minutes | convar | 50 | |
| cargoship.event_enabled | convar | True | |
| cargoship.loot_round_spacing_minutes | convar | 10 | |
| cargoship.loot_rounds | convar | 3 | |
| cargoship.refresh_loot_on_dock | convar | True | |
| cargoship.should_dock | convar | True | |
| cassette.clearcassettes | command | — | Clears the saved audio recording from all cassette items currently on the server; returns count of cassettes cleared |
| cassette.clearcassettesbyuser | command | — | Clears saved audio from all cassettes created by the given Steam64 ID; returns count of cassettes cleared |
| cassette.maxcassettefilesizemb | convar | 5 | |
| catapult.fire | command | — | Fire all catapults |
| catapult.reload | command | — | Reload all catapults. 0: empty, 1: stone boulder, 2: fire bomb, 3: propane explosive, 4: bee bomb, 5: bot player |
| cctv.camera_disable_seconds | convar | 300 | |
| cctv.inputbudgetms | convar | 0.05 | |
| ch47helicopteraicontroller.dropcrate | command | — | Commands all active CH47 Chinook helicopter AI controllers to drop their cargo crate immediately |
| chat.cardgamesay | command | — | |
| chat.clansay | command | — | |
| chat.enabled | convar | True | When enabled, this system is globally active; disable to deactivate the system for the current session |
| chat.globalchat | convar | True | |
| chat.hidechatintutorial | convar | True | |
| chat.historysize | convar | 1000 | Number of messages to keep in memory for chat history |
| chat.localchat | convar | False | |
| chat.localchatrange | convar | 100 | Maximum distance in metres within which local chat messages are visible to nearby players; messages from beyond this range are not received |
| chat.localsay | command | — | |
| chat.say | command | — | |
| chat.search | command | — | Search the console for a particular string |
| chat.serverlog | convar | True | When enabled, all chat messages are written to the server log file in addition to being broadcast to players |
| chat.tail | command | — | Return the last x lines of the console. Default is 200 |
| chat.teamsay | command | — | |
| chicken.population | convar | 3 | Population active on the server, per square km |
| cinematicentity.hideobjects | command | — | Hides cinematic entities by group (0= none, 1= lights, 2= BGs, 3= props, 4= misc) |
| clan.addtoclan | command | — | Adds a player by SteamID64 to your current clan |
| clan.disband | command | — | Disbands your current clan |
| clan.editsrequireclantable | convar | true | If enabled then players will need to be near a Clan Table to make changes to clans |
| clan.enabled | convar | True | Enables the clan system if set to true (must be set at boot, requires restart) |
| clan.info | command | — | Prints info about a clan given its ID or a steamID of a player in that clan |
| clan.maxmembercount | convar | 100 | Maximum number of members each clan can have (local backend only!) |
| clan.scorefordestroyingbradley | convar | 50 | How much score players earn for destroying bradley |
| clan.scorefordestroyingpatrolheli | convar | 50 | How much score players earn for destroying patrol heli |
| clan.scoreforenablingwatertreatmentplant | convar | 3 | How much score players earn for running the water treatment plant, per consumed item |
| clan.scoreforhackingcrates | convar | 5 | How much score players earn for hacking crates |
| clan.scoreforinsertheavyfuseinpowerplant | convar | 5 | How much score players earn for inserting a heavy fuse into powerplant |
| clan.scoreforlaunchingsatellite | convar | 25 | How much score players earn for launching a satellite |
| clan.scoreforlootingelitecrate | convar | 5 | How much score players earn for looting an elite crate |
| clan.scoreforlootingsatellite | convar | 10 | How much score players earn for looting a crashed satellite's crates |
| clan.scoreforopeninghackedcrates | convar | 10 | How much score players earn for opening hacked crates |
| clan.scoreforreachingcargoship | convar | 10 | How much score players earn for reaching cargo ship |
| clan.scoreforrunningexcavator | convar | 3 | How much score players earn for running the excavator, per diesel fuel consumed |
| clan.scoreforstartingoilrigfuelswitch | convar | 5 | How much score players earn for starting the oil rig fuel switch |
| clan.scoreforswipingredkeycard | convar | 5 | How much score players earn for swiping a red keycard |
| clan.scoretest | command | — | Adds a generic score event to your clan |
| clawmarkspawner.showclawmarks | command | — | |
| clothlod.clothloddist | convar | 20 | distance cloth will simulate until |
| codelock.lockoutcooldown | convar | 900 | Duration in seconds a player is locked out from attempting the code lock after exceeding maxFailedAttempts; default 900s (15 minutes) |
| codelock.maxfailedattempts | convar | 8 | Maximum number of failed code entry attempts on a code lock before the player is locked out; default 8 |
| commandblock.commands_enabled | convar | False | Can command blocks execute commands |
| commandblock.log_executions | convar | True | Print a log message when a command block is executed |
| commandblock.use_player | convar | False | If enabled, commands from command blocks will run using the last player who set them, allowing for a wider range of commands to be used |
| commands.echo | command | — | |
| commands.find | command | — | |
| communityentity.pietest | command | — | |
| communityentity.pietest_next | command | — | |
| communityentity.pietest_prev | command | — | |
| console.consolehistorysize | convar | 50 | Maximum number of console history entries |
| console.search | command | — | Search the console for a particular string |
| console.tail | command | — | Return the last x lines of the console. Default is 200 |
| construct.frameminutes | convar | 30 | How many minutes before a placed frame gets destroyed |
| construction.alternativeloschecks_enabled | convar | True | |
| convartimedprefabspawner.prefab_despawn_time | convar | 20 | Time in seconds before spawned prefabs are despawned. Set to 0 to disable despawning. |
| convartimedprefabspawner.prefab_spawn_interval | convar | 0 | Time in seconds between prefab spawns. Set to 0 to disable spawning. |
| convartimedprefabspawner.prefab_spawn_interval_variance | convar | 3 | Variance in seconds to add/subtract from the spawn interval |
| convartimedprefabspawner.prefab_spawn_random_position_offset | convar | 0 | Maximum random offset (sphere radius) from the spawner's position when spawning prefabs |
| convartimedprefabspawner.prefab_spawn_random_rotation | convar | True | If true, spawned prefabs will have a random rotation |
| copypaste.copybox_sv | command | — | Server-side handler that copies all entities within the specified bounding box (center + size) into a named paste file; called from copybox client command |
| copypaste.copybuilding_sv | command | — | Server-side handler that copies all entities belonging to the building the player is looking at into a named paste file; called from the copybuilding client command |
| copypaste.copyradius_sv | command | — | Server-side handler that copies all entities within the specified radius around a position into a named paste file; called from the copyradius client command |
| copypaste.download_paste_sv | command | — | Downloads a paste file stored on the server (legacy server-side storage) by name and sends its entity data to the requesting client for local storage |
| copypaste.killbox_sv | command | — | Server-side handler that destroys all entities within the current selection bounds that match the active paste filter options (NPCs, vehicles, deployables etc.) |
| copypaste.list_pastes_sv | command | — | Lists all paste files stored in the legacy server-side copypaste directory and prints their names to the console |
| copypaste.printselection_sv | command | — | Server-side handler that prints the names of all entities within the current selection bounds; used to preview what would be included in a copy operation |
| copypaste.undopaste_sv | command | — | Undoes the most recent paste operation for the calling player by destroying all entities that were spawned in that paste; replies with 'History empty' if nothing to undo |
| countryphrases.debug_browser_codes | convar | False | |
| coverpointvolume.cover_point_sample_step_height | convar | 2 | cover_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_size | convar | 6 | cover_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) |
| cow.population | convar | 2 | Population active on the server, per square km |
| crabs.population | convar | 2 | Population active on the server, per square km |
| craft.add | command | — | |
| craft.cancel | command | — | |
| craft.canceltask | command | — | |
| craft.fasttracktask | command | — | |
| craft.instant | convar | — | When enabled, all crafting completes instantly with no time delay; useful for testing crafting recipes or quickly equipping items in development |
| creative.allusers | convar | — | Apply creative mode to the entire server |
| creative.alwaysonenabled | convar | — | Failsafe toggle that must be true before any alwaysOn commands work; prevents items from accidentally entering the always-on state outside of creative mode |
| creative.bypassholdtoplaceduration | convar | — | Bypasses bypassHoldToPlaceDuration when deploying items |
| creative.freebuild | convar | — | Build blocks for free |
| creative.freeplacement | convar | — | Bypasses all placement checks |
| creative.freerepair | convar | — | Bypass the 30s repair cooldown when repairing objects |
| creative.togglealwayson | command | — | |
| creative.togglealwaysonall | command | — | Sets the always-on state for all IAlwaysOn entities on the server (e.g. lights, switches); only works when alwaysOnEnabled is true and caller is in creative mode |
| creative.togglealwaysonradius | command | — | |
| creative.togglecreativemodeuser | command | — | Enables or disables creative mode for a specific player by name or Steam ID; creative mode removes resource costs and unlocks building freely |
| creative.unlimitedio | convar | — | Bypasses limits on IO length and points |
| crocodile.population | convar | 1 | Population active on the server, per square km |
| cui.cui_test | command | — | |
| cui.cui_test_update | command | — | |
| cui.endtest | command | — | |
| dartsgame.accuracyadjustspeed | convar | 1 | |
| dartsgame.accuratevelocitythreshold | convar | 0.05 | |
| dartsgame.cooldownbetweenthrows | convar | 3 | |
| dartsgame.debugcanplayagainstself | convar | False | |
| dartsgame.holdfocusaddedfriction | convar | 0.45 | |
| dartsgame.holdfocusduration | convar | 2 | |
| dartsgame.idlekickseconds | convar | 180 | |
| dartsgame.maxaccuracy | convar | 0 | |
| dartsgame.maxthrowtimer | convar | 10 | |
| dartsgame.maxzoom | convar | 0.5 | |
| dartsgame.minaccuracy | convar | 0.1 | |
| dartsgame.needdoubletowin | convar | True | |
| dartsgame.reticlefriction | convar | 0.5 | |
| dartsgame.reticleinputbufferapplication | convar | 100 | |
| dartsgame.reticleinputspeed | convar | 0.01 | |
| dartsgame.reticlemaxvelocity | convar | 3 | |
| dartsgame.reticlerandomforcestrength | convar | 0.5 | |
| dartsgame.reticlespawnpointradiusoffset | convar | 0.5 | |
| dartsgame.scoretarget | convar | 301 | Sets the score target in Darts. Standard games are either 301 or 501. |
| data.export | command | — | Exports a named terrain map layer (splatmap, heightmap, biomemap, topologymap, alphamap, watermap) to a .raw file in the persistent data path |
| ddraw.ddrawother | command | — | Sends a ddraw.text debug draw command to a specific player by Steam ID or name; allows admins to display debug text overlays on another player screen |
| debug.addmonumentblockergrace | command | — | <minutes> (optional: <range>) - Adds the given number of minutes to the decay grace period timer of the monument blocker closest to you, making it start decaying that much sooner. Negative values rewind the timer |
| debug.applybuildingblockrandomisation | command | — | Sets the visual variant index on the building block the calling player is looking at; useful for testing block randomisation visuals |
| debug.applypuzzleresettime | command | — | Applies a debug reset time in seconds to all PuzzleReset objects in the scene, shortening their timers for rapid testing |
| debug.bag_respawn_parenting | convar | True | Whether to parent players immediately on spawning to a boat if the bag is on a boat |
| debug.bench_io | command | — | Spawn lots of IO entities to lag the server |
| debug.biofuel_stir_lock | convar | False | Keeps players mounted on the biofuel generator after they let go of stir, until they dismount with jump |
| debug.breakheld | command | — | Break the current held object |
| debug.breakheld_almost | command | — | Almost break the current held object |
| debug.breakitem | command | — | Break all the items in your inventory whose name match the passed string |
| debug.breakshield | command | — | Breaks the currently held shield |
| debug.callbacks | convar | False | When enabled, logs debug information about object callback invocations to the console; useful for tracing event callback chains |
| debug.checkparentingtriggers | convar | True | When enabled, validates that trigger colliders are correctly parented to their entities during physics updates; helps catch mis-parenting bugs |
| debug.checktriggers | convar | False | When enabled, validates trigger collider configurations each physics update to catch incorrectly parented or sized trigger volumes |
| debug.clearplayermodifiers | command | — | Removes all active modifiers (buffs/debuffs) from the calling player; useful for resetting modifier state during testing |
| debug.cleartutorialforplayer | command | — | If a player ends up stuck on a tutorial for any reason this will clear the island and reset the player (will also kill player) |
| debug.completemission | command | — | Completes all incomplete objectives in the calling player active mission, triggering the mission completion flow |
| debug.completemissionstage | command | — | Arg0: mission stage (int), Arg1: block objective resetting (bool, default false) |
| debug.completetutorial | command | — | Immediately completes the calling player tutorial by triggering the island completion callback; bypasses normal progression |
| debug.console_print_color | command | — | Prints a message to the server console using the specified ConsoleColor index; useful for testing coloured console output |
| debug.console_spam | command | — | Logs a configurable number of test messages of a given length; used to stress-test console/logging performance and measure output speed |
| debug.conveyorstrictmodereport | command | — | Prints the world position of every industrial conveyor running in strict mode; helps locate conveyors that are blocking item flow |
| debug.debugclippingchecks | convar | False | Shows debug info for what objects are causing clipping checks to fail. |
| debug.debugdismountduration | convar | 30 | Duration in seconds to keep ddraw for dismount attempts visible |
| debug.debugdismounts | convar | False | Shows some debug info for dismount attempts. |
| debug.deleteentitiesbyshortname | command | — | <shortname> (optional: <radius>) - Delete entities with the given short prefab name |
| debug.deleteentitybyid | command | — | Delete entities by id. Supports multiple arguments |
| debug.disablecondition | convar | False | Do not damage any items |
| debug.disablelootnavobstaclesindeepsea | convar | True | When true, nav mesh obstacle components on loot containers are disabled in the deep sea zone to improve performance in underwater areas |
| debug.drink | command | — | Adds a specified amount of hydration to the calling player at a configurable rate; useful for quickly testing thirst-related mechanics |
| debug.dropworlditems | command | — | Drops a specified number of the given item short name as world entities from just in front of the calling player; useful for item physics testing |
| debug.eat | command | — | Adds a specified amount of calories to the calling player at a configurable rate; useful for quickly testing hunger-related mechanics |
| debug.emptytankermodule | command | — | emptyTankerModule - Clears the contents of the tanker module(s) of the modular car you're looking at |
| debug.enable_player_movement | command | — | Sends a client RPC to the target player enabling or disabling their movement controls; admin only; useful for testing freeze/lock mechanics |
| debug.fillmounts | command | — | fillmounts <radius> - Spawns and mounts a player on every mount point in radius |
| debug.filltankermodule | command | — | fillTankerModule <item> - Fills the tanker module(s) of the modular car you're looking at with the given liquid (e.g. water, water.salt, crude.oil) |
| debug.findgap | command | — | Find how large of a gap there is. <maxDistance> <stepsize> <maxSize> <layer> |
| debug.flushgroup | command | — | Takes you in and out of your current network group, causing you to delete and then download all entities in your PVS again |
| debug.foodspoilingdeducttimehours | command | — | Deducts the given number of hours from all spoilable food on the server |
| debug.foodspoilinginventoryhours | command | — | Applies the given number of hours to all food in the players inventory |
| debug.foodspoilingspoilall | command | — | Spoils all food on the server |
| debug.forcechickensspawnegg | command | — | Forces all chickens within a given radius of the calling player to immediately spawn an egg; useful for testing egg drop and collection logic |
| debug.forcecrash | command | — | Intentionally crash the process to verify the native crash handler. Optional category: accessviolation (default), fatalerror, abort, purevirtual, monoabort |
| debug.heal | command | — | To disable revival if player is downed, pass in --no-recover as the first argument. |
| debug.hurt | command | — | Deals a specified amount of bullet damage to the calling player; optionally targets a named bone to test per-bone hit reactions |
| debug.invis | command | — | Make admin invisible |
| debug.log | convar | — | When enabled, Unity Debug.Log output is written to disk; disabling first logs a final message before suppressing further output |
| debug.overlaykbps | convar | 64 | Max KB per second of debug overlay drawings, such as livestock.drawpens, streamed to each viewer. Changed groups past it wait for the next refresh, nearest first |
| debug.print_topologies | command | — | Prints out the topologies at your position |
| debug.printgrouplayer | command | — | Prints the network visibility layer (overworld, tunnel, underwater, etc.) at the calling player position; helps debug layer-based network group assignment |
| debug.printgroups | command | — | Logs all server entity network group IDs and prefab names to the console; useful for debugging network visibility and group assignment |
| debug.printmissionspeakinfo | convar | False | When enabled, logs mission NPC speech info (speaker, line, trigger) to the console as mission dialogue events fire |
| debug.printmonumentblocker | command | — | Prints the health and decay state of the monument blocker closest to you. Optional argument: search range in metres (default 100) |
| debug.printqueues | command | — | Prints a table of all ObjectWorkQueue instances showing name, total items processed, current queue length, and cumulative execution time |
| debug.puzzleprefabrespawn | command | — | respawn all puzzles from their prefabs |
| debug.puzzlereset | command | — | Reset all puzzles. Optionally provide a number to only reset puzzles within a radius. |
| debug.puzzleresetinfo | command | — | Prints detailed debug info about the PuzzleReset the calling player is currently inside, including timer state and dependency status |
| debug.puzzleresettimemultiplier | convar | 1 | Multiplier applied to all puzzle reset timers; values below 1.0 make puzzles reset faster, above 1.0 slower |
| debug.quittutorial | command | — | |
| debug.refillvitals | command | — | Refills the vital of a target player. eg. debug.refillsvital jim - leave blank to target yourself, can take multiple players at once. Will revive players if they are injured. To disable this, pass in --no-recover as the first argument. |
| debug.refillvitalsall | command | — | Refills the vitals of all active players on the server. Will revive players if they are injured. To disable this, pass in --no-recover as the first argument. |
| debug.refrigeratedinventoryhours | command | — | Adds the given number of refrigerated hours to all food in the players inventory, so things like milk skimming can be tested without waiting |
| debug.removeoverlappingstaticspawnpoints | command | — | Scans all static respawn areas and kills any whose centre is within 1 metre of another, eliminating duplicate spawn points |
| debug.renderinfo | command | — | Generates and logs a render info report showing draw calls, batch counts, triangle counts, and shadow caster counts for the current frame |
| debug.repair_inventory | command | — | Repair all items in inventory |
| debug.resetsleepingbagtimers | command | — | Resets all sleeping bag respawn cooldown timers for the calling player, allowing immediate re-use of all their bags |
| debug.respawnvinetreesinradius | command | — | Respawns vine trees from their stumps within a given radius of the calling player; reports how many were respawned versus blocked by players |
| debug.setdamage | command | — | Deals enough bullet damage to bring the calling player or a named target to the specified health value |
| debug.setfood | command | — | Sets the calling player or a named target player calorie level to the specified value directly |
| debug.sethealth | command | — | Sets the calling player or a named target player health to the specified value; useful for testing low-health or death scenarios |
| debug.setmaxhealth | command | — | Overrides the maximum health of the calling player or a named target; pass 0 to reset to the default value |
| debug.setradiation | command | — | Sets the calling player or a named target player radiation level to the specified value directly |
| debug.setthrowable | command | — | 0 = can't throw, 1 = can throw & melee, 2 = only throwable |
| debug.setunloadablecarfillpercent | command | — | Sets the ore fill percentage on all unloadable train cars within 3 metres of the calling player; updates both inventory amounts and visual ore level |
| debug.setwater | command | — | Sets the calling player or a named target player hydration level to the specified value directly |
| debug.spawn_all_deployables | command | — | Spawns one of every deployable in a grid |
| debug.spawnovenstresstest | command | — | Spawns a 100x10 grid of lit furnaces loaded with wood and metal ore near the calling player; used to stress-test the oven cooking system |
| debug.spawnparachutetester | command | — | Spawns a clone of the calling player at a configurable height with a parachute deployed and their belt and wear inventories copied |
| debug.stall | command | — | Stalls the main thread for the given duration in seconds (clamped 0-1); admin-only; used to test timeout handling and watchdog systems |
| debug.starttutorial | command | — | |
| debug.test_custom_vitals | command | — | Sends a configurable number of test custom vital entries to the calling player client for a given duration; used to verify custom vitals UI rendering |
| debug.testerror | command | — | Logs a test error and exception for testing error display. |
| debug.testtutorialcinematic | command | — | Triggers the tutorial island ending cinematic for the calling player; spawns a kayak at the designated mount point and mounts the player to it |
| debug.tutorial_start_cooldown | convar | 60 | Minimum seconds that must pass after a tutorial ends before another one can start; prevents back-to-back tutorial spam |
| debug.tutorialstatus | command | — | Prints a table of all active tutorial islands showing index, network group ID, assigned player name, duration, and connection state |
| debug.vineswinginghighlight | command | — | Sends a highlight RPC to every VineMountable on the server targeting the calling player; used for visually debugging vine placement |
| debug.vineswingingreport | command | — | Prints a summary table of all VineSwingingTree and VineMountable entities on the server, including average destination count per mountable |
| decay.addfakeauthhistory | command | — | addfakeauthhistory <count>, adds fake deauthed players to the auth history of the tool cupboard you are standing in, for testing group upkeep tiers |
| decay.bracket_0_blockcount | convar | 15 | Number of blocks in the 1st upkeep bracket |
| decay.bracket_0_costfraction | convar | 0.1 | Blocks in the 1st upkeep bracket will cost this value per day to maintain |
| decay.bracket_0_doorcount | convar | 15 | Number of doors in the 1st upkeep bracket |
| decay.bracket_0_doorfraction | convar | 0.1 | Doors in the 1st upkeep bracket will cost this value per day to maintain |
| decay.bracket_1_blockcount | convar | 50 | Number of blocks in the 2nd upkeep bracket |
| decay.bracket_1_costfraction | convar | 0.15 | Blocks in the 2nd upkeep bracket will cost this value per day to maintain |
| decay.bracket_1_doorcount | convar | 50 | Number of doors in the 2nd upkeep bracket |
| decay.bracket_1_doorfraction | convar | 0.15 | Doors in the 2nd upkeep bracket will cost this value per day to maintain |
| decay.bracket_2_blockcount | convar | 125 | The number of blocks in the 3rd upkeep bracket |
| decay.bracket_2_costfraction | convar | 0.2 | Blocks in the 3rd upkeep bracket will cost this value per day to maintain |
| decay.bracket_2_doorcount | convar | 125 | The number of doors in the 3rd upkeep bracket |
| decay.bracket_2_doorfraction | convar | 0.2 | Doors in the 3rd upkeep bracket will cost this value per day to maintain |
| decay.bracket_3_costfraction | convar | 0.333 | Blocks in the 4th upkeep bracket will cost this value per day to maintain |
| decay.bracket_3_doorfraction | convar | 0.333 | Doors in the 4th upkeep bracket will cost this value per day to maintain |
| decay.build_twig_cost_multiplier | convar | 1 | Can players upgrade building blocks to wood |
| decay.clearauthhistory | command | — | Clears the deauthed player history on the tool cupboard you are standing in, dropping its group upkeep back to the number of authed players |
| decay.debug | convar | False | When enabled, logs decay tick details to the console including which entities took damage and how much |
| decay.delay_metal | convar | 0 | How long should this building grade decay be delayed when not protected by upkeep, in hours |
| decay.delay_override | convar | 0 | When set to a value above 0 everything will decay with this delay |
| decay.delay_stone | convar | 0 | How long should this building grade decay be delayed when not protected by upkeep, in hours |
| decay.delay_toptier | convar | 0 | How long should this building grade decay be delayed when not protected by upkeep, in hours |
| decay.delay_twig | convar | 0 | How long should this building grade decay be delayed when not protected by upkeep, in hours |
| decay.delay_wood | convar | 0 | How long should this building grade decay be delayed when not protected by upkeep, in hours |
| decay.drawnearbybuildings | command | — | drawnearbybuildings <duration> <radius>, shows building ID of entities |
| decay.duration_metal | convar | 8 | How long should this building grade take to decay when not protected by upkeep, in hours |
| decay.duration_override | convar | 0 | When set to a value above 0 everything will decay with this duration |
| decay.duration_stone | convar | 5 | How long should this building grade take to decay when not protected by upkeep, in hours |
| decay.duration_toptier | convar | 12 | How long should this building grade take to decay when not protected by upkeep, in hours |
| decay.duration_twig | convar | 1 | How long should this building grade take to decay when not protected by upkeep, in hours |
| decay.duration_wood | convar | 3 | How long should this building grade take to decay when not protected by upkeep, in hours |
| decay.forcedecaytick | command | — | Call the decay tick on every single entity on the server (for testing decay works) |
| decay.high_wall_upkeep | convar | 0.2 | Upkeep scale for external walls and gates |
| decay.outside_test_range | convar | 50 | Maximum distance to test to see if a structure is outside, higher values are slower but accurate for huge buildings |
| decay.scale | convar | 1 | Multiplier applied to all decay damage per tick; 1.0 = normal, 2.0 = double decay rate, 0.0 = no decay |
| decay.tick | convar | 600 | Interval in seconds between decay processing ticks; default is 10 minutes; lower values cause buildings to lose health more frequently |
| decay.tick_budget_ms | convar | 0.25 | Max milliseconds per frame spent on decay ticks. 0 pauses decay |
| decay.upgrade_hqm_cost_multiplier | convar | 1 | Can players upgrade building blocks to hqm |
| decay.upgrade_hqm_enabled | convar | True | Can players upgrade building blocks to hqm |
| decay.upgrade_metal_cost_multiplier | convar | 1 | Can players upgrade building blocks to metal |
| decay.upgrade_metal_enabled | convar | True | Can players upgrade building blocks to metal |
| decay.upgrade_stone_cost_multiplier | convar | 1 | Can players upgrade building blocks to stone |
| decay.upgrade_stone_enabled | convar | True | Can players upgrade building blocks to stone |
| decay.upgrade_wood_cost_multiplier | convar | 1 | Can players upgrade building blocks to wood |
| decay.upgrade_wood_enabled | convar | True | Can players upgrade building blocks to wood |
| decay.upkeep | convar | True | Is upkeep enabled |
| decay.upkeep_grief_protection | convar | 1440 | How many minutes can the upkeep cost last after the cupboard was destroyed? default : 1440 (24 hours) |
| decay.upkeep_group_count_locks | convar | True | Should 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_max | convar | 256 | Maximum number of players a tool cupboard remembers in the group window, oldest are dropped first |
| decay.upkeep_group_max_multiplier | convar | 3 | Upper limit on the group size upkeep multiplier |
| decay.upkeep_group_scaling | convar | True | Should upkeep cost scale with the number of players authed on the tool cupboard |
| decay.upkeep_group_tier_0_increase | convar | 0 | Each player in the 1st upkeep group tier increases upkeep cost by this fraction |
| decay.upkeep_group_tier_0_playercount | convar | 4 | Number of players in the 1st (free) upkeep group tier |
| decay.upkeep_group_tier_1_increase | convar | 0.02 | Each player in the 2nd upkeep group tier increases upkeep cost by this fraction |
| decay.upkeep_group_tier_1_playercount | convar | 6 | Number of players in the 2nd (small group) upkeep group tier |
| decay.upkeep_group_tier_2_increase | convar | 0.04 | Each player in the 3rd (large group) upkeep group tier increases upkeep cost by this fraction, this tier is unlimited |
| decay.upkeep_group_window_hours | convar | 24 | Players who authed within this many hours still count towards the group size, even if they have since deauthed |
| decay.upkeep_heal_scale | convar | 1 | Scale at which objects heal when upkeep conditions are met, default of 1 is same rate at which they decay |
| decay.upkeep_inside_decay_scale | convar | 0.1 | Scale at which objects decay when they are inside, default of 0.1 |
| decay.upkeep_lock_min_users | convar | 2 | If a code lock has <= this number of users it won't count its users towards group upkeep tax |
| decay.upkeep_period_minutes | convar | 1440 | How many minutes does the upkeep cost last? default : 1440 (24 hours) |
| decay.use_door_upkeep_brackets | convar | False | Should doors have their own upkeep brackets separate from building blocks |
| decayentity.debuggetprivilege | convar | False | When enabled, logs detailed debug output for building privilege (tool cupboard auth) checks during decay calculations |
| decayentity.demolish_seconds | convar | 600 | Time window in seconds after placement during which a player can demolish their own building block; default 600s (10 minutes) |
| deepsea.allow_all_vehicles | convar | False | Allow all vehicles to travel to the deep sea, instead of just the whitelisted vehicles |
| deepsea.allow_swimmers | convar | False | Allow players to swim to the deep sea |
| deepsea.block_building | convar | True | |
| deepsea.close | command | — | Initiates the deep sea closing sequence |
| deepsea.createdeepsea | command | — | Creates the deep sea manager entity on the server |
| deepsea.debug_portal_spawnattempts | convar | False | When enabled, logs each deep sea portal spawn attempt to the console including whether it succeeded or failed |
| deepsea.enabled | convar | True | Toggles the deep sea. Needs a server restart to take effect. Any saved deep sea entities will be destroyed at the next startup |
| deepsea.enterdeepsea | command | — | Teleports the player (or their mounted vehicle) into the deep sea |
| deepsea.entities_spawninterval | convar | 5 | When 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_count | convar | 1 | Number of floating cities to spawn in the deep sea |
| deepsea.floatingcity_edgemargin | convar | 1500 | Minimum distance in metres floating cities must be from the deep sea boundary edge when spawning |
| deepsea.floatingcity_mindist | convar | 1500 | Minimum distance in metres required between floating city |
| deepsea.floatingcity_radius | convar | 500 | Exclusion radius in metres around floating cities |
| deepsea.forceentranceportaldirection | convar | 0 | 0 Random, 1 North, 2 East, 3 South, 4 West |
| deepsea.ghostship_count | convar | 4 | Number of ghost ship to spawn in the deep sea zone |
| deepsea.ghostship_edgemargin | convar | 450 | Minimum distance in metres ghost ships must be from the deep sea boundary edge when spawning |
| deepsea.ghostship_mindist | convar | 400 | Minimum distance in metres required between ghost ships |
| deepsea.ghostship_radius | convar | 80 | Exclusion radius in metres around ghost ship |
| deepsea.hackablecrate_count | convar | 1 | Number of hackable crates to spawn in the deep sea |
| deepsea.island_count | convar | 6 | Number of islands to spawn in the deep sea zone |
| deepsea.island_edgemargin | convar | 750 | Minimum distance in metres islands must be from the deep sea boundary edge when spawning |
| deepsea.island_mindist | convar | 600 | Minimum distance in metres required between islands |
| deepsea.island_portal_terrain_distance | convar | 750 | Distance in metres from the main island shore at which deep sea entrance portals are placed |
| deepsea.island_radius | convar | 300 | Exclusion radius in metres around islands |
| deepsea.islands_billboard_scale | convar | 1 | Scale multiplier for the deep sea island billboards |
| deepsea.leavedeepsea | command | — | Teleports the player (or their mounted vehicle) back to the main island from the deep sea. |
| deepsea.lighthouseopendelay | convar | 0 | Seconds between the first lighthouse repair and the deep sea opening, 0 opens it straight away |
| deepsea.logs | convar | False | When enabled, outputs verbose deep sea system log messages (portal transitions, wipe events, entity moves) to the server log for debugging |
| deepsea.loot_respawn_scale | convar | 1 | Population multiplier applied to the loot the deep sea will respawn over time. 1.0 = unchanged, 0.5 = half, 2.0 = double |
| deepsea.loot_scale | convar | 1 | Population multiplier applied to the loot the deep sea spawns with. 1.0 = unchanged, 0.5 = half, 2.0 = double |
| deepsea.mainisland_billboard_scale | convar | 1 | Scale multiplier for the main island billboard seen from the deep sea |
| deepsea.navmesh_spawninterval | convar | 5 | When generating, the interval in seconds in between each island navmesh bake. Increase if you're experiencing lag when the deep sea is opening. |
| deepsea.open | command | — | Initiates the deep sea opening sequence |
| deepsea.openonserverwipe | convar | False | Should the deep sea open as soon as the server wiped? |
| deepsea.printboatteleports | command | — | Prints what players on the player's boat will be teleported to the deep sea |
| deepsea.printentitycount | command | — | Prints a breakdown of all entities currently in the deep sea |
| deepsea.printloot | command | — | Prints a breakdown of all loot containers, trees, and ore nodes currently in the deep sea |
| deepsea.printtimetowipe | command | — | Prints the current time remaining until the deep sea wipes |
| deepsea.rhib_count | convar | 4 | Number of RHIB boat groups to spawn in the deep sea |
| deepsea.rhib_edgemargin | convar | 1150 | Minimum distance in metres RHIB groups must be from the deep sea boundary edge when spawning |
| deepsea.rhib_mindist | convar | 300 | Minimum distance in metres required between RHIB groups |
| deepsea.rhib_radius | convar | 10 | Exclusion radius in metres around each RHIB group |
| deepsea.settimetonextopening | command | — | Sets the time in seconds until the deep sea re-opens after a wipe |
| deepsea.settimetowipe | command | — | Sets the time in seconds until the deep sea wipe triggers |
| deepsea.spawnfloatingcityhere | command | — | Spawns a random floating city prefab at the player position |
| deepsea.spawnghostshiphere | command | — | Spawns a random ghost ship prefab at the player position |
| deepsea.spawngroups_spawninterval | convar | 0.15 | When 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.spawnislandhere | command | — | Spawns a random deep sea island prefab at the player position |
| deepsea.spawnrhibgrouphere | command | — | Spawns a RHIB patrol boat group at the player position |
| deepsea.status | command | — | Prints the current deep sea status |
| deepsea.stricttransitionreposition | convar | True | Ensure all players on a mounted boat are repositioned after a transition, if this is false we rely on parenting exclusively |
| deepsea.terrain_everywhere | convar | False | Applies the deep sea terrain config and foliage to the whole map, not just inside the deep sea |
| deepsea.testportalspawnlocation | command | — | Tests whether the calling player's current position is a valid portal spawn location; draws a green sphere if valid or red sphere if invalid with the given radius and duration in seconds |
| deepsea.wipecooldownmax | convar | 5400 | Maximum seconds before a deep sea re-opens after closing |
| deepsea.wipecooldownmin | convar | 5400 | Minimum seconds before a deep sea re-opens after closing |
| deepsea.wipeduration | convar | 10800 | Duration in seconds of the deep sea wipe |
| deepsea.wipeendphaseduration | convar | 1800 | Duration in seconds of the final wipe phase, bad weather kicking in etc |
| deepsea.wiperadiationphaseduration | convar | 300 | Seconds before radiation starts to ramp in before the deep sea wipe |
| demo.compatibilitylayer | convar | False | Enable demo compatibility layer to resolve renamed/moved prefabs from older recordings |
| demo.record | command | — | Starts recording a server-side demo for the specified player by name or Steam ID to a timestamped file; the player must be connected |
| demo.recordlist | convar | | Comma-separated list of player Steam IDs whose demos are automatically recorded on the server; empty means no targeted recording |
| demo.recordlistmode | convar | 0 | Controls the behavior of recordlist, 0=whitelist, 1=blacklist |
| demo.splitmegabytes | convar | 200 | Maximum file size in megabytes before a demo recording is automatically split; prevents individual demo files from becoming unmanageably large |
| demo.splitseconds | convar | 3600 | Maximum duration in seconds before a demo recording is automatically split into a new file; default is 3600 (1 hour) |
| demo.stop | command | — | Stops the active server-side demo recording for the specified player and finalises the demo file |
| doorstress.audit | command | — | Audit every pasted base for door gating anomalies: doorstress.audit |
| doorstress.auditresults | command | — | Print the last audit results |
| doorstress.bench | command | — | Run the fixed door gating suite over the pasted corpus: doorstress.bench <burst reps, default 3> <leaf slabs 1 or 0, default 1>. Non destructive, every door is restored to the state it was in |
| doorstress.benchresults | command | — | Print the last benchmark results |
| doorstress.build_env | command | — | Paste the bigbaseRF corpus on the ground and bake it: doorstress.build_env <centerX centerZ>, defaults -140 140 |
| doorstress.clear | command | — | Kill the pasted corpus and rebake the ground it stood on |
| doorstress.envreport | command | — | Print the last corpus build report |
| doorstress.featurebench | command | — | Price the whole door gating feature per event class, gates on vs off: doorstress.featurebench <door placement samples, default 24> |
| doorstress.featureresults | command | — | Print the last feature bench results |
| doorstress.finalbench | command | — | Final door gating comparison over every pasted base: doorstress.finalbench <reps, default 3> |
| doorstress.finalresults | command | — | Print the last final bench results |
| doorstress.proposalbench | command | — | Price the no-slabs + thin-aperture + no-ownership proposal against shipped, step by step: doorstress.proposalbench <reps, default 3> |
| doorstress.proposalresults | command | — | Print the last proposal bench results |
| doorstress.pruneresults | command | — | Print the last prune sweep results |
| doorstress.prunesweep | command | — | Rebake the pasted base at a range of minRegionSizeMeters and census doors and polys at each: doorstress.prunesweep |
| doorstress.sweepresults | command | — | Print the last thickness sweep results |
| doorstress.thicknesssweep | command | — | Rebake the corpus at a range of aperture half thicknesses and census the door to door overlap at each: doorstress.thicknesssweep |
| drone.altitudespeedoverride | convar | 0 | If greater than zero, overrides the drone's vertical movement speed |
| drone.disablesamtargeting | convar | — | |
| drone.maxcontrolrange | convar | 600 | How far drones can be flown away from the controlling computer station |
| drone.movementspeedoverride | convar | 0 | If greater than zero, overrides the drone's planar movement speed |
| drone.samproximityfuseradius | convar | 10 | Radius at which a SAM missile's proximity fuse detonates against drones, capped by the missile's 20m trigger sphere |
| drone.windlerpspeed | convar | 0.1 | |
| drone.windpositiondivisor | convar | 100 | |
| drone.windpositionscale | convar | 1 | |
| drone.windrotationmultiplier | convar | 45 | |
| drone.windtimedivisor | convar | 10 | |
| droppeditem.broadcast_debug_ddraw | convar | False | Will broadcast debug ddraw information on ALL dropped items to ALL players |
| droppeditem.remove_rb_on_sleep | convar | False | Whether Rigidbody components are removed from DroppedItems when sleeping |
| droppeditem.underwater_drag_budget_ms | convar | 0.05 | How many milliseconds to spend on updating underwater drag levels |
| dungeonnavmesh.use_baked_terrain_mesh | convar | True | |
| dynamicnavmesh.use_baked_terrain_mesh | convar | — | |
| egghuntevent.includebots | convar | False | Will spawn eggs for bots, only for debug purposes - don't enable it! |
| electricbattery.batteryid | command | — | |
| electricbattery.dischargebudgetms | convar | 0.05 | |
| entity.countby | command | — | Count all entities created by provided users (separate users by space) |
| entity.debug_toggle | command | — | Toggles the debug info overlay for an entity by net ID, showing position, velocity, health, and network state in the world |
| entity.deleteby | command | — | Destroy all entities created by provided users (separate users by space) |
| entity.deletebytextblock | command | — | Destroy all entities created by users in the provided text block (can use with copied results from ent auth) |
| entity.find_entity | command | — | Lists all networked entities whose prefab path contains the given filter string in a formatted table; admin-only on client |
| entity.find_group | command | — | Lists all networked entities belonging to the given network group ID in a formatted table; admin-only on client |
| entity.find_id | command | — | Lists the networked entity with the given network entity ID in a formatted table; admin-only on client |
| entity.find_parent | command | — | Lists all networked entities that have the given network entity ID as their parent in a formatted table; admin-only on client |
| entity.find_radius | command | — | Lists all networked entities within the given radius in metres of the calling player in a formatted table; admin-only on client |
| entity.find_self | command | — | Lists all networked entities owned by the calling player (matched by network ID) in a formatted table; admin-only on client |
| entity.find_status | command | — | Lists all networked entities whose status string contains the given filter text in a formatted table; admin-only on client |
| entity.nudge | command | — | Applies a small positional nudge to an entity by net ID, useful for unsticking entities that are clipping into geometry |
| entity.set_battery_charge | command | — | Sets the charge level of an electric battery entity by net ID to the given percentage (0-100) |
| entity.spawn | command | — | Spawns a server entity by prefab name at a given world position and direction; returns the spawned entity net ID |
| entity.spawngrid | command | — | Spawns a grid of server entities by prefab name centred at a position; useful for stress-testing entity counts |
| entity.spawnitem | command | — | Spawns a dropped item entity server-side by item short name at a given world position |
| entity.spawnlootfrom | command | — | Spawns a copy of the loot table from one container prefab into the world at the calling player position |
| entity.spawnplants | command | — | Spawn every stage of every plant inside it's own planter, with an optional filter |
| entity.spawnvendor | command | — | Spawns a complete NPC vendor by vendor name and the stock it should sell - both the shopkeeper NPC and the invisible vending machine it needs - or any other vending machine by prefab name, at the position the calling player is looking at. Leave out the stock to list them |
| entity.test_pooling | command | — | Editor only: stress-tests the entity pool system by rapidly spawning and despawning a named prefab many times |
| env.addtime | command | — | Advances the in-game time of day by the specified number of hours; useful for quickly cycling to day or night for testing |
| env.day | convar | — | Gets or sets the current in-game day of the month; used for calendar-driven events and date display |
| env.daylength | convar | — | How 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.month | convar | — | Gets or sets the current in-game month (1-12); used for seasonal event triggers and calendar display |
| env.nightlight_brightness | convar | 0.008 | |
| env.nightlight_debugcamera_enabled | convar | 0 | Toggles nightlight screen effect when using debug camera |
| env.nightlight_distance | convar | 5 | |
| env.nightlight_enabled | convar | 1 | When enabled, ambient night lighting is applied at night; disabling makes nights pitch-black for horror or specific event scenarios |
| env.nightlight_fadefraction | convar | 0.65 | |
| env.oceanlevel | convar | 0 | |
| env.progresstime | convar | — | When enabled, the server advances the in-game time of day automatically; disabling freezes time at its current value |
| env.redmoon | convar | 0 | |
| env.time | convar | — | Gets 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.year | convar | — | Gets or sets the current in-game year; used for date display and long-running server event tracking |
| espcanvas.colourcodeteams | convar | False | Admin-only: when enabled, ESP player info elements are coloured by team membership using the configured team colour IDs |
| espcanvas.disableocclusionchecks | convar | False | Admin-only: when enabled, occlusion checks are skipped for ESP player info elements so they are always visible regardless of walls |
| espcanvas.maxnameplates | convar | 32 | Max amount of nameplates to show at once |
| espcanvas.nameplateautosize | convar | — | Admin-only: Should the nameplates size dynamically change based on distance? |
| espcanvas.nameplateautosize_falloff | convar | 50 | Admin-only: Nameplate falloff distance for autosizing (smaller values cause the text to shrink at closer distances). |
| espcanvas.overridemaxdisplaydistance | convar | 0 | Admin-only: overrides the maximum distance at which ESP player info elements are shown; 0 = use default distance |
| espcanvas.showhealth | convar | False | Admin-only: when enabled, player health values are shown in ESP player info elements above each player |
| espcanvas.showvoip | convar | False | Admin-only: when enabled, an icon will be displayed as part of ESP player info elements for each player that is currently communicating over in-game voice chat |
| espcanvas.userandomteamcolours | convar | False | Admin-only: when enabled, ESP player info team colours are randomised per team rather than using the configured team ID colour mapping |
| events.print_server_events | command | — | Prints a table of all registered server events with their current enabled state, minimum delay, maximum delay, and last trigger time |
| events.set_event_enabled | command | — | Enables or disables a specific server event by name; disabled events will not trigger automatically until re-enabled |
| events.set_event_max_delay | command | — | Sets the maximum delay in seconds between automatic triggers of the named server event |
| events.set_event_min_delay | command | — | Sets the minimum delay in seconds between automatic triggers of the named server event |
| eventschedule.killallevents | command | — | Kills all currently running triggered event instances across all enabled event schedules; registered as eventschedule.killallevents |
| eventschedule.triggerevent | command | — | Triggers a named event schedule by partial name match; registered as eventschedule.triggerevent; lists available events if name is invalid or ambiguous |
| eventschedulewipeoffset.event_hours_before_wipe | convar | 24 | Number of real-time hours before a scheduled wipe at which the pre-wipe event schedule begins running; registered as event_hours_before_wipe |
| excavatorsignalcomputer.automaticchargeneededforsupplies | convar | 600 | Amount of charge required for the excavator to automatically trigger supply drop delivery without player activation |
| excavatorsignalcomputer.chargeneededforsupplies | convar | 600 | Amount of charge (in seconds of operation) the excavator signal computer requires before it can manually call a supply drop |
| farmableanimal.simhours | command | — | Simulates the provided number of hours on all farm animals within 10m |
| file.debug | convar | — | Enables verbose debug logging for the file system abstraction layer, logging all file read/write operations to the console |
| file.time | convar | — | When enabled, measures and logs the time taken for each file system operation, helping identify slow asset or config file loading |
| fishing.debugoverfishing | convar | False | |
| fishing.disableoverfishing | convar | False | |
| fishing.overfishedareadurationminutes | convar | 30 | |
| fishing.overfishedarearadius | convar | 16 | |
| fishing.successesuntiloverfished | convar | 25 | |
| fps.graph | convar | — | Controls the FPS graph overlay mode; 0 = off, higher values show increasingly detailed frame time graphs and performance metrics |
| fps.limit | convar | 240 | Target application frame rate cap; 0 = unlimited; on client clamped to 240; on server limits tick dispatch rate; saved between sessions |
| frankensteinbrain.movetowardsrate | convar | 1 | |
| frankensteinpet.decayminutes | convar | 180 | How long before a Frankenstein Pet dies un controlled and not asleep on table |
| frog.population | convar | 2 | Population active on the server, per square km |
| fuzzysearch.search_similarity_modifier | convar | 0.14 | How similar the server name must be to the search filter to be included in the results. (0 is exact match, 1 is no match at all) |
| gamemode.set | command | — | Sets the active game mode by name; game modes can alter loot tables, rules, and player abilities (e.g. softcore, hardcore) |
| gamemode.setteam | command | — | |
| gamemodesoftcore.allow_tc_corpse_no_building | convar | True | |
| gamemodesoftcore.gather_rate | convar | 2 | Global 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_auth | convar | False | When enabled, items are kept in a reclaim backpack even if the player died while inside their own authorised base |
| gamemodesoftcore.reclaim_fraction_belt | convar | 0.5 | Fraction of belt slot items that are preserved in a softcore death reclaim backpack; default 0.5 (50%) |
| gamemodesoftcore.reclaim_fraction_main | convar | 0.5 | Fraction of main inventory items preserved in a softcore death reclaim backpack; default 0.5 (50%) |
| gamemodesoftcore.reclaim_fraction_wear | convar | 1 | Fraction of clothing/armour items that are preserved in a softcore death reclaim backpack; default 1.0 (100%) |
| gamemodesoftcore.reclaim_suicide | convar | False | When enabled, items are kept in a reclaim backpack even if the player died by suicide (F1 kill) |
| gamephysics.defaultmaxresultsperquery | convar | 48 | How many results to collect per command - DONT set this too low or you'll risk missing results |
| gc.alloc | command | — | Allocates a byte array of the given size (default 1 MB) as a GC pressure test; useful for profiling memory allocation throughput |
| gc.buffer | convar | — | Raw size in bytes of the GC buffer allocation; do not set directly — use gc.buffer_enabled and let the system manage allocation |
| gc.buffer_enabled | convar | True | Enables the managed memory GC buffer, which pre-allocates a buffer to delay GC collections and reduce GC-induced frame hitches |
| gc.collect | command | — | Triggers an immediate full managed garbage collection pass; useful after large allocations for memory profiling |
| gc.debuglevel | convar | 1 | Controls the verbosity of GC debug output; higher values print more details about collection frequency and memory pressure |
| gc.enabled | convar | — | When enabled, this system is globally active; disable to deactivate the system for the current session |
| gc.incremental_enabled | convar | — | Read-only: reports whether Unity incremental garbage collection is enabled for this runtime; cannot be changed at runtime |
| gc.incremental_milliseconds | convar | — | Time slice in milliseconds allocated to incremental GC per frame; lower values reduce GC stutter but spread collection over more frames |
| gc.unload | command | — | Calls Resources.UnloadUnusedAssets() to unload assets no longer referenced by any object, freeing RAM and VRAM |
| generateerosion.determinism_log | convar | — | Log a CRC32 fingerprint of the eroded heightmap after generation, for determinism validation (e.g. across platforms or client vs server) |
| global.add_wallpaper_radius | command | — | <name/id> <radius> | Use print_wallpaper_skins for a list | 0 -> default, -1 -> random |
| global.adminui_deleteugccontent | command | — | Clears all UGC content (images, patterns) from the entity with the given network ID and notifies the IUGCBrowserEntity component |
| global.adminui_fullrefresh | command | — | Triggers a full refresh of the admin UI by requesting the player list, server info, convars, and UGC list all at once |
| global.adminui_requestfireworkpattern | command | — | Sends the firework pattern design data for the specified pattern firework entity to the requesting admin client |
| global.adminui_requestplayerlist | command | — | Server-side handler that serialises and sends the current player list to the requesting admin client for display in the admin UI |
| global.adminui_requestserverconvars | command | — | Server-side handler that collects all ServerAdmin+ShowInAdminUI convars and sends them to the admin client for editing via the admin UI |
| global.adminui_requestserverinfo | command | — | Server-side handler that serialises and sends current server info (name, players, FPS, etc.) to the requesting admin client |
| global.adminui_requestugccontent | command | — | Server-side handler that retrieves a specific UGC data blob by CRC, entity ID, and part and sends it to the requesting admin client |
| global.adminui_requestugclist | command | — | Server-side handler that scans all entities for UGC content (images, patterns, vending names) and sends a serialised list to the admin client |
| global.allowadminui | convar | True | Controls whether the in-game admin UI is displayed to admins |
| global.applygenes | command | — | <gene string> - Applies the given genes (e.g. "YYYGGG") to the clone/seed in your hands |
| global.authcount | command | — | Returns all entities that the provided player is authed to (TC's, locks, etc), supports --json |
| global.authradius | command | — | Authorises the specified player (or caller if none given) to all tool cupboards within the given radius around them |
| global.authradius_multi | command | — | Authorises multiple specified players to all tool cupboards within the given radius around the calling admin |
| global.authradius_radius | command | — | Finds all players within playerRadius of the caller, then authorises each of them to TCs within authRadius of themselves |
| global.ban | command | — | ban <player> <reason> [optional duration] |
| global.banid | command | — | banid <steamid> <username> <reason> [optional duration] |
| global.banlist | command | — | List of banned users (sourceds compat) |
| global.banlistex | command | — | List of banned users - shows reasons and usernames |
| global.bans | command | — | List of banned users |
| global.blockemoji | convar | False | Blocks any emoji from appearing |
| global.blockemojianimations | convar | False | Disables any emoji animations |
| global.blockserveremoji | convar | False | Blocks emoji provided by servers from appearing |
| global.breakclothing | command | — | Breaks all equipped clothing items currently worn by the calling player, reducing their condition to zero |
| global.breakitem | command | — | Reduces the condition of all items in the calling player inventory whose short name matches the given string to zero, breaking them |
| global.buildinfo | command | — | Get information about this build |
| global.carstats | command | — | Get information about all the cars in the world |
| global.change_wallpaper_radius | command | — | <name/id> <radius> | Use print_wallpaper_skins for a list | 0 -> default, -1 -> random |
| global.cinematicgingerbreadcorpses | convar | False | When enabled a player wearing a gingerbread suit will gib like the gingerbread NPC's |
| global.clear_wallpaper_radius | command | — | clear_wallpaper_radius <radius> |
| global.clearallsprays | command | — | Removes all spray paint entities from the server world; useful for cleaning up excessive player spray art |
| global.clearallspraysbyplayer | command | — | Removes all spray paint entities created by a specific player, identified by Steam ID or name |
| global.clearcontainer | command | — | clearcontainer: Removes all items inside the container you're looking at |
| global.clearcontainer_radius | command | — | clearcontainer_radius <radius>: Removes all items inside a container within a radius |
| global.cleardroppeditems | command | — | Removes all dropped item entities from the server, cleaning up every piece of loot on the ground |
| global.clearspraysatpositioninradius | command | — | Removes all spray paint entities within a given radius of the specified world position (X Y Z) |
| global.clearspraysinradius | command | — | Removes all spray paint entities within the given radius of the calling admin current position |
| global.clearugcbyplayer | command | — | Clears UGC content from all entities that have the specified player (by name or Steam ID) in their editing history |
| global.clearugcentitiesinrange | command | — | Clears UGC content from all entities within the given radius of a world position; reports how many entities were cleared |
| global.clearugcentity | command | — | Clears all UGC content from a single entity by network ID; reports success or failure |
| global.clearvendingmachinenamescontaining | command | — | Clears the custom name UGC from all vending machines whose content string contains the given search text (case/symbol insensitive) |
| global.clientperf | command | — | Requests a performance report from every connected client; supports legacy and JSON formats; used for monitoring client frame rates and memory usage |
| global.colliders | command | — | Prints the count of enabled versus disabled Collider components currently in the scene |
| global.deauthradius | command | — | Removes authorisation for the specified player (or caller) from all tool cupboards within the given radius |
| global.deauthradius_multi | command | — | Removes authorisation for multiple specified players from all tool cupboards within the given radius around the calling admin |
| global.deauthradius_radius | command | — | Finds all players within playerRadius of the caller, then deauthorises each of them from TCs within authRadius of themselves |
| global.developer | convar | — | Developer mode level: 0 = off, 1 = developer overlays and convar unlocks, higher values enable increasingly verbose debug logging |
| global.disablebagdropping | convar | False | Disables the backpacks that appear after a corpse times out |
| global.dump | command | — | Dumps a diagnostic snapshot into a folder in /diagnostics/. WARNING: this will stall the server and can cause it to crash. |
| global.dumpanimators | command | — | Dumps a diagnostic snapshot of animators into a diagnostics subfolder |
| global.dumpentities | command | — | Dumps a diagnostic snapshot of entities into a diagnostics subfolder |
| global.dumplodgroups | command | — | Dumps a diagnostic snapshot of LOD Groups into a diagnostics subfolder |
| global.dumpnetwork | command | — | Dumps a diagnostic snapshot of network info into a diagnostics subfolder |
| global.dumpobjects | command | — | Dumps a diagnostic snapshot of objects into a diagnostics subfolder |
| global.dumpphysics | command | — | Dumps a diagnostic snapshot of physics into a diagnostics subfolder |
| global.dumppreprocess | command | — | Dump list of prefabs pre-processed into a diagnostics subfolder |
| global.dumprootobjects | command | — | Dumps a diagnostic snapshot of root objects (all gameobjects across all scenes) into a /diagnostics/ subfolder. WARNING: this will stall the server and can cause it to crash. |
| global.dumpsysteminformation | command | — | Dumps a diagnostic snapshot of system information into a diagnostics subfolder |
| global.dumpwarmup | command | — | Dumps a diagnostic snapshot of warmup info into a diagnostics subfolder |
| global.entcount | command | — | Returns all entities that the provided player has placed, supports --json |
| global.entid | command | — | Runs an admin command (kill, lock, unlock, etc.) on a specific entity by network ID; blocks operation on players and point entities |
| global.fillcontainer | command | — | fillcontainer <optional: category> - Fills the container you are looking at with random items, can also specify a category (ammunition, weapon etc.) |
| global.fillcontainer_radius | command | — | fillcontainer_radius <radius> <optional: category> - Fills containers with random items within a radius, can also specify a category |
| global.fillinventory | command | — | fillinventory <optional: category> - Fills your inventory with random items, can also specify a category (ammunition, weapon etc.) |
| global.forceoffadminstatusoverlay | convar | False | Media: Forcefully disables all status overlays (god, creative, invis) |
| global.forceunloadbundles | convar | True | When enabled, asset bundles are unloaded from memory after their assets are extracted, saving memory; disable to keep bundles resident |
| global.free | command | — | Clears prefab pools and releases pooled objects; delegates to pool.clear_prefabs; admin/developer only |
| global.getugcinfo | command | — | Returns a JSON object containing the UGC info (CRCs, type, player history) for the entity with the given network ID |
| global.god | convar | False | If you're an admin this will enable god mode |
| global.injure | command | — | Puts the calling player or a named target into the wounded/downed state, simulating the critical injury bleed-out state |
| global.injureplayer | command | — | Puts the specified player into the wounded/downed state immediately without killing them; useful for testing the crawl/revive mechanics |
| global.job_system_threads | convar | — | Number of Unity job worker threads; 0 or -1 sets the default (auto); higher values improve parallel job throughput on many-core CPUs |
| global.kick | command | — | Kicks the specified player from the server with an optional reason; broadcasts the kick to chat and places them through the queue on reconnect |
| global.kickall | command | — | Kicks all currently connected players from the server with an optional reason; useful for forcing a restart or clearing the server |
| global.kill | command | — | |
| global.killallplayers | command | — | Deals lethal damage to every non-NPC player currently connected to the server; reports the number of players killed |
| global.killbees | command | — | Kills all bee swarms |
| global.killplayer | command | — | Deals 1000 damage to the specified player (by name/SteamID/bot) killing them immediately; useful for testing death logic without console kill commands |
| global.listid | command | — | List of banned users, by ID (sourceds compat) |
| global.maxspraysperplayer | convar | 40 | If a player sprays more than this, the oldest spray will be destroyed. 0 will disable |
| global.maxthreads | convar | 8 | Maximum number of Unity job system worker threads; controls the background thread pool size for job dispatching |
| global.moderatorid | command | — | Adds the specified Steam64 ID as a server moderator with optional name and reason; grants admin flag to the player if connected |
| global.mute | command | — | Mutes the specified connected player preventing them from using chat; optionally accepts a mute expiry timestamp for temporary mutes |
| global.mutelist | command | — | Print a list of currently muted players |
| global.objects | command | — | Prints all live Unity Object instances sorted by total memory usage, showing type, instance count, and estimated total size in bytes |
| global.ownerid | command | — | Adds the specified Steam64 ID as a server owner (auth level 2) with optional name and reason; requires the caller to also be auth level 2 |
| global.perf | convar | 0 | Controls the on-screen performance overlay detail level; 0 = off, higher values add more metrics such as FPS, ping, entity count, and memory usage |
| global.perf_disable_gc_notif | convar | False | Media: This can be used to disable the performance text info when GC gets triggered |
| global.playerlist | command | — | Get a list of players |
| global.playerlistids | command | — | Get a list of player's IDs |
| global.players | command | — | Print out currently connected clients etc |
| global.print_wallpaper_skins | command | — | Lists all wallpaper skins |
| global.printallscenesinbuild | command | — | Prints all scenes registered in the build settings with their build index and asset path |
| global.queue | command | — | Prints the current state of server-side stability check and surroundings update queues; reports nothing useful on client |
| global.quit | command | — | Quits the application cleanly with no arguments; rejects calls with arguments to prevent accidental exit; in the editor exits play mode |
| global.recover | command | — | Revives the calling player or a named target from the wounded state, restoring them to standing with a small amount of health |
| global.recoverplayer | command | — | Recovers the specified player from the wounded state, standing them back up at minimum health |
| global.removemoderator | command | — | Removes moderator status from the specified Steam64 ID; removes admin flag from the player if currently connected |
| global.removeowner | command | — | Removes owner status from the specified Steam64 ID; removes admin flag from the player if currently connected |
| global.removeskipqueue | command | — | Removes skip queue permission from a SteamID |
| global.report | command | — | Runs a server performance diagnostic report covering entity counts, memory usage, and active invokes, outputting results to the server console |
| global.respawn | command | — | |
| global.respawn_sleepingbag | command | — | |
| global.respawn_sleepingbag_favourite | command | — | |
| global.respawn_sleepingbag_remove | command | — | |
| global.restart | command | — | Schedules a server restart; optionally accepts a countdown in seconds and a broadcast message sent to all players before the restart occurs |
| global.say | command | — | Sends a message in chat |
| global.serverinfo | command | — | Get a list of information about the server |
| global.setinfo | command | — | |
| global.showbotsinplayerlist | convar | False | Include bots in the admin UI player list (debugging purpose only) |
| global.showemojierrors | convar | False | Displays any emoji rendering errors in the console |
| global.skick | command | — | Silently kicks the specified player without broadcasting to chat; the kick is logged to RCON only |
| global.skin_looking | command | — | <skin> |
| global.skin_radius | command | — | skin_radius 'skin' 'radius' |
| global.skipqueue | command | — | Moves the specified Steam64 ID to the front of the connection queue so they connect immediately on next join |
| global.skipqueueid | command | — | Adds skip queue permissions to a SteamID |
| global.sleep | command | — | Puts the calling player into the sleeping state, disconnecting their control and making them a sleeping entity on the server |
| global.sleepingusers | command | — | Show user info for players on server. |
| global.sleepingusersinrange | command | — | Show user info for sleeping players on server in range of the player. |
| global.sleeptarget | command | — | Puts the player that the calling admin is looking at into the sleeping state; useful for testing sleeping player interactions |
| global.spectate | command | — | Enters spectator mode; optionally accepts a player name or Steam ID to spectate that specific player from a third-person camera |
| global.spectateid | command | — | Enters spectator mode targeting the entity or player with the given network entity ID |
| global.sprayduration | convar | 10800 | Base time (in seconds) that sprays last |
| global.sprayoutofauthmultiplier | convar | 0.5 | Multiplier applied to SprayDuration if a spray isn't in the sprayers auth (cannot go above 1f) |
| global.stats | command | — | Print out stats of currently connected clients |
| global.status | command | — | Print out currently connected clients |
| global.status_cl | command | — | Prints client-side connection status information including connected state, ping, player entity ID, and current map to the client console |
| global.status_sv | command | — | |
| global.steamconnectiontimeout | convar | — | |
| global.steamnagleflush | convar | — | |
| global.steamnagletime | convar | — | Nagle time, in microseconds |
| global.steamnetdebug | convar | — | Turns 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 | convar | — | |
| global.steamnetdebug_message | convar | — | |
| global.steamnetdebug_p2prendezvous | convar | — | |
| global.steamnetdebug_packetdecode | convar | — | |
| global.steamnetdebug_packetgaps | convar | — | |
| global.steamnetdebug_sdrrelaypings | convar | — | |
| global.steamrelayinit | command | — | |
| global.steamsendbuffer | convar | — | Upper limit of buffered pending bytes to be sent |
| global.steamsendratemax | convar | — | Maxminum send rate clamp, 0 is no limit |
| global.steamsendratemin | convar | — | Minimum send rate clamp, 0 is no limit |
| global.steamstatus | command | — | |
| global.subscriptions | command | — | Prints a table of active network group subscriptions for the calling player, showing realm and group ID; supports --json flag |
| global.sysinfo | command | — | Prints a summary of the current machine hardware and OS info including CPU, GPU, RAM, and platform |
| global.sysuid | command | — | Prints the unique device identifier for the current machine as reported by Unity SystemInfo.deviceUniqueIdentifier |
| global.teaminfo | command | — | Prints a table of all members in the team of the specified player showing Steam ID, username, online status, and whether they are team leader; supports --json |
| global.teleport | command | — | Teleports the calling admin to a player by name or partial name match; if two arguments are given, moves the first-named player to the second |
| global.teleport2autheditem | command | — | <steamID/name> <optional: filter> - Teleport to a random entity the player is authed on |
| global.teleport2death | command | — | Teleports the calling admin to their own most recent death location |
| global.teleport2entityid | command | — | Teleport to the entity with the specified network ID |
| global.teleport2grid | command | — | Teleports the calling admin to the centre of the named map grid square (e.g. A1, B3) |
| global.teleport2marker | command | — | Teleports the calling admin to the map marker they have placed on their in-game map |
| global.teleport2me | command | — | Teleports the named player to the calling admin current position |
| global.teleport2mission | command | — | Teleports the calling admin to the target location of their currently active mission objective |
| global.teleport2nearest | command | — | Teleport to the current closest entity matching the first argument name. Add second int argument to teleport to the nth closest entity (teleport2nearest horse 2 will teleport to the 3rd closest horse) |
| global.teleport2owneditem | command | — | Teleports the calling admin to an entity owned by a specified player, identified by Steam ID or name |
| global.teleport2satellitecrashsite | command | — | Teleports the calling admin to the currently locked-in satellite crash site. Does nothing if no satellite is descending. |
| global.teleportany | command | — | Teleport to the nearest entity matching the given prefab short name, with an optional radius filter |
| global.teleportboat2grid | command | — | Teleports the calling admin and their player boat to the centre of the named map grid square (e.g. A1, B3) |
| global.teleportboat2marker | command | — | Teleports the calling admin and their player boat to the map marker they have placed on their in-game map |
| global.teleportboatpos | command | — | Teleports the calling admin and their player boat to exact world coordinates specified as X Y Z arguments |
| global.teleporteveryone2me | command | — | Teleports all connected players to the calling admin current position |
| global.teleportlos | command | — | Teleports the calling admin to the point in the world that their line of sight is currently hitting |
| global.teleportnonsleepers2me | command | — | Teleports all connected active (non-sleeping) players to the calling admin current position |
| global.teleportpos | command | — | Teleports the calling admin or a named player to exact world coordinates specified as X Y Z arguments |
| global.teleportsleepers2me | command | — | Teleports all sleeping player entities to the calling admin current position |
| global.teleporttargetteam2me | command | — | Teleports all members of the named player team to the calling admin current position |
| global.teleportteam2me | command | — | Teleports all members of the calling player team to the calling admin current position |
| global.textures | command | — | Prints a list of all live Texture objects with their name and estimated runtime memory size |
| global.togglespectateteaminfo | command | — | Toggles display of the team info overlay (health, location, vitals) for the spectated player while in spectator mode |
| global.unban | command | — | Removes the ban for the specified Steam64 ID from the server banlist, allowing the player to reconnect |
| global.unlockradius | command | — | Clears the lock flag on every code lock and key lock within a radius of the calling player, so a base can be walked without its codes. Radius defaults to 20 metres |
| global.unmute | command | — | Removes the chat mute from the specified connected player, allowing them to send messages again |
| global.updatemanifest | command | — | Immediately update the manifest |
| global.updatenetworkpositionwithdebugcamerawhilespectating | convar | False | When 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 |
| global.upgrade_looking | command | — | <grade> |
| global.upgrade_radius | command | — | upgrade_radius 'grade' 'radius' |
| global.users | command | — | Show user info for players on server. |
| global.usersinrange | command | — | Show user info for players on server in range of the player. |
| global.usersinrangeofplayer | command | — | Show user info for players on server in range of the supplied player (eg. Jim 50) |
| global.version | command | — | Prints the current game version string to the console, including build number and branch |
| graphics.af | convar | 1 | Anisotropic filtering level 1-16; higher values improve texture sharpness at oblique angles at a minor GPU cost; 1 = disabled |
| graphics.branding | convar | True | When enabled, shows the Facepunch/Rust branding watermark on screen |
| graphics.chat | convar | True | When enabled, the chat window is displayed; also gated by global.canChat |
| graphics.compass | convar | 1 | Compass display mode: 0 = hidden, 1 = always visible, 2 = visible whilst Compass keybind is held, 3 = visible when Compass keybind is toggled |
| graphics.contactshadows | convar | False | When enabled, renders screen-space contact shadows to add fine-detail shadows at object contact points not covered by shadow maps |
| graphics.detailed_postprocessing_profiling | convar | False | When enabled, outputs detailed per-pass profiling data for the post-processing stack to the profiler; useful for identifying expensive post-processing passes |
| graphics.dof | convar | False | When enabled, activates the depth-of-field post-processing effect, blurring objects outside the focal distance |
| graphics.dof_aper | convar | 12 | Depth-of-field aperture (f-stop); lower values produce a shallower depth of field with more background blur |
| graphics.dof_barrel | convar | 0 | Admin/cinematic: barrel distortion amount applied to the depth-of-field effect |
| graphics.dof_blur | convar | 1 | Depth-of-field blur intensity multiplier; higher values produce a stronger blur on out-of-focus areas |
| graphics.dof_debug | convar | False | Admin/cinematic: when enabled, draws a debug overlay showing the depth buffer and circle of confusion for DoF tuning |
| graphics.dof_focus_dist | convar | 10 | distance from camera to focus on |
| graphics.dof_focus_target | command | — | Sets a player or entity as the live depth-of-field focus target by name/entity ID; the DoF focus distance tracks the target while set |
| graphics.dof_focus_time | convar | 0.2 | Time in seconds for the depth-of-field focus distance to lerp to a new target when auto or dynamic mode is active |
| graphics.dof_kernel_count | convar | 0 | Goes from 0 - 3, higher = more dof samples but slower perf |
| graphics.dof_mode | convar | 0 | 0 = auto 1 = manual 2 = dynamic based on target |
| graphics.dof_nudge | command | — | Adjusts the current manual depth-of-field focus distance by the given amount in metres; negative values bring focus closer |
| graphics.dof_squeeze | convar | 0 | Admin/cinematic: anamorphic squeeze factor applied to DoF bokeh shapes; 0 = circular, positive values = oval/anamorphic |
| graphics.drawdistance | convar | 2500 | Maximum camera draw distance in metres; objects beyond this distance are culled; lower values improve GPU performance at the cost of view distance |
| graphics.fov | convar | — | Camera field of view in degrees, clamped between 70 and 90; higher values provide a wider view but can cause edge distortion |
| graphics.grassshadowsenabled | convar | False | Developer-only: when enabled, grass geometry casts shadows; disabled by default due to performance cost on GPU shadow rendering |
| graphics.hud | convar | True | When enabled, the in-game HUD is visible; disable to hide all HUD elements (health bar, hotbar, etc.) for screenshots |
| graphics.itemskins | convar | — | When enabled, Steam Workshop skins are applied to items; disable to revert all items to default appearance |
| graphics.itemskintimeout | convar | — | Timeout in seconds before a workshop skin download is considered failed and abandoned |
| graphics.itemskinunload | convar | — | When enabled, unreferenced workshop skin assets are unloaded from memory after the unload delay elapses |
| graphics.itemskinunloaddelay | convar | — | The time in seconds before a unreferenced skin is unloaded. |
| graphics.lodbias | convar | — | Global multiplier for the LOD's switching distance. A larger value leads to a longer view distance before a lower resolution LOD is picked. |
| graphics.parallax | convar | 0 | Terrain parallax mapping mode: 0 = off, 1 = parallax offset, 2 = parallax occlusion; higher modes improve terrain depth at GPU cost |
| graphics.shadowfilterquality | convar | 1 | Developer-only: shadow PCF filtering quality 0-3; higher values use more shadow map samples for softer edges; also updates shadowmode and shader keywords |
| graphics.shadowlights | convar | 1 | Maximum number of lights that can cast real-time shadows simultaneously; clamped to a minimum of 1; higher values improve shadow coverage at GPU cost |
| graphics.shadowmode | convar | 2 | Shadow quality mode: 1 = hard, 2 = soft (PCF), 3 = high quality (PCSS), 4 = very high quality; higher modes are more expensive |
| graphics.uiscale | convar | 1 | UI scale multiplier clamped between 0.5 and 1.0; lower values shrink all UI elements to fit more on screen |
| graphics.vm_fov_scale | convar | True | Whether to scale vm models with fov |
| graphics.vm_horizontal_flip | convar | False | FLips viewmodels horizontally (for left handed players) |
| graphics.vsync | convar | — | Represents the number of vertical syncs that should pass between each frame. An integer in the range of 0-4. |
| graphicssettings.anisotropicfiltering | convar | — | Global anisotropic filtering mode. 0-2. Disabled, enabled per-texture, force-enabled for all textures. |
| graphicssettings.billboardsfacecameraposition | convar | — | If enabled, billboards will face towards camera position rather than camera orientation. |
| graphicssettings.enablelodcrossfade | convar | — | Enables or disables LOD Cross Fade. |
| graphicssettings.globaltexturemipmaplimit | convar | — | Indicates how many of the highest-resolution mips of each texture Unity does not upload at the given quality level. |
| graphicssettings.numshadowcascades | convar | — | Number of cascades to use for directional light shadows. 1 = None, 2 = Two, 4 = Four |
| graphicssettings.particleraycastbudget | convar | — | Budget for how many ray casts can be performed per frame for approximate collision testing. |
| graphicssettings.pixellightcount | convar | — | The maximum number of pixel lights that should affect any object. |
| graphicssettings.shadowdistance | convar | — | Shadow drawing distance |
| graphicssettings.shadowmapresolution | convar | — | The default resolution of shadow maps. 0 = Low, 1 = Medium, 2 = High, 3 = Very High |
| graphicssettings.shadowqualitypreset | convar | 3 | The preset that determines all shadow settings. Low for performance, Max for the best visuals. |
| graphicssettings.softparticles | convar | — | Should soft blending be used for particles? |
| growableentity.framebudgetms | convar | 0.25 | How many miliseconds to budget for processing growable quality updates per frame |
| growableentity.growall | command | — | Server admin: forces all growable entities within 6m of the calling player to advance to their next growth stage instantly |
| growableentity.killall | command | — | Server admin: kills all growable entities within 6m of the calling player, removing them from the planter |
| guntrap.gun_trap_budget_ms | convar | 0.5 | How many milliseconds to spend on target scanning per frame |
| hackablelockedcrate.decayseconds | convar | 7200 | How many seconds until the crate is destroyed without any hack attempts |
| hackablelockedcrate.requiredhackseconds | convar | 900 | How many seconds for the crate to unlock |
| halloween.enabled | convar | False | Enables the Halloween event on the server, activating Halloween-themed loot spawns, NPC variants, and event-specific mechanics |
| halloween.murdererpopulation | convar | 0 | Population active on the server, per square km |
| halloween.scarecrow_beancan_vs_player_dmg_modifier | convar | 0.1 | Modified damage from beancan explosion vs players (Default: 0.1). |
| halloween.scarecrow_body_dmg_modifier | convar | 0.25 | Modifier to how much damage scarecrows take to the body. (Default: 0.25) |
| halloween.scarecrow_chase_stopping_distance | convar | 0.5 | Stopping distance for destinations set while chasing a target (Default: 0.5) |
| halloween.scarecrow_throw_beancan_global_delay | convar | 8 | The delay globally on a server between each time a scarecrow throws a beancan (Default: 8 seconds). |
| halloween.scarecrowpopulation | convar | 0 | Population active on the server, per square km |
| halloween.scarecrows_throw_beancans | convar | True | Scarecrows can throw beancans (Default: true). |
| halloweendungeon.lifetime | convar | 600 | How long each active dungeon should last before dying |
| halloweendungeon.population | convar | 0 | Population active on the server |
| handcuffs.maxconditionrepairlossonpush | convar | 0.4 | Maximum handcuff condition loss fraction applied per push attempt; at 0.4 the cuffs lose up to 40% condition per escape push |
| handcuffs.restrainedpushdamage | convar | 5 | Damage dealt to a restrained (handcuffed) player when they attempt to push or escape; default 5 |
| handcuffs.togglecuffslocked | command | — | Toggles the locked state of the handcuffs held by the calling admin player, switching between locked and unlocked |
| harmony.load | command | — | Loads and applies a Harmony patch assembly by file name, enabling server-side code patching without restarting |
| harmony.unload | command | — | Unloads a previously loaded Harmony patch assembly by file name, reverting any code modifications it applied |
| hbhfsensor.debugdraw | convar | — | When enabled, broadcasts debug drawing for HBHFSensor visibility checks (eye position, forward, range, per-player LOS rays). |
| heli.bulletaccuracy | convar | 2 | Cone angle in degrees of the patrol helicopter gun spread; higher values make the helicopter less accurate |
| heli.bulletdamagescale | convar | 1 | Multiplier applied to all bullet damage dealt by the patrol helicopter; 1.0 = normal, 2.0 = double damage |
| heli.call | command | — | Spawns and sends a patrol helicopter to the specified player or position, using the same logic as calltome but targeting another player |
| heli.calltome | command | — | Orders the active patrol helicopter to fly to the calling admin position and attack there |
| heli.death | command | — | Forces the active patrol helicopter to die immediately, triggering its death explosion and crash sequence |
| heli.drop | command | — | Spawns a patrol helicopter at the calling admin position, bypassing the normal random spawn logic; primarily used for testing |
| heli.flee | command | — | Orders the active patrol helicopter to immediately flee to a random distant location and disengage |
| heli.guns | convar | 1 | Number of gun hardpoints active on the patrol helicopter; set to 0 to disable its guns without despawning it |
| heli.lifetimeminutes | convar | 30 | How many minutes the patrol helicopter stays airborne before self-destructing; default is 30 minutes |
| heli.move | command | — | Moves the active patrol helicopter to the calling admin current position without entering combat mode |
| heli.orbit | command | — | Orders the active patrol helicopter to orbit around the calling admin current position |
| heli.orbitstrafe | command | — | Orders the active patrol helicopter to orbit and strafe the calling admin position simultaneously |
| heli.patrol | command | — | Orders the active patrol helicopter to resume normal patrol mode, following its randomised waypoint path across the map |
| heli.strafe | command | — | Orders the active patrol helicopter to perform a strafing run on the calling admin current position |
| heli.testpuzzle | command | — | Triggers the helicopter puzzle sequence (approach, puzzle activation, reward) for testing the helicopter monument puzzle |
| hexagongridgenerator.generategrid | command | — | <gridSize> 5 <tileSpacing> 1.35 |
| hierarchy.cd | command | — | Changes the current hierarchy context to the named child GameObject, similar to the Unix cd command; allows drilling into nested scene objects |
| hierarchy.del | command | — | Deletes the named GameObject from the scene hierarchy; use with caution as this permanently removes the object |
| hierarchy.ls | command | — | Lists all GameObjects in the current hierarchy context, similar to the Unix ls command; used for navigating the scene hierarchy from the console |
| hotairballoon.minimumaltitudeterrain | convar | 25 | |
| hotairballoon.outsidedecayminutes | convar | 180 | How long before a HAB loses all its health while outside |
| hotairballoon.population | convar | 1 | Population active on the server |
| hotairballoon.serviceceiling | convar | 175 | |
| inventory.addownership | command | — | Add ownership to item |
| inventory.clearinventory | command | — | Clears the inventory of a target player. eg. inventory.clearInventory jim. Can take container names as arguments: --belt --wear --backpack |
| inventory.convertownership | command | — | Reduce ownership to item to allow new ownership to be added |
| inventory.copyto | command | — | Copies the players inventory to the player in front of them |
| inventory.defs | command | — | Prints the names of all Steam inventory item definitions currently loaded from the Steam backend; useful for verifying skin/item definition state |
| inventory.deleteloadout | command | — | Deletes a named admin loadout file from the server; requires admin or developer permissions; loadout name is passed as the first argument |
| inventory.deployloadout | command | — | Deploys the given loadout to a target player. eg. inventory.deployLoadout testloadout jim |
| inventory.deployloadoutinrange | command | — | Deploys a loadout to players in a radius eg. inventory.deployLoadoutInRange testloadout 30 |
| inventory.disableattirelimitations | convar | — | Disables all attire limitations, so NPC clothing and invalid overlaps can be equipped |
| inventory.endloot | command | — | |
| inventory.equipslot | command | — | Equips the belt/hotbar item at the given slot index for the calling admin or a named target player; requires admin or developer permissions |
| inventory.equipslottarget | command | — | Equips the belt/hotbar slot at the given index for the player the admin is currently looking at; requires admin or developer permissions |
| inventory.give | command | — | {item} {amount} {condition} {skin} {container} {slot} |
| inventory.giveall | command | — | Gives the specified item (by partial name) to every currently connected player on the server; broadcasts who issued the command in chat |
| inventory.givearm | command | — | {itemid} {amount} |
| inventory.givebp | command | — | Gives the calling player a blueprint item for the specified item (by partial name); broadcasts the gift in chat unless the recipient is a developer |
| inventory.giveequip | command | — | {item} |
| inventory.giveid | command | — | {itemid} {amount} |
| inventory.giveto | command | — | {item} {player} {amount} {skin} |
| inventory.lighttoggle | command | — | |
| inventory.listloadouts | command | — | Prints all saved inventory loadouts |
| inventory.loadoutui_requestloadoutlist | command | — | Reads the list of saved admin loadouts from disk and sends it to the requesting player's client as a JSON array for display in the loadout UI |
| inventory.pipetteid | command | — | Checks whether the calling player has the specified item ID with the given skin ID in their inventory; used to validate pipette/skin matching server-side |
| inventory.reduceownership | command | — | Reduce ownership to item to allow new ownership to be added |
| inventory.reloaddefs | command | — | Forces a reload of all Steam inventory item definitions from the Steam backend; use if definitions appear stale or missing after a store update |
| inventory.resetbp | command | — | Resets all blueprints for the specified player (by name/Steam ID) back to the default unlocked set, removing any learned recipes |
| inventory.saveloadout | command | — | Saves the current equipped loadout of the calling player. eg. inventory.saveLoadout loaduoutname |
| inventory.set_item_image | command | — | Sets the custom icon image ID on the item currently held by the calling player; the image ID refers to a server-side stored image used for custom item icons |
| inventory.setwornarmorslots | command | — | Set worn items to have maximum armor slots supported |
| inventory.stackable_item_ownership | convar | — | When enabled, ownership tracking is applied to stackable items; disabled by default due to performance cost; servers can enable for full ownership auditing |
| inventory.unlockall | command | — | Unlocks every craftable blueprint for the specified player (by name/Steam ID), giving them access to all recipes immediately |
| ioentity.allow_on_boats | convar | True | Allows the deployment and usage of IO entities on player boats and tugboats. |
| ioentity.backtracking | convar | 8 | Number of IO update passes allowed to back-track and re-process changed entities each tick; higher values improve signal propagation speed |
| ioentity.debugbudget | convar | False | Print out what is taking so long in the IO frame budget |
| ioentity.debugbudgetthreshold | convar | 2 | Ignore frames with a lower ms than this while debugBudget is active |
| ioentity.debugqueue | command | — | Prints the current state of all IO entity processing queues showing queue type and pending entity counts; admin-only |
| ioentity.framebudgetelectrichighpriorityms | convar | 1 | How many milliseconds to budget for processing high priority electric io entities per server frame (monuments) |
| ioentity.framebudgetelectriclowpriorityms | convar | 0.5 | How many milliseconds to budget for processing low priority io entities per server frame (player placed) |
| ioentity.framebudgetfluidms | convar | 0.25 | How many milliseconds to budget for processing fluid io entities per server frame |
| ioentity.framebudgetgenericms | convar | 1 | How many milliseconds to budget for processing generic io entities per server frame (unused for now) |
| ioentity.framebudgetindustrialms | convar | 0.25 | How many milliseconds to budget for processing industrial entities per server frame |
| ioentity.framebudgetkineticms | convar | 1 | How many milliseconds to budget for processing kinetic io entities per server frame (monuments) |
| ioentity.infiniteiopower | convar | False | All player placed electrical entities will receive full power without needing to be plugged into anything |
| ioentity.responsetime | convar | 0.1 | Minimum interval in seconds between IO entity logic updates; controls how quickly electrical signals propagate through the network |
| itemmanager.enablepooling | convar | True | When enabled, ItemManager uses object pooling for item instances to reduce GC allocations from frequent item creation and destruction |
| itemmodentity.playeronlyentitybeltonly | convar | True | Player-only item entities (eg. the deployable planner) are only created in the belt instead of the whole player inventory |
| jellyfish.population | convar | 2 | Population active on the server, per square km |
| junkpile.destroyifspawnonsleepingbag | convar | True | |
| junkpile.destroyifspawnonsleepingbagdistance | convar | 3 | |
| junkpile.destroyifspawnonsleepingbagtime | convar | 4 | |
| junkpilewater.destroyablebyplayerboats | convar | True | |
| junkpilewater.framebudgetms | convar | 0.05 | How many milliseconds to budget for processing junk pile updates per frame |
| junkpilewater.minimumplayerboatmasstobedestroyed | convar | 2000 | |
| junkpilewater.minimumplayerboatvelocitytobedestroyed | convar | 5 | |
| legacyshelter.max_shelters | convar | 1 | |
| livestock.agescale | convar | 1 | Multiplier applied to how long a livestock infant takes to grow up; 0.5 = grow up twice as fast, 0 = disable aging entirely |
| livestock.ageup | command | — | Immediately grows the nearest livestock infant into its adult stage. Optional search radius in metres (default 20). |
| livestock.allowmounting | convar | True | Whether livestock can be mounted into vehicle flatbeds |
| livestock.breedcooldown | convar | 600 | How 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.breedingenabled | convar | True | Whether livestock look for a mate on their own; disabling it leaves livestock.makepregnant working |
| livestock.breedingfloorperhead | convar | 8 | Floor in square metres each head needs in a pen to breed and to have full personal space. A 2x2 of foundations floods about 27, so it houses three |
| livestock.breedpausecondition | convar | 0.6 | Condition at or below which a livestock animal stops being willing to breed |
| livestock.breedresumecondition | convar | 0.7 | Condition at or above which a livestock animal that stopped breeding is willing again |
| livestock.breedsearchradius | convar | 30 | How far (in metres) a male livestock animal looks for a mate |
| livestock.calmedtrustfloor | convar | 60 | The seconds a livestock animal credits to a player under a livestock handling effect; kept inside the tolerated band on purpose |
| livestock.calvingcooldownscale | convar | 1 | Scales how long a mother waits after calving before she can carry again. 1 is one calf grown up per birth |
| livestock.census | command | — | Counts the livestock population and what it has produced. Optional radius in metres around the caller (default 0, the whole map). |
| livestock.censusreset | command | — | Zeroes the livestock census running totals and the profiler, so the next reading covers only what happens from now. |
| livestock.completepregnancy | command | — | Makes the nearest pregnant livestock animal give birth now, without waiting out the rest of its pregnancy. Optional search radius in metres (default 20). |
| livestock.conditionfallseconds | convar | 3600 | How many seconds a totally neglected livestock animal takes to fall from full health to 1 hp, or to dead when it has no personal space left |
| livestock.conditionfullcontentment | convar | 1 | Contentment at which a livestock animal is in full condition; below it the condition target falls in proportion, so a herd held at the shelter floor sits at half condition |
| livestock.conditionriseseconds | convar | 3600 | How many seconds a well kept livestock animal takes to heal from nothing back to full health |
| livestock.cullexcess | command | — | Kills livestock past livestock.maxPerSpecies, cattle and sheep counted apart: unowned animals first, then owned ones, the worst kept and worst bred first in each. An optional head count culls down to that instead. |
| livestock.curiousbreakdistance | convar | 20 | How far (in metres) a player can get before a curious livestock animal gives up following them |
| livestock.curiouschance | convar | 0.2 | The share of livestock born curious, so they follow a player they know without needing a lead; 0 disables curious animals |
| livestock.debugcondition | convar | False | Adds the condition and its breeding band to a livestock animal's ai.showState read-out |
| livestock.debugdaybudget | convar | False | Adds the day budget shares to a livestock animal's ai.showState read-out |
| livestock.debuggait | convar | False | Adds walk speed and gait penalty to a livestock animal's ai.showState read-out |
| livestock.debuggenes | convar | False | Adds an animal's genes to its ai.showState read-out |
| livestock.debugspecials | convar | False | Logs each special livestock animal as it spawns |
| livestock.defendreactiontime | convar | 5 | How 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.devnamechance | convar | 0 | The 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.drawherds | command | — | Toggles drawing the free range herds within livestock.drawRadius of you, each in its own colour: the whole herd the count links through livestock.freeRangeLinkRadius, past the cap, joined by its shortest set of lines, and its size against livestock.maxFreeRangeHerd with how many of it are not owned. Pass 1 or 0 to set it instead. |
| livestock.drawpens | command | — | Toggles drawing every livestock pen within livestock.drawRadius of you, each in its own colour: its border, a marker on each animal on it and each trough and water container it keeps, and what it houses. Pass 1 or 0 to set it instead. |
| livestock.drawradius | convar | 60 | How far (in metres) around you livestock.drawpens and livestock.drawherds draw |
| livestock.dung | command | — | Makes the nearest livestock animal drop dung now, without waiting for its timer. Optional search radius in metres (default 20). |
| livestock.dungconditionfloor | convar | 0.15 | Condition below which a livestock animal stops dunging at all. A starving animal never dungs whatever this says |
| livestock.dungconditionfull | convar | 0.8 | Condition at or above which a livestock animal dungs at its full authored rate |
| livestock.dungslowestscale | convar | 3 | How much longer a livestock animal at the condition floor waits between dung drops than one in its prime |
| livestock.dynasticnames | convar | True | Whether 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.emptyfullness | command | — | Empties the nearest livestock animal's fullness, so it goes looking for food. Optional search radius in metres (default 20). |
| livestock.emptyhydration | command | — | Empties the nearest livestock animal's hydration, so it goes looking for water. Optional search radius in metres (default 20). |
| livestock.estimatestandingshare | convar | 0.38 | The share of its waking day a livestock animal is assumed to spend on its feet when a trough's remaining time is estimated |
| livestock.familiaritydistresspenalty | convar | 30 | How many seconds of familiarity a player loses with the herd around an animal they hurt |
| livestock.familiarityhurtpenalty | convar | 60 | How many seconds of familiarity a player loses with a livestock animal they hurt |
| livestock.familiarityradius | convar | 20 | How 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.familiarityrate | convar | 1 | Multiplies how fast livestock familiarity builds up; 20 makes a five minute bond take fifteen seconds. For testing, leave at 1 for play |
| livestock.fillfullness | command | — | Fills the nearest livestock animal's fullness, as if it had just eaten its fill. Optional search radius in metres (default 20). |
| livestock.fillhydration | command | — | Fills the nearest livestock animal's hydration, as if it had just drunk its fill. Optional search radius in metres (default 20). |
| livestock.forcebreed | command | — | Sends the nearest male livestock animal to mate with the nearest valid female, skipping the mate search. Optional search radius in metres (default 20). |
| livestock.freerangelinkradius | convar | 40 | How far (in metres) apart two livestock animals out of a pen can stand and still be linked into one free range herd for livestock.maxFreeRangeHerd |
| livestock.friskythreshold | convar | 0.85 | How 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.genebadchance | convar | 0.3 | The chance each allele of a wild livestock animal is rolled Bad; the rest come out Ok |
| livestock.genedungbad | convar | 0.6 | How often a Bad Dung livestock animal drops dung, as a share of an average one |
| livestock.genedunggood | convar | 1.6 | How often a Good Dung livestock animal drops dung, as a multiple of an average one |
| livestock.genefertilitybad | convar | 0.65 | How often a Bad Fertility livestock animal breeds, as a share of an average one; litter size never falls below one |
| livestock.genefertilitygood | convar | 1.6 | How often a Good Fertility livestock animal breeds, and how many young it carries, as a multiple of an average one |
| livestock.genegoodchance | convar | 0.2 | The chance each allele of a wild livestock animal is rolled Good |
| livestock.genehardinessbad | convar | 0.667 | What an average animal's food, water, room, grass and sun needs are divided by for a Bad Hardiness livestock animal, so below 1 it needs more of everything |
| livestock.genehardinessgood | convar | 2 | What an average animal's food, water, room, grass and sun needs are divided by for a Good Hardiness livestock animal, so at 2 it gets by on half |
| livestock.genemutationchance | convar | 0 | The 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.genesenabled | convar | True | Whether livestock genes do anything; off makes every animal an average one without touching the genomes they carry |
| livestock.geneyieldbad | convar | 0.6 | How much milk or wool a Bad Yield livestock animal gives, as a share of an average one |
| livestock.geneyieldgood | convar | 1.6 | How much milk or wool a Good Yield livestock animal gives, as a multiple of an average one |
| livestock.grazehelpingmax | convar | 50 | The longest time (in seconds) a livestock animal of any species grazes in one helping, at a trough or on grass |
| livestock.grazehelpingmin | convar | 30 | The shortest time (in seconds) a livestock animal of any species grazes in one helping, at a trough or on grass |
| livestock.grudgeduration | convar | 45 | How 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.grudgerange | convar | 8 | How close (in metres) a remembered aggressor has to get before a wary livestock animal moves off |
| livestock.inbredscale | convar | 0.5 | What 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.leadbreakdistance | convar | 15 | How far (in metres) a player can get from an animal they are leading before the lead breaks. 0 never breaks it |
| livestock.lethalfloorperhead | convar | 4.5 | Floor in square metres per head at or below which a pen leaves livestock no personal space at all, which kills them. Half a foundation by default |
| livestock.makepregnant | command | — | Makes the nearest livestock animal pregnant. Obeys standard breeding rules. Optional search radius in metres (default 20). |
| livestock.maxfreerangeherd | convar | 5 | How many livestock animals of one species can share open ground, linked through any within livestock.freeRangeLinkRadius of each other, litters on the way counted at their largest, before none of them breeds, 0 never caps |
| livestock.maxlittersize | convar | 3 | The most young one livestock birth can ever produce, however good the mother's Fertility is |
| livestock.maxperspecies | convar | 300 | How 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.maxtrust | convar | 900 | The most seconds of trust a player can build with a livestock animal, which is the full bond: it defends you. Only its owner reaches it, see livestock.nonOwnerTrustShare |
| livestock.motherlyduration | convar | 300 | How 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.namelocale | convar | en | The language a livestock animal is named in when its first owner is offline or speaks a language the game has no names for |
| livestock.needsframetime | convar | 0.1 | Main thread time budget per frame in milliseconds for the livestock needs queue |
| livestock.nonownertrustshare | convar | 0.95 | The share of livestock.maxTrust a player can reach with an animal they do not own, kept short of 1 so only the owner has the full bond and is defended. At 1 anybody can |
| livestock.panelage | convar | True | Whether a farm animal's status panel says how long it has lived while owned |
| livestock.panelalleles | convar | False | Whether 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.paneldung | convar | False | Whether a farm animal's status panel shows how often it dungs, after its genes |
| livestock.panelgender | convar | True | Whether the male and female symbols are shown next to a farm animal's name on its status panel |
| livestock.panelgenes | convar | False | Whether the gene discs are shown on the livestock status panel, along with the inbred warning that explains them |
| livestock.panelpotential | convar | True | Whether a farm animal's status panel shows its potential, how content it was raised, which its sale price is multiplied by |
| livestock.paneltrust | convar | True | Whether a farm animal's status panel shows how much it trusts you, as one segment per band of the trust ladder |
| livestock.panelyield | convar | False | Whether the milk or wool row of a farm animal's status panel also says what it produces and how often, after its genes |
| livestock.potentialfallseconds | convar | 900 | How many seconds a totally unhappy young livestock animal takes to drop its potential from full to nothing |
| livestock.potentialriseseconds | convar | 600 | How many seconds a perfectly happy young livestock animal takes to raise its potential from nothing to full |
| livestock.potentialunbredcap | convar | 0 | The most potential a livestock animal with no mother can reach, from 0 to 1. Covers animals bought from a vendor, caught wild or spawned in |
| livestock.priceconditionfloor | convar | 0.15 | Condition at or below which a livestock animal sells for the least a vendor will pay |
| livestock.priceconditionfull | convar | 0.8 | Condition at or above which a livestock animal sells for the vendor's full price |
| livestock.pricefullqualityscale | convar | 1.5 | The livestock sale value that counts as full quality, which is a full budget for the vendor's sale table |
| livestock.pricegeneweight | convar | 1 | How 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.priceworstscale | convar | 0.4 | What a livestock animal at the condition floor sells for, as a share of the vendor's full price |
| livestock.profile | convar | — | Times how long livestock spend in their needs queue and FSM tick, for livestock.census. Off by default because the measurement itself costs |
| livestock.readytomilk | command | — | Adds one stored milking to the nearest cow now, up to the most it can hold, without waiting out its cooldown. Optional search radius in metres (default 20). |
| livestock.readytoshear | command | — | Makes the nearest sheep ready to shear now, without waiting out its cooldown. Optional search radius in metres (default 20). |
| livestock.remoteeatafter | convar | 60 | How long (in seconds) a hungry livestock animal fails to get a place at a stocked trough before it eats from it where it stands |
| livestock.remoteeatdistance | convar | 6 | How far (in metres) from a trough a livestock animal may stand to eat from it without a place of its own |
| livestock.rename | command | — | Renames the nearest livestock animal. Usage: livestock.rename <name> [radius], quoting a name that contains spaces, radius in metres (default 20) |
| livestock.sendhome | command | — | Moves the home of every livestock animal in range to where the caller is standing, so roam and the night gather aim here until it next eats at a trough. Optional radius in metres (default 30). |
| livestock.setcondition | command | — | Sets the condition of the livestock animal the caller is looking at, or the nearest one. Condition is the slow average that price, dung and willingness read. Usage: livestock.setcondition <0-1> [radius], radius in metres (default 20) |
| livestock.setcurious | command | — | Makes the nearest livestock animal curious or not, so it will follow a player it knows without a lead. Setting it clears sleepy. Usage: livestock.setcurious <0|1> [radius], radius in metres (default 20) |
| livestock.setfamiliarity | command | — | Sets how many seconds of familiarity the calling player has with the livestock animal they are looking at, or the nearest one. Usage: livestock.setfamiliarity <seconds> [radius], radius in metres (default 20) |
| livestock.setfamiliarityall | command | — | Sets how many seconds of familiarity the calling player has with every livestock animal in range. 0 resets them all. Usage: livestock.setfamiliarityall <seconds> [radius], radius in metres (default 30) |
| livestock.setgene | command | — | Sets both copies of one gene on the livestock animal you are looking at, or the nearest one, the better copy being the one that shows. Usage: livestock.setgene <Dung|Yield|Fertility|Hardiness> <firstAllele> <secondAllele> [radius], each allele Bad, Ok or Good |
| livestock.setinbred | command | — | Makes the livestock animal you are looking at, or the nearest one, inbred or not, by forcing its two lineage markers together or apart. Usage: livestock.setinbred <0|1> [radius] |
| livestock.setpotential | command | — | Sets the potential of the livestock animal the caller is looking at, or the nearest one, as if it was raised that content. Usage: livestock.setpotential <0-1> [radius], radius in metres (default 20) |
| livestock.setsleepy | command | — | Makes the nearest livestock animal sleepy or not, so once grown it spends most of the day lying down away from the herd. Setting it clears curious. Usage: livestock.setsleepy <0|1> [radius], radius in metres (default 20) |
| livestock.shelterneedfloor | convar | 0.5 | The least a livestock animal's grass and sun needs count for in its overall mood, so a floored or roofed barn herd is kept below full rather than at nothing. The needs themselves still read down to 0 |
| livestock.showcoat | command | — | Prints what the nearest livestock animal's coat is made of, which is its genes and, for a species with patches, the coat seed it was born with. Usage: livestock.showcoat [radius], radius in metres (default 20) |
| livestock.showgenes | command | — | Prints the genes of the livestock animal you are looking at, or the nearest one, both copies of each, plus its lineage markers. Optional search radius in metres as the first argument (default 20). |
| livestock.showhome | command | — | Draws an arrow from the livestock animal you are looking at, or the nearest one, to its home: the last trough it ate at, or where it started. Green when that is inside a base. Optional search radius in metres (default 20) and seconds to draw for (default 10). |
| livestock.sleepychance | convar | 0.2 | The share of livestock born sleepy, so once grown they spend most of the day lying down away from the herd. An animal is never curious and sleepy at once; 0 disables sleepy animals |
| livestock.spawnspecial | command | — | Spawns one of the named special livestock animals in front of you, skipping the rarity roll but obeying every other rule. Usage: livestock.spawnspecial <name> [species], species being needed only for an entry that fits more than one |
| livestock.specialchance | convar | 0.005 | The chance each wild livestock spawn is one of the named special animals; births, purchases, age-ups and saves never roll for one |
| livestock.specials | command | — | Lists the special livestock animals this server has already produced, and counts the rest without naming them |
| livestock.starvedsearchinterval | convar | 30 | How often (in seconds) a livestock animal lying down for want of food or water looks for some again |
| livestock.sunfullshare | convar | 0.5 | The share of a floor's sampled polys the sun must reach at some hour of a simulated day for the sun need to read full |
| livestock.sunresampleminutes | convar | 30 | How many minutes a floor keeps its sun verdict before it is measured again, for shade that arrives without a navmesh change |
| livestock.sunsamplehours | convar | 12 | How many sun positions between sunrise and sunset each sampled poly is tested against |
| livestock.sunsamplepolys | convar | 64 | How many of a floor's navmesh polys are sampled for sunlight when it is measured |
| livestock.swapgender | command | — | Swaps the gender of the nearest livestock animal. Optional search radius in metres (default 20). |
| livestock.trustfloor | convar | 60 | The seconds a livestock animal credits to its owner's team and to the cupboard authed and door code sharers of its home; kept inside the tolerated band on purpose |
| livestock.trusttofollow | convar | 5 | How many seconds near a livestock animal before a curious one follows you without a lead |
| livestock.trusttolead | convar | 300 | How many seconds near a livestock animal before it accepts being led, milked or sheared by you |
| livestock.trusttotolerate | convar | 30 | How many seconds near a livestock animal before a bull stops squaring up at you |
| livestock.vendorannoyedtime | convar | 900 | How many seconds a livestock vendor refuses to look at goods whose every offer was turned down |
| livestock.vendorgenerouschance | convar | 0.05 | The 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.vendorgenerousmax | convar | 0.25 | The most a generous livestock offer lifts an animal's quality by |
| livestock.vendorgenerousmin | convar | 0.1 | The least a generous livestock offer lifts an animal's quality by |
| livestock.vendorlowpotential | convar | 0.5 | Potential below which a livestock vendor opens his first offer by saying the animal was neglected growing up; 0 disables it |
| livestock.vendoroffercount | convar | 3 | How many offers a livestock vendor makes for one animal before he is annoyed and stops buying |
| livestock.vendorofferitems | convar | 2 | How many items a livestock vendor picks for one offer before paying the rest of its value in the sale table's fallback |
| livestock.vendoroffervariance | convar | 0.05 | How far a livestock vendor's offer can swing either side of what an animal is really worth |
| livestock.vendorwoollotsize | convar | 400 | How much wool counts as a full lot, which is a full budget for the vendor's wool table |
| livestock.vendorwoolminimum | convar | 25 | How much wool a player must be carrying before a livestock vendor will haggle over it at all |
| log.level | command | — | Sets the log verbosity level for a specific named RustLog channel; takes a channel name and optional level integer |
| lookattooltip.crosshairmode | convar | 0 | Changes the interaction crosshair visuals (0 = default, 1 = no texts, 2 = no texts and no icon) |
| manifest.printmanifest | command | — | Prints the Facepunch application manifest in a formatted summary showing app name, version, and platform details |
| manifest.printmanifestraw | command | — | Prints the raw contents of the Facepunch manifest file as an unformatted string |
| maplayerrenderer.debuglabs | convar | — | When enabled, draws debug visualisations on the map for underwater lab entrance locations and floor boundaries; admin-only |
| marchingcubesmanager.collidermiplevel | convar | 1 | [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.debuglog | convar | False | |
| marchingcubesmanager.generatorpoolcount | convar | 4 | [1-16] - each generator has constant memory overhead, but will allow more to process at once |
| megaphone.megaphonevoicerange | convar | 100 | |
| memsnap.full | command | — | Takes a full Unity Memory Profiler snapshot capturing all managed, native, and graphics memory and saves it as a timestamped .snap file in profile/memory/ |
| memsnap.managed | command | — | Takes a Unity Memory Profiler snapshot capturing managed (C#) heap allocations and saves it as a timestamped .snap file in the profile/memory/ folder |
| memsnap.native | command | — | Takes a Unity Memory Profiler snapshot capturing native (C++) heap allocations and saves it as a timestamped .snap file in the profile/memory/ folder |
| meshpaintable3d.brushscale | convar | 2 | Scale multiplier for the mesh paint brush size when painting on a 3D paintable surface |
| meshpaintable3d.uvbufferscale | convar | 2 | Scale multiplier for the UV buffer texture used when projecting paint onto a 3D surface; higher values improve paint resolution |
| meta.add | command | — | add <convar> <amount> - adds amount to convar |
| meta.exec | command | — | exec [command_1] ... - runs all of the commands passed as arguments (also, if the last argument is true/false then that will flow into each command's arguments) |
| meta.if_false | command | — | if_false <command> <condition> - runs a command if the condition is false |
| meta.if_true | command | — | if_true <command> <condition> - runs a command if the condition is true |
| meta.reset_cycle | command | — | reset_cycle <key> - resets a cycled bind to the beginning |
| metaldetectorflag.timeoutduration | convar | 10800 | |
| metaldetectorsource.attemptspersubsourcespawn | convar | 5 | |
| metaldetectorsource.draweditorgizmos | convar | False | |
| metaldetectorsource.mindistancebetweensubsources | convar | 1.5 | |
| metaldetectorsource.population | convar | 1200 | Population active on the server, per square km |
| metaldetectorsource.servercountsources | command | — | |
| metaldetectorsource.timeoutduration | convar | 7200 | |
| minicopter.population | convar | — | Population active on the server |
| mlrs.brokendownminutes | convar | 20 | How many minutes before the MLRS recovers from use and can be used again |
| moderation.ugc_upload | convar | — | Toggle whether player created content (signs, photos, paintings...) are uploaded for moderation |
| moderation.ugc_upload_debounce | convar | 120 | Seconds content waits before it is uploaded for moderation, saving the same content again restarts the wait |
| moderation.ugc_upload_frequency | convar | 4 | Seconds between checks of the moderation upload queue, at most one upload starts per check |
| moderation.ugc_upload_max_attempts | convar | 5 | Number of attempts at uploading content for moderation before giving up |
| moderation.ugc_upload_max_queue | convar | 1000 | Maximum content waiting to be uploaded for moderation, the oldest is dropped when full |
| moderation.ugc_upload_retry_cooldown | convar | 60 | Seconds to wait before retrying a failed moderation upload |
| moderation.ugc_upload_url | convar | https://api.facepunch.com/ugc/rust/upload | |
| modularcar.outsidedecayminutes | convar | 864 | How many minutes before a ModularCar loses all its health while outside |
| modularcar.population | convar | 3 | Population active on the server |
| monumentnavmesh.use_baked_terrain_mesh | convar | True | |
| mortar.debugdistanceui | convar | — | |
| motorrowboat.decaystartdelayminutes | convar | 45 | How long until decay begins after the boat was last used |
| motorrowboat.deepwaterdecayminutes | convar | 120 | How long before a boat loses all its health while in deep water |
| motorrowboat.outsidedecayminutes | convar | 180 | How long before a boat loses all its health while outside. If it's in deep water, deepwaterdecayminutes is used |
| motorrowboat.population | convar | 1 | Population active on the server |
| music.enabled | convar | True | Enables the in-game dynamic music system; disabling stops all background music tracks from playing |
| music.info | command | — | Prints the name of the currently playing music track and its playback position to the console |
| music.songgapmax | convar | 480 | Maximum seconds of silence between background music tracks; a random gap between songGapMin and songGapMax is chosen between songs |
| music.songgapmin | convar | 240 | Minimum seconds of silence between background music tracks; the game waits at least this long before starting the next song |
| nametags.enabled | convar | True | When enabled, player name tags are shown above other players; disable to hide all name tags on the client; saved between sessions |
| nametags.showindemos | convar | False | When enabled, name tags are also shown while watching a demo; demos hide name tags by default |
| navstress.bench | command | — | Run the full benchmark suite: args agentCount (default 200) |
| navstress.benchresults | command | — | Print the last benchmark results |
| navstress.build_env | command | — | Build the synthetic stress field: args centerX centerZ halfExtent (defaults -140 140 50) |
| navstress.chase | command | — | Chase a sliding virtual target: args targetSpeed setDestinationHz |
| navstress.clear | command | — | Despawn dummies and remove the field |
| navstress.envreport | command | — | Print the last environment build report |
| navstress.idle | command | — | Stop giving destinations and reset paths |
| navstress.killforeign | command | — | Kill every NPC with a RustNavMeshAgent that is not a navstress dummy |
| navstress.rebuildstorm | command | — | Async tile rebuilds under the field: args rebuildsPerSecond (0 stops) |
| navstress.refcompare | command | — | Replay the scenario and compare against a recording: args name |
| navstress.refrecord | command | — | Record the reference trajectory scenario: args name |
| navstress.refresults | command | — | Print the last refpath result |
| navstress.setmode | command | — | Flip all dummies between steering and normal mode without respawning |
| navstress.spawn | command | — | Spawn stripped wolves: args count mode(steering|normal) canSwim canOpenDoors |
| navstress.stats | command | — | Print and reset tick statistics |
| navstress.wander | command | — | Random destinations forever: args intervalSeconds unreachableFraction |
| net.debug | convar | False | Enables verbose client-side network debug logging, printing all incoming and outgoing message types and their byte sizes |
| net.global_network_debug | convar | False | Toggle printing time taken to send all global entities to client when they connect |
| net.global_networked_bases | convar | True | When 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_broadcast | convar | True | (default) true = only broadcast to clients with global networking enabled, false = broadcast to every client regardless |
| net.network_group_debug | convar | False | Toggle checking network group bounds whenever an entity changes its network group |
| net.position_lod | convar | 0 | Sends entity positions less often to players further away: every 0.2s past 128m, every 0.4s past 192m. 0 = off, 1 = grid entities, 2 = grid and global entities |
| net.position_lod_players | convar | 0 | Network LOD for player positions. 0 = off, 1 = full rate out to 192m then every 0.4s, 2 = same as entities |
| net.visdebug | convar | False | When enabled, logs network visibility group changes to the server console, showing when entities enter or leave a player visibility radius |
| net.visibilityradiusdeepsea | convar | 10 | Network visibility radius in grid cells used in the deep-sea zone; kept smaller than overworld to limit underwater entity update overhead |
| net.visibilityradiusfaroverride | convar | -1 | Overrides the far network visibility radius in grid cells; -1 = use default; increase to send more distant entity updates to clients |
| net.visibilityradiusnearoverride | convar | -1 | Overrides the near (high-priority) network visibility radius in grid cells; -1 = use default |
| networkprofiler.packet_capture | command | — | networkprofiler.packet_capture [max size(in MB), min(1), max(10000), float] [max duration(in seconds), min(1), max(3600), float] |
| networkprofiler.packet_capture_rust_relay | convar | — | Include packets sent to the Rust Relay player in packet captures |
| networkprofiler.serverprofile | command | — | networkprofiler.serverprofile [time to profile(in seconds), min(0.1), max(1000), float] |
| networkprofiler.stop_packet_capture | command | — | networkprofiler.stop_packet_capture - ends the running packet capture early |
| nexus.broadcast_ping | command | — | Sends a ping to all Nexus servers in the cluster simultaneously and prints individual round-trip times |
| nexus.clanclatbatchduration | convar | 1 | Maximum duration in seconds to batch clan chat messages to send to other servers on the nexus |
| nexus.defaultzonecontactradius | convar | 0.33 | Default distance between zones to allow boat travel, if map.contactRadius isn't set in the nexus (uses normalized coordinates) |
| nexus.endpoint | convar | https://gw.facepunch.com/nexus/ | URL endpoint to use for the Nexus API |
| nexus.hidefullislands | convar | False | Hide islands that we know are full, preventing players from being transferred to them |
| nexus.islandspawndistance | convar | 1.5 | How far away islands should be spawned, as a factor of the map size |
| nexus.loadingtimeout | convar | 900 | Time in seconds to keep players in the loading state before going to sleep |
| nexus.logging | convar | True | When enabled, logs all Nexus zone transfer and communication events to the server console; useful for debugging cross-server player transfers |
| nexus.mapimagescale | convar | 0.5 | Scale of the map to render and upload to the nexus |
| nexus.messagelockduration | convar | 5 | Time in seconds to allow the server to process nexus messages before re-sending (requires restart) |
| nexus.ping | command | — | Sends a ping to a specific Nexus server by name and prints the round-trip latency; used for testing inter-server connectivity |
| nexus.pinginterval | convar | 30 | Time in seconds to wait between server status pings |
| nexus.playermanifestinterval | convar | 30 | Interval in seconds to broadcast the player manifest to other servers on the nexus |
| nexus.playeronline | command | — | Checks whether the named or Steam-ID-specified player is currently online on any server in the Nexus cluster |
| nexus.protectionduration | convar | 300 | Maximum time in seconds to keep transfer protection enabled on entities |
| nexus.refreshislands | command | — | Forces a refresh of the Nexus island layout, re-querying the zone controller for current island assignments |
| nexus.rpctimeoutmultiplier | convar | 1 | Multiplier for nexus RPC timeout durations in case we expect different latencies |
| nexus.secretkey | convar | | Shared secret key used to authenticate Nexus inter-server communication; must match across all servers in the same Nexus cluster |
| nexus.timeoffset | convar | 0 | Time offset in hours from the nexus clock |
| nexus.transfer | command | — | Initiates a Nexus transfer of the specified player to a named destination server or zone in the cluster |
| nexus.transferflushtime | convar | 60 | Maximum amount of time in seconds that transfers should be cached before auto-saving |
| nexus.uploadmap | command | — | Reupload the map image to the nexus. Normally happens automatically at server boot. WARNING: This will lag the server! |
| nexus.zonecontroller | convar | basic | Name of the zone controller implementation used for this Nexus server (e.g. basic, advanced); controls how players are routed between servers |
| nobuildzonematerialcontroller.setheight | command | — | [0.0-10] |
| nobuildzonematerialcontroller.setstrengthday | command | — | [0.0-1.0] |
| nobuildzonematerialcontroller.setstrengthnight | command | — | [0.0-1.0] |
| note.update | command | — | |
| npc.vendor_attack_heli_enabled | convar | True | |
| npc.vendor_hab_enabled | convar | True | |
| npc.vendor_minicopter_enabled | convar | True | |
| npc.vendor_rhib_enabled | convar | True | |
| npc.vendor_rowboat_enabled | convar | True | |
| npc.vendor_scrap_heli_enabled | convar | True | |
| npc.vendor_sub_duo_enabled | convar | True | |
| npc.vendor_sub_solo_enabled | convar | True | |
| npcanimcontroller.lookinterpspeed | convar | 3 | |
| npcanimcontroller.spineinterpspeed | convar | 3 | |
| npcautoturret.forcedamageblockedsleepers | convar | True | If an npc turret is firing at a sleeping player and the player is blocked, still apply damage |
| npcautoturret.sleeperhostiledelay | convar | 1200 | How many seconds until a sleeping player is considered hostile |
| npcvendingmachine.addhours | command | — | Simulates the provided number of hours passing in the vending machine system |
| npcvendingmachine.dynamicpricingenabled | convar | True | Whether to run the the dynamic pricing system |
| npcvendingmachine.maximumpricemultiplier | convar | 2 | The maximum point that a price can increase to (2 = 200%) |
| npcvendingmachine.minimumpricemultiplier | convar | 0.5 | The Minimum point that the price can drop to (0.5 = 50% off) |
| npcvendingmachine.pricedecreaseamount | convar | 0.05 | How much to decrease the price for if it is underselling (0.05 = 5%) |
| npcvendingmachine.priceincreaseamount | convar | 0.1 | How much to increase the price by if it is selling a lot (0.05 = 5%) |
| npcvendingmachine.priceupdatefrequencybiweekly | convar | 2 | How many realtime hours are checked when looking for price increases. Max 72 (10 days), min 0.5 (half an hour) |
| npcvendingmachine.priceupdatefrequencydefault | convar | 3 | How many realtime hours are checked when looking for price increases. Max 72 (10 days), min 0.5 (half an hour) |
| npcvendingmachine.priceupdatefrequencyweekly | convar | 1 | How many realtime hours are checked when looking for price increases. Max 72 (10 days), min 0.5 (half an hour) |
| npcvendingmachine.printallpricechanges | command | — | Print out all current price changes on the server |
| npcvendingmachine.resetdynamicpricing | command | — | Resets the state of all discounts and surcharges from NPC vending machines |
| npcvendingmachine.resetfrequencytags | command | — | |
| npcvendingmachine.startingpricemultiplier | convar | 2 | What discount surcharge should be applied to items when the server starts |
| panther.population | convar | 0.5 | Population active on the server, per square km |
| parachute.bypassrepack | convar | False | |
| parachute.landinganimations | convar | False | |
| party.maxpartyspawnattempts | convar | 50 | Maximum 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.maxpartyspawndistance | convar | 100 | Maximum distance in metres between party member spawn points when spawning a group together on wake-up |
| party.nearbypartyspawns | convar | True | When enabled, party members respawn near each other rather than at random map locations when joining a server together |
| patrolhelicopterai.dumpstate | command | — | Dumps the current patrol helicopter AI state to the console including state machine, targets, orbit state, and retire status |
| patrolhelicopterai.flee_damage_percentage | convar | 0.35 | Fraction of maximum health at which the patrol helicopter will break off its attack and flee; default 0.35 (35%) |
| patrolhelicopterai.monument_crash | convar | True | When enabled, the patrol helicopter prefers to crash into a monument area when destroyed rather than crashing in open terrain |
| patrolhelicopterai.use_danger_zones | convar | True | When enabled, the patrol helicopter avoids designated danger zones during its patrol route |
| petbrain.controldistance | convar | 100 | |
| petbrain.drownindeepwater | convar | True | |
| petbrain.drowntimer | convar | 15 | |
| petbrain.idlewhenownermounted | convar | True | |
| petbrain.idlewhenownerofflineordead | convar | True | |
| physics.allowhorsetempragdoll | convar | True | When enabled, horses can be temporarily ragdolled by large physics impacts; disabling keeps horses upright during collisions |
| physics.allowplayertempragdoll | convar | True | When enabled, players can be temporarily ragdolled by large physics impacts (e.g. explosions) before recovering; disabling keeps players standing |
| physics.autosynctransforms | convar | — | When enabled, Unity Physics auto-syncs transform changes to physics each frame; disable to manually control when transforms sync |
| physics.batchsynctransforms | convar | True | When enabled, physics transform syncs are batched per frame for efficiency; disable to force immediate per-object sync |
| physics.bouncethreshold | convar | — | Minimum relative velocity at which a physics collision generates a bounce response; lower values cause more objects to bounce on light impacts |
| physics.droppedmode | convar | 2 | The collision detection mode that dropped items and corpses should use |
| physics.getbounds | command | — | Prints the combined world-space bounding box of the entity the calling admin is looking at; useful for verifying collider extents |
| physics.gravity | convar | 1.0 | Gravity multiplier |
| physics.groundwatchdebug | convar | False | When enabled, logs ground-watch trigger events to the console, showing when players are detected as off the ground or falling through the world |
| physics.groundwatchdelay | convar | 0.1 | Seconds between ground-watch checks on a player; lower values detect world-fall issues faster but increase CPU overhead |
| physics.groundwatchfails | convar | 1 | Number of consecutive ground-watch failures allowed before corrective action is taken on a player who appears to be falling through geometry |
| physics.print_colliders_per_cell | command | — | Prints a sorted table of physics cells and how many colliders each contains; helps identify areas with excessive collider density causing physics slowdowns |
| physics.print_colliders_per_prefab | command | — | Prints a sorted table of prefab names and their collider counts; identifies prefabs with unusually high collider counts for optimisation |
| physics.sendeffects | convar | True | Send effects to clients when physics objects collide |
| physics.serverragdollmode | convar | 3 | The collision detection mode that server-side ragdolls should use |
| physics.serversideragdolls | convar | False | Do ragdoll physics calculations on the server, or use the old client-side system |
| physics.setbounds | command | — | (center vec3) (extents vec3) |
| physics.sleepthreshold | convar | — | Energy 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.solveriterationcount | convar | — | The default solver iteration count permitted for any rigid bodies (default 7). Must be positive |
| physics.towingmaxlinearaccelfromjoint | convar | 40 | Maximum linear acceleration (m/s^2) that a vehicle towing joint can apply before the joint breaks; prevents unrealistic joint forces during towing |
| physics.treecollision | convar | True | Do players and vehicles collide with trees? |
| physicstumblingentity.angular_drag_override | convar | -1 | Override for rigidbody angular drag. Set to -1 to disable. |
| physicstumblingentity.drag_override | convar | -1 | Override for rigidbody drag. Set to -1 to disable. |
| physicstumblingentity.max_tumbling_force | convar | 1000 | Maximum force applied on collision to cause tumbling |
| physicstumblingentity.min_tumbling_force | convar | 600 | Minimum force applied on collision to cause tumbling |
| physicstumblingentity.player_impulse_multiplier | convar | 10 | Multiplier for impulse applied to players when ragdolled by this entity |
| physicstumblingentity.tumbling_force_cone_angle | convar | 30 | Cone angle in degrees for randomizing tumbling force direction |
| physicstumblingentity.velocity_threshold_for_tumbling_force | convar | 1.5 | Minimum velocity required for an object to get tumbling force applied on collision |
| ping.auto_refresh_region | convar | — | When enabled, region ping estimates are automatically refreshed in the background to keep server list latency data up to date |
| ping.ping_estimate_logging | convar | — | When enabled, logs ping estimation results to the console; useful for debugging regional latency measurement accuracy |
| ping.ping_estimation | convar | — | When enabled, the ping estimator collects latency samples to regional servers; disable to suppress background ping traffic |
| ping.ping_parallel | convar | — | When enabled, ping estimation sends samples to all servers in parallel for faster results; uses more bandwidth simultaneously |
| ping.ping_refresh_interval | convar | — | Interval in minutes between automatic background ping estimation refreshes for server list region latency sorting |
| ping.ping_samples | convar | — | Number of ping samples collected per estimation cycle; more samples give a more accurate average latency but take longer to complete |
| planterbox.outsidetestdistance | convar | 100 | Maximum distance in metres used when raycasting to determine whether a planter box is outdoors and receiving natural sunlight |
| planterboxstatic.deepsearespawnchecktimer | convar | 600 | Interval in seconds between respawn checks for growable plants in static planter boxes inside the deep sea zone; default 600s |
| planterboxstatic.favourablegenechance | convar | 0.5 | Chance 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. |
| player.abandonmission | command | — | |
| player.adminsafezonelooting | convar | False | Should admins be allowed to loot incapacitated players (or their corpse / bag) in safe-zones? |
| player.cinematic_gesture | command | — | |
| player.cinematic_play | command | — | |
| player.cinematic_stop | command | — | |
| player.clearhostile | command | — | Clear your hostile flag |
| player.copyrotation | command | — | |
| player.createskull | command | — | Creates a human skull item named after the given player name (or a random name if none given) and gives it to the calling player's inventory |
| player.createtrophy | command | — | Creates a trophy head bag item for the specified entity type (by prefab name) and gives it to the calling player; used to generate mount-style trophy items for testing |
| player.dismount | command | — | Forces the specified player (by ID) to dismount from any vehicle or mountable they are currently seated in; admin/developer/cinematic mode only |
| player.dropbackpackondeath | convar | True | When enabled, players drop their backpack as a loot bag when they die; disable to prevent backpack loot from appearing on death |
| player.dropbackpackondowned | convar | True | When enabled, players drop their backpack when downed/wounded; disable to keep the backpack on the body until death or recovery |
| player.fillwater | command | — | <fresh/salt/rads> - Fills up liquid container items in your hotbar as well as any liquid containers you are looking at |
| player.gesture_radius | command | — | Forces all players within a given radius (including the caller) to play one of the specified gesture names chosen at random; admin only; args: radius gesture1 [gesture2...] |
| player.gesture_radius_notme | command | — | Same as gesture_radius but excludes the calling admin from the gesture; forces all other players within the radius to perform a random gesture from the provided list |
| player.gotosleep | command | — | Forces the specified sleeping player (by ID) to enter the sleep state; admin/developer/cinematic mode only; also works on bots |
| player.infiniteammo | convar | False | When enabled, the local player has unlimited ammo and never needs to reload; intended for testing and cinematic use only |
| player.keepteaondeath | convar | False | When 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.markhostile | command | — | Marks the calling player as hostile immediately, triggering the hostile timer as if they had attacked another player; useful for testing hostile-state dependent behaviour |
| player.mount | command | — | |
| player.printpresence | command | — | Prints the calling player's current time-category presence flags: whether they are in wilderness, base, monument, swimming, boating, or flying |
| player.printstats | command | — | Prints detailed life-story stats for the calling player including time alive, distances travelled, damage taken/healed, kills, and per-weapon accuracy |
| player.ragdoll | command | — | optional param {player} |
| player.ragdollall | command | — | ragdolls |
| player.ragdollallbutme | command | — | ragdolls everyone except player |
| player.ragdollother | command | — | Ragdolls a player you're looking at |
| player.reloadweapons | command | — | Fully reloads all projectile weapons, flamethrowers, and liquid weapons in every belt slot of the calling player; useful for testing without consuming ammo |
| player.resetmissions | command | — | Resets the saved missions progress of the given player |
| player.resetmissions_all | command | — | Resets the saved missions progress of all player states on this server (online and offline players). Must be entered as "resetmissions_all Y" to execute. |
| player.resetstate | command | — | Resets the PlayerState of the given player |
| player.stopgesture_radius | command | — | Cancels any active gesture on all players within the specified radius of the calling admin; admin only; useful for stopping mass-gesture cinematics |
| player.swapseat | command | — | Moves the specified player (by ID) to the given seat index on the vehicle they are mounted in; admin/developer/cinematic mode only |
| player.tickrate_cl | convar | 32 | |
| player.tickrate_sv | convar | 16 | |
| player.trigger_wildlife_trap | command | — | Admin-only: triggers the trap-think logic on the wildlife trap the calling player is looking at within 5 metres, simulating a catch attempt for testing |
| player.unloadweapons | command | — | Empties the ammo from all projectile weapons, flamethrowers, and liquid weapons in every belt slot of the calling player; useful for testing reload behaviour |
| player.wakeup | command | — | Wakes up the specified sleeping player (by ID), ending their sleep state immediately; admin/developer/cinematic mode only |
| player.wakeupall | command | — | Wakes up all sleeping players on the server at once; admin/developer/cinematic mode only; useful for clearing the sleeping player list after a wipe |
| player.woundforever | convar | False | Whether the crawling state expires |
| playerboat.aboardplayercheckinterval | convar | 2 | Interval in seconds between checks to determine whether any players are still aboard the boat |
| playerboat.anchoreddriftdelayseconds | convar | 21600 | Time in seconds after a boat is anchored before it becomes eligible for shore drift; default 21600s (6 hours) |
| playerboat.corpseseconds | convar | 1800 | How long until player boat corpses despawn |
| playerboat.debugvis | convar | — | When enabled, draws debug visualisations for player boat state including drift target, shore direction, and power zones |
| playerboat.decayminutes | convar | 720 | How long before a boat loses all its health while outside |
| playerboat.decaystartdelayminutes | convar | 1440 | How long until decay begins after the boat was last used |
| playerboat.deepseatransitionpowerdowngraceduration | convar | 10 | Duration in seconds after entering the deep sea zone that a player boat has before its engine is powered down |
| playerboat.deployandeditanywhere | convar | False | Allow Deploy & Edit anywhere in the ocean, bypassing location checks. |
| playerboat.destructiblewrecksenabled | convar | True | |
| playerboat.dragbyangle_exponent | convar | 0.4 | |
| playerboat.dragbyangle_maxcontrib | convar | 50 | |
| playerboat.dragbyangle_maxdrag | convar | 2.2 | |
| playerboat.dragbyangle_mincontrib | convar | 5 | |
| playerboat.dragbyangle_mindrag | convar | 0.65 | |
| playerboat.editenabled | convar | True | |
| playerboat.enginepositioninfluences | convar | 0.05 | 0 - 1 |
| playerboat.finisheditingenabled | convar | True | |
| playerboat.hammerrepairenabled | convar | True | |
| playerboat.kill_all_above_block_count | command | — | Kills all player boats that have more building blocks than the given threshold; used for server cleanup |
| playerboat.kill_all_above_deployable_count | command | — | Kills all player boats that have more deployed entities than the given threshold; used for server cleanup |
| playerboat.kill_io_deployables | command | — | Kills any IO entities deployed on boats. Not a fast command. Use sparingly when needed. |
| playerboat.kill_nonconvex_deployables | command | — | Kills any entities deployed on boats with non-convex colliders. Not a fast command. Use sparingly when needed. |
| playerboat.lookatdragbyangle | command | — | Prints drag force debug data based on the angle between the boat heading and player look direction; admin-only |
| playerboat.maxblockcount | convar | 180 | |
| playerboat.maxdeployablecount | convar | 120 | |
| playerboat.orphansendimmediate | convar | True | When enabled, deployables on boats send immediate network updates when orphaned during edit mode to prevent looping sounds from being killed |
| playerboat.placementupthreshold | convar | 30 | Maximum angle in degrees from vertical at which building blocks can be placed on a player boat; default 30 degrees |
| playerboat.powerdownonnoplayers | convar | True | When enabled, player boat engines are powered down when no players are aboard; prevents runaway unmanned boats |
| playerboat.print_nonconvex | command | — | Prints a list of boats with non-convex collider deployables. Not a fast command. Use sparingly when needed. |
| playerboat.print_stats | command | — | Prints statistics about all player boats on the server including block counts, deployable counts, and resource totals |
| playerboat.sailblockedupdateinterval | convar | 5 | Interval in seconds between wind blocked checks on a lowered sail, jittered by 10% |
| playerboat.sailpositioninfluence | convar | 0.1 | 0 - 1 |
| playerboat.setsailsopen | command | — | Opens all sails on the player boat directly in front of the calling admin player; admin-only dev command |
| playerboat.sink | command | — | Instantly kills the player boat directly in front of the calling admin player; admin-only dev command |
| playerboat.usedestructiblewreckstability | convar | True | |
| playerboat.velocitymax | convar | 15 | |
| playerhelicopter.insidedecayminutes | convar | 2880 | How long before a player helicopter loses all its health while indoors |
| playerhelicopter.outsidedecayminutes | convar | 480 | How long before a player helicopter loses all its health while outside |
| playerinventory.directionaldropenabled | convar | True | When enabled, players can directionally drop items by looking in the desired direction; disable to revert to gravity-only drops |
| playerinventory.forcebirthday | convar | False | When enabled, forces the birthday event state to true regardless of the actual date; overrides IsBirthday() calendar check for testing |
| polarbear.population | convar | 1 | Population active on the server, per square km |
| pool.clear_assets | command | — | Clears all cached entries from the asset pool matching the optional name filter |
| pool.clear_memory | command | — | Clears all entries from the object memory pool matching the optional name filter; freed pooled objects are garbage collected |
| pool.clear_prefabs | command | — | Clears all cached prefab instances from the prefab pool matching the optional filter, across client, server, and generic pools |
| pool.debug | convar | False | When enabled, logs additional diagnostic information about pool hits, misses, and spills to the console |
| pool.debug_mem_start | command | — | Start tracking objects from memory pool. Call _stop when done. Use * to explicitly request all types(super expensive!) |
| pool.debug_mem_stop | command | — | Stop tracking objects from memory pool & log abnormalities. Accepts max number of logs |
| pool.enabled | convar | True | When enabled, this system is globally active; disable to deactivate the system for the current session |
| pool.export_prefabs | command | — | Exports the current prefab pool contents to a prefabs.csv file listing pool ID, prefab short name, and instance count |
| pool.fill_prefabs | command | — | Pre-warms the prefab pool by instantiating and pooling prefabs matching the optional filter up to the given count override |
| pool.mode | convar | 2 | When enabled, object pools are pre-allocated at startup to avoid first-use latency; increases startup time but reduces runtime GC stutter |
| pool.prewarm | convar | True | When enabled, object pools are pre-allocated at startup to avoid first-use latency; increases startup time but reduces runtime GC stutter |
| pool.print_arraypool | command | — | Prints a usage report for the BaseNetwork and ProtocolParser array pools, showing bucket sizes, capacities, and hit/miss stats |
| pool.print_assets | command | — | Prints a table of all asset pool entries showing asset type, current pooled count, and pool capacity |
| pool.print_memory | command | — | Prints a table of all object pool entries showing type, capacity, active count, peak usage, hit/miss counts, and spill counts; supports --json |
| pool.print_prefabs | command | — | Prints a table of all prefab pool entries showing prefab name, miss count, current count, target capacity, and push/pop counts; supports --json |
| pool.reset_max_pool_counter | command | — | Resets the peak-usage high-water-mark counter for all pools, allowing fresh measurement of maximum pool demand |
| pooltable.debug_pool | convar | False | |
| pooltable.idle_reset_seconds | convar | 180 | Anyone can reset a pool game nobody has interacted with for this many seconds |
| pooltable.physics_update_rate | convar | 64 | |
| pooltable.show_tooltips | convar | False | Show pool game tooltip notifications |
| pooltable.watch_after_shot_seconds | convar | 2 | Seconds the shooter stays seated watching their shot before being dismounted |
| powergrid.enabled | convar | True | If disabled power grid functionality will be disabled. |
| powergrid.fusedecayhighpop | convar | 100 | Connected player count at or above which heavy fuses in the power plant decay at their normal rate. See fuseDecayLowPop. |
| powergrid.fusedecaylowpop | convar | 10 | Connected 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.fusedecaylowpopscale | convar | 0.25 | Multiplier 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.fusefulldecaycount | convar | 3 | How 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.fuselifespanseconds | convar | 9600 | How 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.fuseslowdecayfractionmax | convar | 0.12 | Maximum fraction (0-1) of the full decay rate applied to heavy fuses that aren't one of the worst fuseFullDecayCount. See fuseSlowDecayFractionMin. |
| powergrid.fuseslowdecayfractionmin | convar | 0.08 | Minimum 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.fusestatus | command | — | |
| powergrid.greenrecyclerfullefficiencystage | convar | -1 | Required powergrid stage for green recyclers to return to baseline efficiency. If < 0 then will use the default values. |
| powergrid.marketplacechargecapacity | convar | 100 | Charge 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.marketplacechargeperfuse | convar | 0.01 | Charge a drone marketplace gains every second for each heavy fuse inserted at the power plant, once there are at least marketplaceMinimumFusesToCharge of them. |
| powergrid.marketplacedrainrate | convar | 0.05 | Charge 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.marketplaceminimumfusestocharge | convar | 4 | Heavy 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.marketplacerequiredchargefraction | convar | 0.5 | Fraction (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.powerlinebasepoweroutput | convar | 5 | Starting power output of powerline poles when 1 heavy fuse is inserted at the power plant. |
| powergrid.powerlinemaxpoweroutput | convar | 50 | Power output of powerline poles when all possible heavy fuses are inserted at the power plant. |
| powergrid.simulatepowerplantfuses | convar | 0 | Pretend there are this many additional heavy fuses currently plugged into the power plant. Can input negative numbers to negate the effect of any currently plugged in fuses. |
| powergrid.stagechangeworkqueuebudget | convar | 0.1 | Max time per frame (ms) to spend notifying powergrid entities of a stage change. |
| powergrid.stagechangeworkqueuedelaybetweenjobs | convar | 0 | Time 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.stagechangeworkqueuegroupjobsdistance | convar | 20 | If 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) |
| powergrid.status | command | — | |
| profile.command_lagspike_threshold | convar | — | |
| profile.countsyncmoveentities | command | — | Counts and prints all entities that use synchronous movement updates grouped by prefab, helping identify expensive per-frame entity movers |
| profile.dump_profile_recorders | command | — | Dumps all available Unity Profiler recorder handles to CSV format showing name, category, unit type, and flags; useful for discovering available performance metrics |
| profile.exportintervals | convar | — | Interval in seconds between automatic exports of server profiler data to disk; lower values provide more frequent snapshots at a higher I/O cost |
| profile.flush_analytics | command | — | Flushes any buffered analytics events immediately to the analytics backend rather than waiting for the next scheduled flush |
| profile.immediatemodeenabled | convar | — | When enabled, the server native profiler runs in immediate mode, capturing every frame rather than sampling; more accurate but higher overhead |
| profile.logentityspawntime | convar | — | Log how long entities take to spawn on the client, use 'minloggedspawntime' to filter low spawn times |
| profile.logentityspawntime_min | convar | — | Minimum spawn time before logging (in ms) |
| profile.notifyonmainalloccount | convar | 0 | Main-thread allocation count threshold per tick for profiler notifications; 0 = disabled; helps isolate main-thread GC pressure |
| profile.notifyonmainmemkb | convar | 0 | Main-thread memory usage threshold in kilobytes for profiler notifications; 0 = disabled |
| profile.notifyontotalalloccount | convar | 16000 | Allocation count threshold (per profiler tick) above which the native continuous profiler fires a notification; useful for detecting unexpected allocation spikes |
| profile.notifyontotalmemkb | convar | 12288 | Total managed memory threshold in kilobytes above which the native profiler fires a notification; helps detect memory leaks during long server runs |
| profile.notifyonworkeralloccount | convar | 0 | Worker-thread allocation count threshold per tick for profiler notifications; 0 = disabled; helps detect background task GC pressure |
| profile.notifyonworkermemkb | convar | 0 | Worker-thread memory usage threshold in kilobytes for profiler notifications; 0 = disabled |
| profile.perfsnapshot | command | — | profile.perfsnapshot [delay=15, int] [name='Profile', str, no extension, max 32chars] [frames=10, int, max 10] [debug=false, dumps a binary snapshot as well]
Will produce a JSON perf snapshot of <frames> that can be viewed in Perfetto or similar tools |
| profile.perfsnapshot_stream | command | — | profile.perfsnapshot_stream [name='Profile', str, no extension, max 32chars] [MainCap=32, int, max 256, buffer size for Main thread in Megabytes] [WorkerCap=8, int, max 256, buffer size for each Worker thread in Megabytes] [debug=false, dumps a binary snapshot as well]
Will stream <mainCap>MB worth of data and generate a JSON snapshot that can be viewed in Perfetto or similar tools |
| profile.profiling_entities | convar | — | 0 = off, 1 = spawn/kill, 2 = spawn/kill per entity, 3 = count every '5 min' |
| profile.profiling_entity_count_interval | convar | — | How frequently to count all entities across the server |
| profile.profiling_fixed_invokes | convar | — | 0 = off, 1 = stats per frame, 2 = stats per method |
| profile.profiling_invokes | convar | — | 0 = off, 1 = stats per frame, 2 = stats per method |
| profile.profiling_lagspikes | convar | — | Record inbound RPC & ConsoleCommands that cause lag spikes |
| profile.profiling_packets | convar | — | Record type of packets inbound/outbound per frame |
| profile.profiling_ping | convar | — | Raknet statistics, 0 = off, 2 = per connection |
| profile.profiling_ping_interval | convar | — | How often to flush raknet stats per second |
| profile.profiling_ping_per_frame | convar | — | |
| profile.profiling_rcon | convar | — | 0 = off, 1 = count per frame, 2 = connection attempts, 3 = messages |
| profile.profiling_rcon_message_length | convar | — | Clamp the length of logged RCON messages to prevent the profiler from being flooded with large messages |
| profile.profiling_work_queue | convar | — | Record execution time of ObjectWorkQueues per frame |
| profile.quiet | convar | False | Controls whether perfsnapshot commands emit chat messages |
| profile.rcon_lagspike_threshold | convar | — | |
| profile.resetexportinterval | command | — | Resets the profiler export interval timer, causing the next export to happen after a full ExportIntervalS from now |
| profile.rpc_lagspike_threshold | convar | — | |
| profile.runtime_profiling | convar | 0 | 0 = off, 1 = basic, 2 = everything. This will reset all profiling convars, however they can be modified afterwards |
| profile.runtime_profiling_interval | convar | 60 | |
| profile.runtime_profiling_persist | convar | False | Enable to allow runtime profiling to persist across restarts |
| profile.runtime_profiling_pool_flush_interval | convar | 300 | How often to flush pooling stats in seconds |
| profile.runtime_profiling_pooling | convar | — | 0 = off, 1 = flush every 5 minutes |
| profile.start | command | — | Starts recording a Unity Profiler binary log to a timestamped file in the profile/ folder; requires ENABLE_PROFILER build flag |
| profile.stop | command | — | Stops the active Unity Profiler binary log recording and finalises the file |
| profile.stopwatchingallocs | command | — | Stops tracking of allocations |
| profile.watchallocs | command | — | Params: [Name = 'Allocs'] [maxStackDepth = 16].
Starts tracking of allocs, dumping a [Name].json.gz record once conditions are met |
| projectile.preventcameraclip | convar | True | Should the projectile model attempt to prevent itself being clipped by the camera? |
| projectile.preventcameraclipbufferseconds | convar | 0.01 | Buffer seconds before turning back on the projectile model. |
| projectile.serverprojectilecameraclipdistance | convar | 0.3 | Distance before turning back on the server spawned projectiles model. |
| ptboatturret.ai_burst_length | convar | 3 | Seconds an NPC gunner keeps firing in each burst |
| ptboatturret.ai_fire_rate | convar | 0.125 | Minimum seconds between NPC gunner shots |
| ptboatturret.ai_time_between_bursts | convar | 3 | Seconds an NPC gunner waits between bursts |
| rabbit.population | convar | 2 | Population active on the server, per square km |
| radiation.materialtoradsratio | convar | 0.0044 | Multiplier converting radiation material value to effective radiation damage rate; lower values reduce radiation intensity globally |
| radiation.water_inventory_damage | convar | True | When enabled, radiation-contaminated water damages items in a player's inventory over time when in a radiation zone |
| radiation.water_loot_damage | convar | True | When enabled, radiation-contaminated water damages loot containers over time when exposed to sufficient radiation |
| rcon.ban_ip | command | — | Ban an IP address from RCON, preventing it from connecting and kick any clients from this IP, this is permanent and persistent |
| rcon.banduration | convar | 300 | How long in seconds to ban an IP that has exceeded the maximum password failures (default: 300 seconds) |
| rcon.clear_rcon_failed_logins | command | — | Clear all failed login attempts |
| rcon.connectioncooldown | convar | 1 | How long (in seconds) before we allow another rcon connection from the same address (default: 1 second) |
| rcon.ip | convar | | IP Address to listen for RCON connections |
| rcon.logfailedattempts | convar | True | Log failed attempts and attempts from banned IP addresses (default: true) |
| rcon.maxconnections | convar | 500 | Total number of allowed connections to RCON server. -1 to disable behaviour. Requires server restart after changes |
| rcon.maxconnectionsperip | convar | 5 | Total number of allowed connections to RCON server, on a single IP. -1 to disable behaviour. Requires server restart after changes |
| rcon.maxpasswordfailures | convar | 5 | How many password failures before banning an RCON client's IP (default: 5) |
| rcon.permanentbanfailedips | convar | False | Permanently ban IPs that trigger too many failed attempts (default: false) |
| rcon.port | convar | 0 | Port to listen for RCON connections |
| rcon.print | convar | False | If true, RCON commands will be printed in the console |
| rcon.print_rcon_bans | command | — | Print a table of permanently banned IPs and networks. Use '--json' to return a JSON object |
| rcon.print_rcon_clients | command | — | Print a table of connected RCON clients. Use '--json' to return a JSON object |
| rcon.print_rcon_failed_logins | command | — | Print a table of clients with failed passwords. Use '--json' to return a JSON object |
| rcon.unban_ip | command | — | Unban an IP address from connecting to RCON, will also remove all attempt history |
| rcon.web | convar | True | If set to true, use websocket RCON. If set to false use legacy, source engine RCON. Source engine RCON is DEPRECATED |
| reclaimmanager.reclaim_expire_minutes | convar | 120 | Time in minutes after which an uncollected softcore death reclaim backpack expires and its contents are destroyed |
| recordertool.debugrecording | convar | — | When enabled, logs additional debug info about cassette recording state and audio buffer operations; saved between sessions |
| relationshipmanager.acceptinvite | command | — | |
| relationshipmanager.addtoteam | command | — | Adds the calling player to their existing team, creating the team entry if needed |
| relationshipmanager.contacts | convar | true | |
| relationshipmanager.createandaddtoteam | command | — | Creates a new team with the calling player and adds the specified player (by UID) to it; returns status string |
| relationshipmanager.fakeinvite | command | — | Sends a fake team invite from the given team ID to the calling player; used for testing team invite UI flow |
| relationshipmanager.forceaddtoteam | command | — | Adds a player to a team whether they are on the server or not |
| relationshipmanager.forgetafterminutes | convar | 960 | Time in minutes after which relationship/contacts data for players who have not been seen is forgotten and removed |
| relationshipmanager.kickmember | command | — | |
| relationshipmanager.leaveteam | command | — | |
| relationshipmanager.maxplayerrelationships | convar | 128 | Maximum number of relationship entries (contacts) each player can store; older entries are evicted when the limit is reached |
| relationshipmanager.maxteamsize | convar | 8 | Maximum number of players allowed in a single team; 0 = teams disabled; changing this at runtime updates all active teams |
| relationshipmanager.mugshotupdateinterval | convar | 300 | Interval in seconds between mugshot (contact portrait) refresh attempts for known players |
| relationshipmanager.promote | command | — | |
| relationshipmanager.promote_id | command | — | |
| relationshipmanager.rejectinvite | command | — | |
| relationshipmanager.seendistance | convar | 10 | Distance in metres within which two players must be for a 'seen' relationship event to be recorded |
| relationshipmanager.sendinvite | command | — | |
| relationshipmanager.sendofflineinvite | command | — | |
| relationshipmanager.sleeptoggle | command | — | Toggles the sleep/wake state of the entity the calling admin player is looking at (within 5m); admin-only |
| relationshipmanager.trycreateteam | command | — | Creates a new team with the calling player as leader; fails if teams are disabled (maxTeamSize == 0) |
| relationshipmanager.wipe_all_contacts | command | — | Wipes all relationship contacts data for every player on the server; admin-only |
| relationshipmanager.wipecontacts | command | — | Wipes all relationship contacts data for the calling player |
| relay.cfg_autoreconnect | convar | — | If enabled, Rust Relay will automatically attempt to reconnect when the WebSocket connection drops |
| relay.cfg_encryptpackets | convar | — | Sets 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_fakeplayer | convar | — | If 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_filtermode | convar | — | Sets the Filter Mode for RPC Messages, (0 = Ignore, 1 = AllowAll, 2 = AllowWhitelist) |
| relay.cfg_maxreconnects | convar | — | Maximum number of reconnect attempts allowed within the reconnect window before the relay permanently shuts down |
| relay.cfg_reconnectdelay | convar | — | Delay (in seconds) between reconnect attempts |
| relay.cfg_reconnectwindow | convar | — | The rolling window (in minutes) used to track reconnect attempts |
| relay.cfg_reload | command | — | Reloads the Rust Relay configuration from disk, this will STOP the Rust Relay feature (restart with relay.restart) |
| relay.cfg_save | command | — | Forces a save of the Rust Relay configuration to disk |
| relay.cfg_sendconsoledata | convar | — | If enabled, console data will be sent to the relay server |
| relay.cfg_sendvoicedata | convar | — | If enabled, voice data will be sent to the relay server |
| relay.cfg_server_auth_token | convar | — | Sets the authentication token for the Rust Relay server, changing this will STOP the Rust Relay feature (restart with relay.restart) |
| relay.cfg_server_url | convar | — | Sets the URL for the Rust Relay server, changing this will STOP the Rust Relay feature (restart with relay.restart) |
| relay.clear_queue | command | — | Clears the relay send queue (useful if things are going wrong with the relay server) |
| relay.reconnect_reset | command | — | Clears the reconnect attempt history, resetting the reconnect budget |
| relay.restart | command | — | Attempts to restart the Rust Relay connection (may cause short lag) |
| relay.rpc_whitelist_add | command | — | Adds an RPC Message to the RPC Whitelist |
| relay.rpc_whitelist_rebuild | command | — | Rebuilds the RPC Whitelist ID List |
| relay.rpc_whitelist_remove | command | — | Removes an RPC Message from the RPC Whitelist |
| relay.shutdown | command | — | Shutsdown the Rust Relay sever connection |
| relay.status | command | — | Returns a detailed Rust Relay status report |
| render.building_blocked_preview_distance | convar | 100 | Distance from the border of building blocked to show the red preview |
| render.computebuffer_setdata_immediate | convar | True | Whether to call ComputeBuffer.SetData immediately or at the end of the frame |
| render.expand_instancing | command | — | Forces GPU instancing to expand and rebatch a specific instancing group by name; useful for debugging instancing issues without restarting |
| render.instanced_rendering | convar | 0 | 0 = off, 1 = on (must restart client for changes to take effect) |
| render.instanced_toggle_all | convar | True | Developer command to toggle instanced rendering at runtime to measure performance impact |
| render.instanced_toggle_buildings | convar | True | Toggle rendering of buildings on / off |
| render.instanced_toggle_cliffs | convar | True | Toggle rendering of cliffs on / off |
| render.instanced_toggle_other | convar | True | Toggle rendering of uncategorized meshes on / off |
| render.instancing_render_distance | convar | 1000 | Max distance for instanced rendering, can be higher than normal render distance |
| render.max_renderers | convar | 0 | Set the amount of instanced renderers to show for debugging |
| render.multidraw | convar | True | Allow unity to batch together multiple draw calls |
| render.print_global_entities | command | — | Print off count of global building entities on the client |
| render.print_instanced_cell | command | — | Print number of meshes inside a single grid |
| render.print_instanced_debug | command | — | Print off array size and memory usage to ensure no memory leaks & debug rendering system |
| render.print_instanced_renderers | command | — | Print off number of each mesh inside instanced rendering system (including outside of render range) |
| render.print_tree_counts | command | — | Print off count of trees to ensure server sent them all |
| render.render_shadows | convar | True | Enables or disables shadow rendering globally on the client; disabling shadows significantly improves GPU performance |
| render.show_building_blocked | convar | True | Shows a coloured overlay on building-blocked areas client-side, visualising where construction is prevented |
| render.show_building_blocked_server | convar | True | |
| render.test_instancing_culling | command | — | Spawn (default 50k) prefabs spread across the map to quickly test instanced rendering system in isolation |
| render.upload_multidraw_meshes_mode | convar | 0 | 0 = CPU, 1 = GPU |
| rentableshop.additionalchecktimehoursdebug | convar | 0 | When checking the time to see if items need to be deleted, add this many hours to what it thinks the current time is |
| rentableshop.closenearestshop | command | — | Close the nearest shop in 10m. Useful for testing |
| rentableshop.initialscrapfee | convar | 100 | |
| rentableshop.maxstoreditemsdurationminutes | convar | 1440 | How long stores should store items (after a shop is closed) for before they are destroyed |
| rentableshop.processrenttick | command | — | |
| rentableshop.protectionfromtakeoverhours | convar | 6 | |
| rentableshop.randomiseownerofnearestshop | command | — | Randomise the owner of the nearest shop in 10m. Useful for testing |
| rentableshop.resettakeoverprotectionofclosestshop | command | — | Reset the takeover protection duration of nearest shop. Useful for testing |
| rentableshop.scrapperhourrent | convar | 10 | |
| reports.exceptionreportmaxlength | convar | 600 | Maximum character length of exception reports submitted to the crash reporter; clamped to a minimum of 250 characters |
| rgbeffects.brightness | convar | 1 | Brightness of colors, from 0 to 1 (note: may affect color accuracy) |
| rgbeffects.colorcorrection_razer | convar | — | Controls how RGB values are mapped to LED lights on Razer devices |
| rgbeffects.colorcorrection_steelseries | convar | — | Controls how RGB values are mapped to LED lights on SteelSeries devices |
| rgbeffects.enabled | convar | True | Enables RGB lighting effects (supports SteelSeries and Razer) |
| rgbeffects.pulse | command | — | Pulses all RGB lighting devices to a given colour over the specified duration in seconds; uses the RGB controller pulse animation |
| rgbeffects.static | command | — | Sets all RGB lighting devices to a static colour; takes an RGBA colour argument and applies it to the RGB controller instance |
| rhib.rhibpopulation | convar | — | Population active on the server |
| ridablehorse.autoavoidance | convar | True | When enabled, horses use automatic avoidance steering to navigate around obstacles; saved between sessions; admin configurable |
| ridablehorse.debug | convar | False | When enabled, draws debug visualisations for this system (seismic sensor range sphere, escape capture state, etc.); editor/admin-only |
| ridablehorse.decayminutes | convar | 180 | How long before a horse dies unattended |
| ridablehorse.dungtimescale | convar | 1 | Scale all rideable animal dung production rates by this value. 0 will disable dung production. |
| ridablehorse.groundangleupdaterate | convar | 0.05 | Interval in seconds between ground angle recalculation updates for horse body tilting; default 0.05s |
| ridablehorse.population | convar | 2 | Population active on the server, per square km |
| ridablehorse.ragdoll | command | — | Ragdolls the ridable horse entity directly in front of the calling admin player; useful for testing horse physics and death states |
| ridablehorse.setforsale | command | — | Marks the horse directly in front of the calling admin player as for-sale, enabling the purchase interaction |
| ridablehorse.sethorsebreed | command | — | Sets the breed index of the horse directly in front of the calling admin player to the given integer value |
| ridablehorse.throttledgroundangleupdate | convar | 1 | When enabled, ground angle updates for horse body tilt are throttled to groundAngleUpdateRate seconds; improves performance |
| room.draw_faces | command | — | Draws the face outlines and closest-face links of the building block you are looking at and everything connected to it (breadth-first walk). Args: [duration=10] [range=40]. |
| room.draw_live | convar | False | Continuously 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_normals | convar | True | Draw the normal arrows and face outlines of the room.draw_live overlay (off = room-coloured outlines only, much less traffic) |
| room.draw_live_range | convar | 30 | Radius of the room.draw_live overlay, in metres |
| room.draw_networkgroups | command | — | Draws room contents and boundary network groups for the building you are looking at. Green = subscribed, yellow = held but awaiting subscription, red = not held, grey = positional grid. Args: [duration=10] [range=40]. |
| room.draw_networkgroups_live | convar | False | Continuously 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.draw_portals | command | — | Draws the portals of the building you are looking at (green = open, red = closed) |
| room.draw_rooms | command | — | Draws the faces of the building you are looking at coloured by room. Args: [duration=10] [range=40]. Outside room is dim white; arrows point into the room each face borders. |
| room.draw_visible | command | — | Draws the faces of every room you can see into from where you stand (green), and the rooms you cannot (red) |
| room.exportbase | command | — | Editor-only: exports the current room partition to RoomFixtures/<name>.json so it can be replayed offline in the edit-mode tests. Pass a name; defaults to 'capture'. To capture a base from a live server, copypaste it into an editor server first. |
| room.exportpastes | command | — | Editor-only: pastes every .data file in a directory one at a time and exports each to RoomFixtures/<folder>/<paste>.json for the edit-mode fixture tests. Args: <directory> [folder=directory name]. Pastes that already have a fixture are skipped. |
| room.occlusion | convar | 0 | Server-side interior occlusion: 0 = off, 1 = shadow mode (compute + log, hide nothing), 2 = enforce |
| room.occlusion_admin_bypass | convar | True | Admins and developers bypass interior occlusion and see everything |
| room.occlusion_deployables | convar | 1 | What 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_immediate | convar | False | Kill 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_range | convar | 30 | How 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_linger | convar | 5 | How 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_range | convar | 32 | Rooms 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_range | convar | 250 | How 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. |
| room.occlusionstats | command | — | Prints interior occlusion's shadow-mode report: how much of the world ended up effectively outside (fail open) and how much each player has hidden |
| room.printfaces | command | — | Prints the closest-face link of every edge on the building block you are looking at. Pass --ddraw to also draw the links. |
| room.printhidden | command | — | Prints which interior rooms a player can currently see into, i.e. which room network groups they hold. Defaults to yourself. |
| room.printportals | command | — | Prints every portal of the building you are looking at (rooms joined, filler, open state) |
| room.printrooms | command | — | Prints the room partition of the building you are looking at |
| room.printvisible | command | — | Prints the room a player is standing in and every room they can see into. Defaults to yourself. |
| rustnav.addtilebudgetms | convar | 2 | Main-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.bakestats | command | — | Print accumulated navmesh bake statistics. Pass true to reset them instead |
| rustnav.bakestatsenabled | convar | — | Collect 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.collectbudgetms | convar | 1 | Main-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.debugload | command | — | |
| rustnav.debugpath | command | — | |
| rustnav.debugraycast | command | — | |
| rustnav.debugrebuildtile | command | — | |
| rustnav.debugsample | command | — | |
| rustnav.debugsave | command | — | |
| rustnav.detailsampledistmult | convar | 12 | Detail 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.detailsamplemaxerrormult | convar | 1 | Detail 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.doorreassertspertick | convar | 24 | How 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.draw | command | — | |
| rustnav.drawkbps | convar | 512 | Max KB per second of navmesh tiles streamed to each rustnav.draw viewer |
| rustnav.drawmanifestinterval | convar | 10 | |
| rustnav.drawradius | convar | 100 | |
| rustnav.drawrefreshrate | convar | 0.25 | |
| rustnav.dumptilegeo | command | — | Rebuild one default-navmesh tile synchronously and dump its assembled geometry + heightfield bounds to a file for the offline native-build harness: rustnav.dumptilegeo <tx> <ty> <path> |
| rustnav.enableverboselogs | convar | False | |
| rustnav.legacybuild | convar | False | A/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.maxshoredistance | convar | 100 | Metres 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.navmeshstats | command | — | List every navmesh (default + independent monuments/islands/ghostships) ranked by accumulated worker build time |
| rustnav.numthreads | convar | 4 | Navmesh 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.rebuild | command | — | |
| rustnav.savecompression | convar | True | LZ4-compress navmesh saves (smaller .navmesh files, no extra save time) |
| rustnav.savedelta | convar | True | Append 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.savedeltabudget | convar | 0.5 | How 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.savethreads | convar | 0 | Worker threads for navmesh save/load compression. 0 = auto |
| rustnav.savewarnms | convar | 1000 | Log the navmesh save completion line as a warning past this many milliseconds. 0 or less never warns |
| rustnav.setnumthreads | command | — | |
| sail.maxthrustmultiplier | convar | 1 | |
| samsite.autoreloaddelay | convar | 45 | Delay before SAM sites that haven't shot a target will auto-reload |
| samsite.staticrepairseconds | convar | 1200 | how long until static sam sites auto repair |
| santasleigh.altitudeaboveterrain | convar | 50 | |
| santasleigh.desiredaltitude | convar | 60 | |
| santasleigh.drop | command | — | |
| satellite.control_window | convar | 180 | Seconds of thruster control window |
| satellite.cooldown_hours_max | convar | 18 | Maximum cooldown between satellite events, in game hours |
| satellite.cooldown_hours_min | convar | 18 | Minimum 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_distance | convar | True | Run 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_duration | convar | 300 | Seconds the crash loot crates burn and stay unlootable after impact. All crates unlock together when this expires. |
| satellite.debug | convar | False | Log crash-target search diagnostics (samples, blockers, reasons) |
| satellite.default_crash_radius | convar | 300 | Starting impact radius before thruster adjustments, in meters |
| satellite.descent_angle | convar | 45 | Angle (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_seconds | convar | 600 | Descent 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_seconds | convar | 300 | Seconds 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_speed | convar | 0 | Speed (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_altitude | convar | 2500 | Altitude (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_distance | convar | 1500 | Horizontal 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_fuel | convar | False | If true, firing satellite thrusters does not consume fuel |
| satellite.free_power | convar | False | If true, powering up the satellite computer does not require any items |
| satellite.fuel_large_max | convar | 16 | Maximum fuel rolled for large satellites (3000-5000kg) |
| satellite.fuel_large_min | convar | 10 | Minimum fuel rolled for large satellites (3000-5000kg) |
| satellite.fuel_max | convar | 36 | Hard maximum on generated fuel, applied after the per-size roll regardless of size |
| satellite.fuel_medium_max | convar | 26 | Maximum fuel rolled for medium satellites (1500-3000kg) |
| satellite.fuel_medium_min | convar | 16 | Minimum fuel rolled for medium satellites (1500-3000kg) |
| satellite.fuel_min | convar | 8 | Hard minimum on generated fuel, applied after the per-size roll regardless of size |
| satellite.fuel_small_max | convar | 36 | Maximum fuel rolled for small satellites (500-1500kg) |
| satellite.fuel_small_min | convar | 24 | Minimum fuel rolled for small satellites (500-1500kg) |
| satellite.initial_offset_attempts | convar | 8 | How 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_radius | convar | 10 | Radius (m) around the impact point cleared on crash — players killed, construction/deployables/vehicles destroyed, vegetation removed |
| satellite.lateral_distance | convar | 200 | Lateral offset multiplier per thruster fire (meters) |
| satellite.launch | command | — | Dev: search for a safe crash site around the calling player using the exact same acceptance checks a control computer's lock-in uses (topology, water, unevenness, safezones, obstructions), then launch the full orbital descent there. Not a full session replica: searches around the player rather than a computer's semi-random targeting center, always does a fresh scan (no thruster-history reuse), and has no owning computer (no countdown screen, radius floor still enforced, no-build volume self-despawns after impact instead of being computer-managed): satellite.launch [radius] |
| satellite.launchquick | command | — | Dev: exactly satellite.launch — same crash-site search and validation — but skips the wait: the satellite spawns already in phase 2, 30 seconds from impact, at the point of the descent path it would normally reach then: satellite.launchquick [radius] |
| satellite.min_crash_radius | convar | 100 | Minimum crash radius in meters |
| satellite.nudge_distance_max | convar | 150 | Maximum random aim drift (meters) applied when tightening the impact radius |
| satellite.nudge_distance_min | convar | 100 | Minimum 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_reorder | convar | True | Crash 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_distance | convar | 30000 | Extra 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_scale | convar | 4 | Multiplier 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.random | command | — | Trigger a satellite crash at a random valid position on the map |
| satellite.require_powerplant | convar | True | If 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_spot | convar | True | Crash targeting: before scanning, re-test the previously found crash spot. Small thruster nudges usually leave it valid, returning in a single check. |
| satellite.rotation_strength | convar | 15 | Heading rotation per thruster fire (degrees) |
| satellite.shrink_expand_radius | convar | 25 | Impact radius change per thruster fire (meters) |
| satellite.site_check_physical_geometry | convar | True | Also raycast the crash-site footprint against real collision geometry, rejecting spots with rocks or scenery the heightmap can't see |
| satellite.site_clearance_radius | convar | 16 | Clearance (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_radius | convar | 15 | Radius (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_slope | convar | 25 | Max overall ground slope (degrees) across the crash footprint before a spot is rejected |
| satellite.site_max_unevenness | convar | 2 | Max 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_trail | convar | True | Render 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_fade | convar | True | Fade 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_seconds | convar | 10 | Seconds 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_length | convar | 0 | Maximum 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_noise | convar | 1 | Meters 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_seconds | convar | 60 | Seconds 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_degrees | convar | 0.075 | On-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_ms | convar | 5 | Crash targeting: max milliseconds per frame spent scanning for a safe crash site. The scan resumes next frame when exceeded. |
| satellite.targeting_coverage_factor | convar | 3 | Crash 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_samples | convar | 8 | Crash 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_steps | convar | 2 | When 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_count | convar | 3 | Thruster modules salvaged from fully harvesting the crash remains |
| satellite.thruster_module_min_condition | convar | 0.2 | Minimum condition fraction of salvaged thruster modules, regardless of how much fuel the satellite burned before lock-in |
| satellite.trail_alpha_scale | convar | 1 | Multiplier 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_scale | convar | 1 | Multiplier 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.trigger | command | — | Trigger a satellite crash at the calling player's position or optional coordinates, with an optional satellite mass (kg) driving loot like a computer-controlled crash: satellite.trigger [mass] or satellite.trigger [x z [mass]] |
| satellite.wreck_fire_duration | convar | 480 | Seconds the main wreck stays too hot to harvest after impact |
| scraptransporthelicopter.population | convar | — | Population active on the server |
| seagullgroup.deepseafill | convar | 0.5 | Share of the deep sea's seagull land points given a group when it opens |
| seagullgroup.land | command | — | Lands every flying seagull group within the given radius (default 300) of where you are looking, each on its nearest free land point. |
| seagullgroup.landat | command | — | Lands the flying seagull group nearest where you are looking, within the given radius (default 300), on the free land point nearest it. |
| seagullgroup.population | convar | 0.6 | Seagull groups active on the server, per square km |
| seagullgroup.startle | command | — | Startles every landed seagull group within the given radius (default 100) of where you are looking. |
| searchlight.debugvolumetrics | convar | — | |
| seaturtle.forcesurfaceamount | convar | 0 | |
| seaturtle.population | convar | 2 | Population active on the server, per square km |
| sensecomponent.maxrefreshintervalseconds | convar | 1 | |
| sensecomponent.minrefreshintervalseconds | convar | 0.2 | |
| sentry.debugpreventduplicates | convar | True | Prevents auto turrets getting added more than once to the IO queue |
| sentry.hostileduration | convar | 120 | how long until something is considered hostile after it attacked |
| sentry.interferenceradius | convar | 40 | radius to check for other turrets |
| sentry.maxinterference | convar | 12 | max interference from other turrets |
| sentry.scantimer | convar | 1 | How quickly can a turret acquire a potential target. Less is faster, but perf taxing |
| sentry.targetall | convar | False | target everyone regardless of authorization |
| server.allowsorting | convar | True | Set to false to disable the storage adaptor sorting functionality |
| server.allowvineswinging | convar | True | When true, players can grab and swing on deployed vines; disable to prevent vine-swinging movement |
| server.anticheatid | convar | xyza7891h6UjNfd0eb2HQGtaul0WhfvS | Easy Anti-Cheat product ID used to authenticate this server with EAC services |
| server.anticheatkey | convar | OWUDFZmi9VNL/7VhGVSSmCWALKTltKw8ISepa0VXs60 | Easy Anti-Cheat product key used alongside anticheatid for EAC server authentication |
| server.anticheatlog | convar | — | Sets the EOS (Epic Online Services) anti-cheat log verbosity level; higher values produce more detailed anti-cheat diagnostic output |
| server.anticheattoken | convar | True | When true clients must provide a valid EAC token to connect; disable only for testing or modded environments |
| server.arrowarmor | convar | 1 | Global multiplier for armour effectiveness against arrow and bow damage; 1.0 = default |
| server.arrowdamage | convar | 1 | Global multiplier for all arrow and bow damage dealt; 1.0 = default, 2.0 = double damage |
| server.artificialtemperaturegrowablerange | convar | 4 | |
| server.authtimeout | convar | 60 | Seconds an incoming connection has to complete authentication (Steam + EAC) before being forcibly disconnected |
| server.autouploadmap | convar | True | Automatically upload procedurally generated maps so that players download them (faster) instead of re-generating them |
| server.autouploadmapimages | convar | True | Automatically upload an image of the map, used to show the map in the server browser |
| server.backup | command | — | Backup server folder |
| server.bag_quota_item_amount | convar | True | |
| server.bansserverendpoint | convar | | HTTP API endpoint for centralized banning (see wiki) |
| server.bansserverfailuremode | convar | 0 | Failure mode for centralized banning, set to 1 to reject players from joining if it's down (see wiki) |
| server.bansservertimeout | convar | 5 | Timeout (in seconds) for centralized banning web server requests |
| server.batchpackets | convar | — | Send each connection's packets for the frame together in batch packets, instead of one network packet each |
| server.batchpacketsize | convar | — | Size in bytes (200-1500) a batch packet is sent at before the end of the frame, larger packets are sent on their own |
| server.bleedingarmor | convar | 1 | Global multiplier for armour effectiveness against bleeding damage; 1.0 = default |
| server.bleedingdamage | convar | 1 | Global multiplier for all bleeding damage over time; 1.0 = default |
| server.botcount | command | — | Returns the current number of bot (AI-controlled player) entities active on the server |
| server.broadcastplayvideo | command | — | Sends a video URL to all connected players, causing the in-game video player to open and play the specified video on every client |
| server.bulletarmor | convar | 1 | Global multiplier for armour effectiveness against bullet damage; 1.0 = default |
| server.bulletdamage | convar | 1 | Global multiplier for all bullet damage dealt by firearms; 1.0 = default, 2.0 = double damage |
| server.bypassiteminputrestriction | convar | False | Allows items to be moved into containers that block item input |
| server.canequipbackpacksinair | convar | False | Allows backpack equipping while not grounded |
| server.ceilinglightgrowablerange | convar | 3 | Radius in metres within which a ceiling light provides artificial light that counts toward a growable plant's light requirement |
| server.ceilinglightheightoffset | convar | 3 | Vertical offset in metres added when checking whether a ceiling light illuminates a plant directly below it |
| server.censorplayerlist | convar | True | Censors the Steam player list to make player tracking more difficult |
| server.cheatreport | command | — | |
| server.cinematic | convar | False | |
| server.clear_bushes_radius | command | — | Kills all server-side bush entities within a given radius of the calling player (or a specified world position); args: radius [x y z] |
| server.clear_loot_spawn_cache | command | — | Clears the loot spawn cache used to restrict loot into each era |
| server.clear_trees_radius | command | — | Kills all server-side tree entities within a given radius of the calling player (or a specified world position); args: radius [x y z] |
| server.clearplayerreportcounts | command | — | Clear the player reports list |
| server.combatlog | command | — | Get the player combat log |
| server.combatlog_outgoing | command | — | Get the player combat log, only showing outgoing damage |
| server.combatlogdelay | convar | 10 | Seconds of delay before a combat event appears in the player's own combat log, preventing real-time tracking during a fight |
| server.combatlogsize | convar | 30 | Number of recent combat events retained in each player's combat log, viewable with combatlog |
| server.compassenabled | convar | True | Will the in-game compass show at the top of the screen |
| server.composterupdateinterval | convar | 300 | How often (in seconds) composters advance their composting progress; default is every 300 seconds (5 minutes) |
| server.compression | convar | — | Enables or disables network packet compression on the server; compression reduces bandwidth at the cost of a small amount of CPU time |
| server.conveyormovefrequency | convar | 5 | How often industrial conveyors attempt to move items (value is an interval measured in seconds). Setting to 0 will disable all movement |
| server.corpsedespawn | convar | 300 | Seconds before a player corpse is removed from the world; default is 300 seconds (5 minutes) |
| server.corpseinfo | command | — | Get info on player corpses on the server |
| server.corpses | convar | True | Whether player corpses are spawned when players die; disabling removes corpses entirely and items are dropped directly |
| server.crawlingenabled | convar | True | Do players go into the crawling wounded state |
| server.crawlingmaximumhealth | convar | 12 | Maximum initial health given when a player dies and moves to crawling wounded state |
| server.crawlingminimumhealth | convar | 7 | Minimum initial health given when a player dies and moves to crawling wounded state |
| server.creamseparationhours | convar | 4 | Hours 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.cycletime | convar | 500 | Duration of a full day/night cycle in seconds; default 500s means roughly one cycle every 8 real-world minutes |
| server.debrisdespawn | convar | 30 | Seconds before environmental debris entities (e.g. broken barrel remnants) are removed from the world; default 30 seconds |
| server.deepseafogofwar | convar | True | Should the deep sea map be covered by fog of war |
| server.defaultblueprintresearchcost | convar | 10 | How much scrap is required to research default blueprints |
| server.description | convar | No server description has been provided. | Short description of the server shown to players in the server browser |
| server.destroytaskbatchcount | convar | 128 | UsePlayerUpdateJobs 2 related - how many destroy messages to batch into 1 task |
| server.drawpuzzleresets | convar | False | When enabled, debug spheres are drawn in the world showing the radiation zone boundaries during monument puzzle resets |
| server.dropitems | convar | True | Whether items drop to the ground from a player's inventory when they die; disable to prevent item drops on death |
| server.eac_gameplay_data | convar | True | Whether or not to send additional analytics to EAC |
| server.emojiownershipcheck | convar | True | Whether emoji ownership is checked server side. Could be performance draining in high chat volumes |
| server.encryption | convar | 2 | Network encryption mode; 2 = enabled (recommended), 0 = disabled |
| server.enforce_era_restrictions | command | — | Deletes items on the server that are not allowed in the era |
| server.enforceoverlapchecksonbuildingblockchanges | convar | True | Whether to check for illegal industrial pipes and entities when changing building block states (roof bunkers) |
| server.entitybatchsize | convar | 100 | Number of entities included in each entity-update batch per frame; tune to balance CPU time spent on entity processing |
| server.entitybatchtime | convar | 1 | Time in seconds allocated to each entity batch update pass; the server will not start a new batch until this interval has elapsed |
| server.entityrate | convar | 16 | How many times per second entity network state is sent to clients; higher values reduce perceived lag for moving objects |
| server.era | convar | — | none,primitive,medieval,frontier,rust |
| server.events | convar | True | Enables automatic server-side game events such as helicopter patrols, airdrops and cargo ship visits |
| server.explosive_testing_mode | convar | False | Lower damage of explosives to 1 and allow them to be triggered multiple times |
| server.farmchickenlocalavoidance | convar | True | Whether to run local avoidance for chickens, disabling might get a slight performance improvement but chickens will clip |
| server.favoritesendpoint | convar | | Domain 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.filefolderoverride | convar | | Override the root storage folder for server files; leave empty to use the default server/identity path |
| server.filerequestbytesburst | convar | 4194304 | Burst 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.filerequestbytespersecond | convar | 2097152 | Bytes 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.filerequestdebug | convar | False | Print file request rate limiting activity to the server console: incoming requests, bytes sent, and per-connection budget usage as it recovers over time |
| server.filerequestqueuelength | convar | 256 | Maximum deferred file requests per client; requests beyond this are dropped (a legitimate client's own request throttle never fills the queue) |
| server.fillchickencoop | command | — | Debug command: fills all chicken coops within 5 metres of the calling player to their maximum capacity |
| server.fogofwar | convar | False | Should the in-game map be covered by a fog of war |
| server.fogofwarrevealsize | convar | 256 | How much area around the player is revealed when using fog of war. Must be a multiple of 32 |
| server.foodspoiling | convar | True | Whether to run the food spoiling system |
| server.foodspoilingbudgetms | convar | 0.05 | Maximum 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.fps | command | — | Prints the current server frame rate in frames per second |
| server.funwaterdamagethreshold | convar | 0.8 | |
| server.funwaterwetnessgain | convar | 0.05 | |
| server.gamemode | convar | — | Short 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.hardcorefirearmammunitioncraftingmultiplier | convar | 1 | Multiplies crafting cost of firearm ammunition |
| server.headerimage | convar | | URL of the banner/header image shown at the top of this server's page in the server browser |
| server.hideplayermapdirection | convar | False | Should hte player see their direction on the map |
| server.hideplayeronmap | convar | False | Should the player see their position on the map |
| server.homingmissiletargetshab | convar | False | If true hot air balloons can be shot down with homing missiles |
| server.hopperanimationbudgetms | convar | 0.1 | How long per frame to spend animating items moving into the hopper (will be instant if <= 0) |
| server.hostname | convar | My Untitled Rust Server | Server name displayed in the server browser |
| server.http_connection_limit | convar | 32 | Maximum number of simultaneous outbound HTTP connections the server may have open at once; used for map uploads, ban checks, and other web requests |
| server.identity | convar | my_server_identity | Unique identifier for this server instance; determines the subfolder used for saves, configs and map data |
| server.idlekick | convar | 30 | Minutes of in-game inactivity before a player is automatically kicked; set to 0 to disable idle kick |
| server.idlekickadmins | convar | 0 | Minutes of inactivity before admin players are idle-kicked; 0 disables idle kick specifically for admins regardless of idlekickmode |
| server.idlekickmode | convar | 1 | Controls who is subject to the idle kick: 0 = nobody, 1 = non-admin players only, 2 = all players including admins |
| server.incapacitatedrecoverchance | convar | 0.1 | Base chance of recovery after incapacitated wounded state |
| server.industrialallowquickmove | convar | True | Enables a faster way to move items around during conveyor transfers. Should be on unless there's a issue |
| server.industrialcrafterfrequency | convar | 5 | How often industrial crafters attempt to craft items (value is an interval measured in seconds). Setting to 0 will disable all crafting |
| server.industrialframebudgetms | convar | 0.5 | How long per frame to spend on industrial jobs |
| server.industrialtransferstricttimelimits | convar | True | When enabled industrial transfers will abort if they start to take too long. Will lead to inconsistent splitting but should retain performance |
| server.ip | convar | | IP address the server binds to; leave empty to bind to all interfaces |
| server.ipqueriespermin | convar | 30 | Maximum number of Steam server browser queries allowed per minute from a single IP address |
| server.itemdespawn | convar | 300 | Seconds before items dropped on the ground despawn; default is 300 seconds (5 minutes) |
| server.itemdespawn_container_max_multiplier | convar | 24 | Upper cap on the loot container despawn multiplier; at default 24 the maximum lifetime is 24 x 5 min = 2 hours |
| server.itemdespawn_container_scale | convar | 2 | Multiplier applied to the base item despawn time for items sitting inside loot containers; default 2x extends their lifetime |
| server.itemdespawn_quick | convar | 30 | Fast-despawn time in seconds used for short-lived dropped items such as empty casings or small debris; default 30 seconds |
| server.level | convar | Procedural Map | Map level to load on startup, e.g. 'Procedural Map', 'Barren', or a custom map name |
| server.leveltransfer | convar | True | When true the server sends the map file to clients so they can load it without re-generating it locally |
| server.levelurl | convar | | URL to download a custom map file from; if set the server will fetch and load this map instead of generating one |
| server.listplayerreportcounts | command | — | List the amount of reports players on the server have received |
| server.listtoolcupboards | command | — | Prints all the Tool Cupboards on the server |
| server.listvendingmachines | command | — | Prints all the vending machines on the server |
| server.log_invalid_packet_lengths | convar | — | Logs network packets rejected for being empty or not byte-aligned |
| server.logoimage | convar | | URL of the logo image shown for this server in the server browser |
| server.long_distance_sounds | convar | True | When enabled, long-distance ambient sounds (e.g. distant gunfire) are networked to clients; disabling may reduce bandwidth on busy servers |
| server.lowprioritybuoyancyrange | convar | 30 | If no players are in this range kayaks, boogie boards and inner tubes will switch to a cheaper buoyancy system |
| server.mapenabled | convar | True | Can players use the in-game map |
| server.max_explosive_protection | convar | 0.75 | |
| server.max_sleeping_bags | convar | 15 | |
| server.max_tool_cupboards | convar | 0 | Maximum number of tool cupboards each player can place, 0 or less is unlimited. Lowering it doesn't remove cupboards that are already placed |
| server.maxclientinfosize | convar | — | Maximum byte size of the client info blob sent during the connection handshake; clients sending a larger payload are rejected |
| server.maxconnectionsperip | convar | — | Maximum number of simultaneous connections allowed from the same IP address; helps mitigate connection-flooding attacks (clamped 1–1000) |
| server.maxdecryptqueuebytes | convar | — | Maximum total byte size of packets waiting for decryption; excess packets are dropped when the limit is reached |
| server.maxdecryptqueuelength | convar | — | Maximum number of encrypted packets that can wait in the decryption queue before being dropped |
| server.maxdecryptthreadwait | convar | — | Maximum milliseconds the decryption thread will block before timing out; increase if CPU-heavy encryption causes dropped packets (clamped 1–1000) |
| server.maxfoodspoiltimediffforitemstack | convar | 180 | Maximum difference (in seconds) that two items with spoil timers can have and still be stackable |
| server.maximummapmarkers | convar | 5 | How many markers each player can place |
| server.maximumpings | convar | 5 | How many pings can be placed by each player |
| server.maxitemstacksmovedpertickindustrial | convar | 12 | How many stacks a single conveyor can move in a single tick |
| server.maxmainthreadwait | convar | — | Maximum 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_command | convar | 100000 | Maximum byte size of a single console command packet from a client; oversized packets are rejected |
| server.maxpacketsize_globalentities | convar | 1000 | Maximum byte size of a single global-entities network packet; oversized packets are dropped |
| server.maxpacketsize_globaltrees | convar | 100 | Maximum byte size of a single global-trees network packet; oversized packets are dropped |
| server.maxpacketsize_voicedata | convar | 8096 | Maximum number of bytes permitted in VoiceData packets, oversized packets will be dropped |
| server.maxpacketspersecond | convar | — | Global cap on total network packets per second the server will accept across all connected clients combined |
| server.maxpacketspersecond_command | convar | 100 | Maximum console command packets per second accepted from each client; rate-limits how quickly clients can send commands to the server |
| server.maxpacketspersecond_rpc | convar | 200 | Maximum RPC (Remote Procedure Call) packets per second accepted from each client; limits how fast clients can trigger server-side actions |
| server.maxpacketspersecond_rpc_signal | convar | 30 | Maximum RPC signal packets per second accepted from each client; signal RPCs are lightweight event triggers used for interactions |
| server.maxpacketspersecond_syncvar | convar | 200 | Maximum sync-var (replicated variable) update packets per second accepted from each client |
| server.maxpacketspersecond_tick | convar | 300 | Maximum tick-update packets per second accepted from each client; these carry player inputs and must stay within this rate to be processed |
| server.maxpacketspersecond_voice | convar | 100 | Maximum voice chat packets per second accepted from each client; reducing this limits voice bandwidth usage per player |
| server.maxpacketspersecond_world | convar | 1 | Maximum world-state update packets per second accepted from each individual client; prevents flooding the server with position spam |
| server.maxplayers | convar | 500 | Maximum number of players allowed on the server at the same time |
| server.maxreadqueuebytes | convar | — | Maximum total byte size of the incoming read queue; excess bytes are dropped to prevent memory exhaustion from a flood of large packets |
| server.maxreadqueuelength | convar | — | Maximum number of packets that can be queued in the incoming read queue; excess packets are dropped to prevent memory exhaustion |
| server.maxreadthreadwait | convar | — | Maximum milliseconds the dedicated read thread will block waiting for incoming data before timing out (clamped 1–1000) |
| server.maxreceivetime | convar | — | Maximum 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.maxunack | convar | 4 | Maximum number of unacknowledged network messages per connection before the server starts applying backpressure to that client |
| server.maxwritequeuebytes | convar | — | Maximum total byte size of the outgoing write queue; if the queue fills the oldest packets are dropped |
| server.maxwritequeuelength | convar | — | Maximum number of packets that can be queued in the outgoing write queue; excess packets are dropped when the queue is full |
| server.maxwritethreadwait | convar | — | Maximum milliseconds the dedicated write thread will block waiting to send data before timing out (clamped 1–1000) |
| server.meleearmor | convar | 1 | Global multiplier for armour effectiveness against melee damage; 1.0 = default, values above 1.0 make armour stronger against melee |
| server.meleedamage | convar | 1 | Global multiplier for all melee weapon damage dealt; 1.0 = default, 2.0 = double damage, 0.5 = half damage |
| server.metabolismtick | convar | 1 | Multiplier for player metabolism tick frequency; lower values slow down hunger, thirst and calorie consumption rates |
| server.modifiertickrate | convar | 1 | Rate multiplier for status effect (buff/debuff) ticks; lower values slow all active modifiers such as poison, radiation sickness and warmth |
| server.monumentpuzzleresetradiation | convar | True | Allows radiation to flood monuments to force puzzles to reset |
| server.monumentpuzzleresetradiationamount | convar | 3 | Radiation damage per second applied to players inside a monument during its puzzle-reset radiation phase |
| server.monumentpuzzleresetradiationmaxradiusincrease | convar | 20 | Clamp radiation multiplier to this amount of meters, -1 = ignored |
| server.monumentpuzzleresetradiationoverride | convar | False | Force enable radiation in monument puzzles to confirm they work |
| server.monumentpuzzleresetradiationplayeremptytime | convar | 120 | How long does a monument puzzle need to be empty with full rads before it can reset |
| server.monumentpuzzleresetradiationpreresettime | convar | 300 | How long before the reset happens do we start applying radiation |
| server.monumentpuzzleresetradiationradiusmultiplier | convar | 1.5 | Multiplier 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.monumentpuzzleresetwarnings | convar | True | When enabled, chat warnings are broadcast to players inside a monument shortly before its puzzle-reset radiation begins |
| server.motd | convar | | |
| server.netcache | convar | True | Enables 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.netcachesize | convar | 0 | Maximum byte size of the network entity cache; 0 means no hard limit |
| server.netlog | convar | — | Enables low-level network activity logging on the server; produces verbose output useful for diagnosing connection and packet issues |
| server.netprotocol | command | — | Returns the network protocol identifier string the server is currently using; clients must match this to connect |
| server.nonplanterdeathchancepertick | convar | 0.005 | Probability (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.normalisedfoodspoiltimestackthreshold | convar | 0.9 | If two spoiled food items are both above this threshold then we will allow them to be stacked |
| server.npcammolootmultiplier | convar | 1 | All ammo drops from NPC loot will be multiplied by this |
| server.npccorpsedespawn | convar | 600 | Seconds before a NPC corpse is removed from the world; default is 600 seconds (10 minutes) |
| server.occlusiongatherbatchplayercount | convar | 16 | UsePlayerUpdateJobs 4 related - how many players to gather occlusion pairs for per task |
| server.official | convar | False | Marks this as an official Facepunch server; only set by Facepunch — do not enable on community servers |
| server.oilrig_radiation_alarm_threshold | convar | 0 | Radiation level at which the oil rig alarm triggers; 0 means the alarm activates immediately when any radiation is present |
| server.oilrig_radiation_amount_scale | convar | 1 | Multiplier for radiation intensity inside oil rig monuments; higher values increase radiation damage per second |
| server.oilrig_radiation_time_scale | convar | 1 | Multiplier for how long radiation lingers after an event at oil rig monuments; higher values extend the radiation duration |
| server.optimalplanterqualitysaturation | convar | 0.6 | Soil saturation level (0–1) at which a planter box is considered perfectly watered for quality bonuses; default 0.6 |
| server.ovencookbudgetms | convar | 0.25 | Maximum milliseconds per frame spent processing furnace and campfire cook ticks; lower values keep frames smoother on high-population servers |
| server.packetlog | command | — | Prints a sorted table of network packet types and their cumulative call counts since logging was enabled; requires packetlog_enabled = true |
| server.packetlog_enabled | convar | False | Enables packet-type logging; must be true before the packetlog command will return data. Collects packet type call counts at runtime |
| server.paintballoverallsdamage | convar | 1 | How 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.paintballstandarddamage | convar | 1 | How much to scale standard paintball damage (see paintballoverallsdamage for scaling damage for when players have overalls on) |
| server.parachuterepacktime | convar | 8 | How long it takes to pick up a used parachute in seconds |
| server.parallelnetworkqueuebatchsize | convar | 16 | UsePlayerUpdateJobs 4 related - affects how many players get batched into 1 task by counting the size of their network queues. Higher number - less tasks |
| server.pauseindustrialduringsave | convar | True | Should industrial be paused during autosaves |
| server.pauseunlootedpuzzles | convar | True | When enabled, the puzzle reset timer pauses for monuments that have not been looted yet, preventing resets of untouched areas |
| server.ping_region_code_override | convar | | Override the geographic region code used for ping estimation in the server browser; leave empty to use automatic detection |
| server.pingduration | convar | 10 | How long a ping should last |
| server.plantlightdetection | convar | True | Enables plant light detection — growable plants will check nearby light sources each tick and adjust growth speed and quality accordingly |
| server.planttick | convar | 60 | |
| server.planttickscale | convar | 1 | Multiplier for plant growth tick speed; values above 1.0 make plants grow faster, values below 1.0 slow growth |
| server.player_state_cache_count | command | — | Prints the number of player states currently held in the in-memory player state cache |
| server.player_state_cache_evictions | command | — | Prints the total number of player state cache entries evicted since server startup; high values suggest the cache size should be increased |
| server.player_state_cache_size | convar | — | Size of the LRU player-state cache; higher values keep more player states in memory, reducing disk reads when reconnecting players |
| server.playerlistpos | command | — | Prints the position of all players on the server |
| server.playerserverfall | convar | True | When 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.playertimeout | convar | 60 | Seconds of network inactivity before a connected player is timed out and disconnected |
| server.port | convar | 28015 | UDP port the server listens on for player connections |
| server.premium | convar | False | Require a premium status account to connect to this server |
| server.premiumrecheckinterval | convar | 300 | How often to do premium status rechecks |
| server.premiumrecheckmaxbatchsize | convar | 100 | Maximum number of players to recheck at a time |
| server.premiumrecheckminseconds | convar | 300 | Minimum time to recheck premium status for already connected players (in seconds) |
| server.premiumverifyendpoint | convar | https://rust-api.facepunch.com/api/premium/verify | Endpoint to use to check if players have premium status |
| server.printdecryptqueue | command | — | |
| server.printeyes | command | — | Print the current player eyes. |
| server.printpos | command | — | Print the current player position. |
| server.printposcenter | command | — | Print the current player center position. |
| server.printreadqueue | command | — | Prints the current server incoming network read queue depth (packet count and total byte size) |
| server.printreportstoconsole | convar | False | Should F7 reports from players be printed to console |
| server.printrot | command | — | Print the current player rotation. |
| server.printwipeid | command | — | Prints the current wipe id of the sav |
| server.printwritequeue | command | — | Prints the current server outgoing network write queue depth (packet count and total byte size) |
| server.pve | convar | False | Enables PvE mode — players cannot damage other players; they can still be killed by NPCs and the environment |
| server.pvebulletdamagemultiplier | convar | 1 | Additional bullet damage multiplier applied only when players shoot NPCs or animals, stacks with bulletdamage |
| server.pvp_ttk_bullet | convar | 1 | How much to increase time to kill bullets in pvp globally, 2.0 = twice as long, 0.5 = half as long |
| server.pvp_ttk_global | convar | 1 | How much to increase time to kill in pvp globally, 2.0 = twice as long, 0.5 = half as long |
| server.pvp_ttk_melee | convar | 1 | How much to increase time to kill with melee in pvp globally, 2.0 = twice as long, 0.5 = half as long |
| server.pvpbulletdamagemultiplier | convar | 1 | Additional bullet damage multiplier applied only in player-vs-player combat, stacks with bulletdamage |
| server.queriespersecond | convar | 2000 | Maximum number of Steam server browser queries the server will respond to per second before rate-limiting |
| server.queryport | convar | 0 | UDP port used for Steam server browser queries; uses the game port if set to 0 |
| server.radiation | convar | True | Enables radiation zones at monuments; disabling removes all radiation hazards from the map |
| server.randomize_seed | convar | — | Setting 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.readcfg | command | — | Reads and executes serverauto.cfg then server.cfg from the server's cfg folder, applying all saved convar values |
| server.rejoin_delay | convar | 300 | Seconds a disconnected player must wait before they are allowed to rejoin the server; default is 300 seconds (5 minutes) |
| server.reportsserverendpoint | convar | | HTTP API endpoint for receiving F7 reports |
| server.reportsserverendpointkey | convar | | If set, this key will be included with any reports sent via reportsServerEndpoint (for validation) |
| server.repositionattachmentsonreskin | convar | True | Reposition attachments like storage adaptors if they have moved on reskins |
| server.resetrespawns | command | — | Clear all static respawn points |
| server.resetserveremoji | command | — | Rescans the serveremoji folder, note that clients will need to reconnect to get the latest emoji |
| server.respawnatdeathposition | convar | False | If a player presses the respawn button, respawn at their death location (for trailer filming) |
| server.respawnresetrange | convar | 50 | Radius 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.respawntimeadditionbag | convar | 0 | Bags will increase their respawn time by this much |
| server.respawntimeadditionbed | convar | 0 | Beds will increase their respawn time by this much |
| server.respawnwithloadout | convar | False | When a player respawns give them the loadout assigned to client.RespawnLoadout (created with inventory.saveloadout) |
| server.rewounddelay | convar | 60 | Minimum seconds that must pass after a player recovers from being wounded before they can be put into the wounded state again |
| server.rpclog | command | — | Prints a sorted table of RPC identifiers, their string names, and cumulative call counts; requires rpclog_enabled = true |
| server.rpclog_enabled | convar | False | Enables RPC call logging; must be true before the rpclog command will return data. Tracks how often each RPC is called |
| server.rust_relay_send_queue | convar | — | Prints the current server decryption queue depth |
| server.salt | convar | 1 | Secondary salt value mixed into procedural world generation; used to vary monument and road placement |
| server.save | command | — | Force save the current game |
| server.savebackupcount | convar | 2 | Number of rolling save-file backups to keep; each autosave rotates the oldest backup out |
| server.savecachesize | convar | 0 | Maximum byte size of the entity save cache used to accelerate autosaves; 0 means no hard limit |
| server.saveframebudget | convar | 5 | MS per frame to spend warming up entity save caches |
| server.saveinterval | convar | 600 | How often (in seconds) the server automatically saves the game world to disk; default is every 600 seconds (10 minutes) |
| server.schematime | convar | 1800 | How often (in seconds) the full entity schema is re-broadcast to all clients; default is every 1800 seconds |
| server.seed | convar | 1337 | Seed value used for procedural world generation; changing this produces a completely different map layout |
| server.sendnetworkupdate | command | — | Send network update for all players |
| server.server_id | convar | — | Persistent unique identifier for this server instance, used when recording demos and for analytics attribution |
| server.setshowholstereditems | command | — | Show holstered items on player bodies |
| server.showholstereditems | convar | True | When enabled, weapons and tools holstered on a player's back are visible on their character model to other players |
| server.skipdeathscreenfade | convar | False | Skip death screen fade |
| server.snapshot | command | — | This sends a snapshot of all the entities in the client's pvs. This is mostly redundant, but we request this when the client starts recording a demo.. so they get all the information. |
| server.snapshottaskbatchcount | convar | 64 | UsePlayerUpdateJobs 2 related - how many snapshot messages to batch into 1 task |
| server.spawnvinetrees | convar | True | When true, vine tree variants are included during world generation; disable to remove all climbable vine trees from the map |
| server.sprinklereyeheightoffset | convar | 3 | Vertical eye-height offset in metres used when raycasting to determine whether a sprinkler can water a given plant |
| server.sprinklerradius | convar | 3 | |
| server.sprintmetabolismscale | convar | 1.25 | Multiplier on heartrate-driven calorie and hydration loss while a player is sprinting |
| server.stability | convar | True | Enables structural stability simulation; when disabled buildings will not collapse even if their supports are destroyed |
| server.start | command | — | Starts a server |
| server.statbackup | convar | False | Enables automatic backups of server statistics data |
| server.stats | convar | False | Enables collection and reporting of gameplay statistics such as kill counts, damage dealt and resource gathered |
| server.stop | command | — | Stops a server |
| server.strictauth_eac | convar | False | When true players are kicked if EAC authentication fails; disable to allow players through even when EAC is unavailable |
| server.strictauth_steam | convar | False | When true players are kicked if Steam authentication fails; disable to allow connections when Steam auth servers are unreachable |
| server.tags | convar | | Comma-separated server browser tag values (see wiki) |
| server.tickrate | convar | 10 | Number of server simulation ticks per second; higher values improve responsiveness but increase CPU usage |
| server.tutorialenabled | convar | false | Controls whether the tutorial is enabled on this server |
| server.unlockrespawns | command | — | Unlock all static respawn points |
| server.updatebatch | convar | 512 | Number of entities processed per network update batch; lower values spread the load across more frames but increase total overhead |
| server.updatebatchspawn | convar | 1024 | Number of entities processed per batch during the initial spawn network update; higher values send more entities per frame during map load |
| server.upgrade_keeps_health | convar | True | When 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.url | convar | | Server website URL displayed in the server browser; leave empty to show no link |
| server.uselegacyworkbenchinteraction | convar | False | Opens a loot panel when interacting with a workbench instead of going straight into the tech tree. Designed for backwards compatibility with mods. |
| server.useminimumplantcondition | convar | True | When enabled, plants that would normally be in a critically poor condition are given a minimum viable condition score instead of immediately dying |
| server.useperplayerrequiredsystemconfig | convar | False | Enables per-player required system configuration checks on connect; allows different requirements to be enforced for individual players |
| server.useplayerupdatejobs | convar | 4 | Player Update parallelism mode: 3-4, Higher modes are faster but more experimental. 4 by default |
| server.useserverwiderequiredsystemconfig | convar | False | Enables a server-wide required system configuration that all connecting clients must satisfy; used to enforce minimum hardware or software requirements |
| server.watercontainersleavewaterbehind | convar | False | When transferring water, should containers keep 1 water behind. Enabling this should help performance if water IO is causing performance loss |
| server.waterwellnpcsalesrefreshfrequency | convar | 1 | How often (in hours) the water well NPC's update their sell orders |
| server.waterwheelworkbudgetms | convar | 0.1 | How long per frame to spend on updating water wheel power generation and water info |
| server.workbenchtaxrate1 | convar | 0 | How much of a tax to apply to tech unlocks at a level 1 workbench. 10 = additional 10% scrap cost |
| server.workbenchtaxrate2 | convar | 0 | How much of a tax to apply to tech unlocks at a level 2 workbench. 10 = additional 10% scrap cost |
| server.workbenchtaxrate3 | convar | 0 | How much of a tax to apply to tech unlocks at a level 3 workbench. 10 = additional 10% scrap cost |
| server.worldsize | convar | 4500 | Width and height of the procedurally generated world in metres; larger values create a bigger map with more resources |
| server.woundedmaxfoodandwaterbonus | convar | 0.25 | Maximum percent chance added to base wounded/incapacitated recovery chance, based on the player's food and water level |
| server.woundedmaxoverfedchance | convar | 1 | Wounded/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.woundedrecoverchance | convar | 0.2 | Base chance of recovery after crawling wounded state |
| server.woundingenabled | convar | True | Can players be wounded after receiving fatal damage |
| server.writecfg | command | — | Writes config files |
| serverocclusion.occlusionvalidategroups | command | — | Validates that all server occlusion network groups are correctly mapped to their occlusion data; reports any inconsistencies found |
| serverocclusion.serverocclusiondebug | command | — | Tests occlusion visibility between two positions |
| sheep.population | convar | 2 | Population active on the server, per square km |
| shield.infiniteshieldblock | convar | False | |
| signage.adminscanalwaysupdatesigns | convar | True | If true admins can always update signs, regardless of lock, build auth, etc |
| simpleshark.disable | convar | False | |
| simpleshark.forcesurfaceamount | convar | 0 | |
| sleepingbag.assigntoplayer | command | — | Reassigns ownership of a sleeping bag (by entity ID) to the calling player; notifies both the old and new owner |
| sleepingbag.clearfromplayer | command | — | Clears ownership of a sleeping bag (by entity ID), setting the owner ID to 0 and removing it from the old owner's bag list |
| sleepingbag.useteamlabels | convar | True | |
| slotmachine.forcepayoutindex | convar | -1 | |
| smallengine.maxthrustmultiplier | convar | 1 | |
| snakehazard.population | convar | 5 | Population active on the server, per square km |
| snowmobile.allowpassengeronly | convar | False | Allow mounting as a passenger when there's no driver |
| snowmobile.allterrain | convar | False | If true, snowmobile goes fast on all terrain types |
| snowmobile.outsidedecayminutes | convar | 1440 | How long before a snowmobile loses all its health while outside |
| socket_free_snappable.debugsnapping | convar | False | When enabled, draws debug visualisations for deployable snapping calculations showing candidate snap points and distances |
| socket_free_snappable.snappingmode | convar | 2 | The current snapping mode for deployables. |
| softcore.raidwindow_allow_tc_authed | convar | True | Allow 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_twig | convar | True | Allow explosive damage to twig-grade building blocks even outside the raid window |
| softcore.raidwindow_block_extra_enabled | convar | True | Outside 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_type | convar | 8 | Rust.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_doors | convar | True | Outside the window, block melee damage to doors so they can't be beaten down while the window is closed |
| softcore.raidwindow_block_mlrs | convar | True | Block launching MLRS rockets outside the raid window so they are not wasted |
| softcore.raidwindow_enabled | convar | true | Enable Softcore raid windows: explosive damage to building blocks is only allowed inside the configured daily time window |
| softcore.raidwindow_end_hour | convar | 21 | Raid 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_seconds | convar | 3600 | Seconds after a base's tool cupboard is placed during which the base can still be raided outside the window; 0 disables |
| softcore.raidwindow_hours_offset | convar | 0 | Hours to widen the raid window on both sides for timezone spread (1 = opens one hour earlier and closes one hour later) |
| softcore.raidwindow_start_hour | convar | 18 | Raid window start hour in server system local time, 0-24 (default 18 = 6pm) |
| softcore.raidwindow_status | command | — | Print the current raid-window state: server local time, effective hours, and whether the window is open right now |
| softcore.raidwindow_weekend_enabled | convar | false | Use separate raid hours on Saturday and Sunday |
| softcore.raidwindow_weekend_end_hour | convar | 22 | Weekend raid window end hour, server local time (used when softcore.raidwindow_weekend_enabled is true) |
| softcore.raidwindow_weekend_start_hour | convar | 17 | Weekend raid window start hour, server local time (used when softcore.raidwindow_weekend_enabled is true) |
| solarpanel.sunupdatebudgetms | convar | 0.05 | |
| spawn.cargoshipdockingtest | command | — | Spawns a cargo ship and initiates the harbor docking test sequence at the specified docking path index; used to test cargo ship docking behaviour at harbors |
| spawn.cargoshipevent | command | — | Spawns a cargo ship and starts the cargo ship event immediately, bypassing the normal random event scheduler |
| spawn.ch47event | command | — | Triggers a CH47 Chinook scientist event targeting the calling player position; optionally pass a start distance in metres (default 300) |
| spawn.delete_all_populations | command | — | Deletes all entities from every active population spawner on the server at once; effectively despawns all wildlife, NPCs, and resource nodes |
| spawn.delete_populations | command | — | Deletes all spawned entities belonging to the named population(s); pass one or more population names as arguments to target specific groups |
| spawn.dump_map | command | — | Generates a debug spawn map for a named population, simulating up to the given number of spawn attempts and reporting how many would succeed; used to diagnose spawn point coverage |
| spawn.fill_groups | command | — | Fills all spawn groups to their maximum count without waiting for the normal tick interval |
| spawn.fill_individuals | command | — | Immediately respawns all individually tracked entities that are currently missing, bypassing the normal tick_individuals delay |
| spawn.fill_populations | command | — | Immediately fills all population spawners to their target density; useful after a wipe or server restart to skip the gradual ramp-up period |
| spawn.loot_population_test | convar | 0 | If set the loot spawn system will consider this the player count, not the actual player count. Useful for testing |
| spawn.max_density | convar | 1 | Maximum population density scalar; controls the upper bound for how densely spawnable items fill their designated spawn areas at high player counts |
| spawn.max_rate | convar | 1 | Maximum spawn rate scalar applied to NPC/resource population spawning; the spawn tick rate scales up to this value as player count increases |
| spawn.min_density | convar | 0.5 | Minimum population density scalar; controls the lower bound for how densely spawnable items fill their designated spawn areas at low player counts |
| spawn.min_rate | convar | 0.5 | Minimum spawn rate scalar applied to NPC/resource population spawning; lower values slow down respawn ticking when server population is low |
| spawn.ore_map | command | — | Renders a PNG of every spawned ore nodes location to <rootFolder>/debug/ore-nodes.png (blue rings = safezones) |
| spawn.player_base | convar | 100 | Base player count used when computing population spawn rates; below this value player_scale group rates are not yet applied |
| spawn.player_scale | convar | 2 | Multiplier 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_rate | convar | 300 | When scaling loot respawn rates by population, this will be considered the 'max' population, preventing loot speeding up if player counts are above this |
| spawn.report | command | — | Prints a spawn handler report listing all populations, their current count, target count, and fill percentage; pass true for detailed mode or a name filter as a second argument |
| spawn.reset_groups | command | — | Clears all spawn groups of already spawned entities, then re-fills them |
| spawn.respawn_groups | convar | True | When enabled, spawn groups (monument NPCs, timed event spawners) will respawn their entities after they are cleared |
| spawn.respawn_individuals | convar | True | When enabled, individually tracked entities (e.g. specific persistent NPCs) will respawn after a delay when destroyed |
| spawn.respawn_populations | convar | True | When enabled, population spawners (animals, NPCs, resources) will respawn entities over time as they are killed or harvested |
| spawn.respawnloot_all | command | — | Respawns loot in all loot containers currently on the server |
| spawn.respawnloot_lookingat | command | — | Respawns loot in the loot container currently being looked at |
| spawn.respawnloot_radius | command | — | Respawns loot in all loot containers within the given radius |
| spawn.scalars | command | — | Prints a table of current spawn scalar values including player fraction, excess, population rate, density, and group rate; pass --json for machine-readable output |
| spawn.simulate_loot | command | — | <iterations> - Simulates a number of iterations on the closest loot container and sums up the items spawned |
| spawn.svshielddummy | command | — | Server-side handler that spawns a dummy player entity at the given position and direction loaded with the Shields loadout, optionally holstering the shield; triggered by spawn.shielddummy |
| spawn.tick_individuals | convar | 300 | Interval in seconds between individual entity respawn ticks; controls how frequently the server checks for and respawns dead individual entities |
| spawn.tick_populations | convar | 60 | Interval in seconds between population spawn ticks; lower values cause populations to refill faster but increase server CPU load |
| squirrel.population | convar | 2 | Population active on the server, per square km |
| SSS.enabled | convar | True | Enables the sub-surface scattering post-process effect on character skin, giving skin a translucent appearance under direct lighting |
| SSS.halfres | convar | True | Renders the sub-surface scattering effect at half resolution, halving the GPU cost at the expense of slight softness in skin shading |
| SSS.quality | convar | 0 | Sub-surface scattering quality level; deprecated and no longer used in current builds |
| SSS.scale | convar | 1 | Controls the intensity of the sub-surface scattering effect; higher values make skin appear more translucent under direct light |
| stability.accuracy | convar | 0.001 | Floating-point tolerance used when comparing stability values during propagation; smaller values are more precise but can cause more recalculations |
| stability.collapse | convar | 0.05 | Stability 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_death | convar | False | When enabled, logs when entities die because their ground support entity was destroyed or is missing |
| stability.log_stability_death | convar | False | When enabled, logs each entity death caused by a stability collapse to the server console with position and prefab name |
| stability.log_stability_updates | convar | False | When enabled, logs every stability value change during propagation; very verbose, use only for targeted debugging |
| stability.refresh_stability | command | — | Forces an immediate recalculation of stability for all building blocks in the world; expensive on large bases |
| stability.stabilityqueue | convar | 9 | Maximum time in seconds that stability update jobs can run per server tick before being deferred to the next tick |
| stability.strikes | convar | 10 | Number of stability propagation iterations performed per tick; higher values resolve complex multi-block stability chains faster at the cost of CPU time |
| stability.surroundingsqueue | convar | 3 | Maximum time in seconds that surrounding-support check jobs can run per server tick before deferral |
| stability.verbose | convar | 0 | Verbosity level for stability system logging; 0 = silent, higher values print more detail about stability calculations and propagation |
| stag.population | convar | 3 | Population active on the server, per square km |
| stash.reveal_tick_rate | convar | 0.5 | Interval in seconds between player-detection ticks for the stash container reveal mechanic; registered as stash.reveal_tick_rate |
| steam.server_allow_steam_nicknames | convar | True | |
| storagecontainer.canrequireauthifnolock | convar | False | When enabled, storage containers without a lock can still require tool cupboard auth to access; default false |
| storagecontainer.corpseitemssavedpercent | convar | 0.5 | Fraction of items preserved when a storage container spawns a death corpse; 0.5 = 50% of items survive the container death |
| storagecontainer.dropcorpseondeath | convar | — | When enabled, storage containers that die spawn a loot corpse containing their items; when false items are destroyed |
| supply.call | command | — | Calls in a supply drop to a specific grid coordinate or position; useful for testing supply crate loot tables and airdrop pathing |
| supply.drop | command | — | Spawns a supply drop at the calling admin or player position; the drop falls from the sky with a parachute like a naturally occurring airdrop |
| system.cpu_affinity | command | — | Sets the CPU core affinity mask for the process using comma-separated core indices or dash-separated ranges (e.g. 0,2-5) |
| system.cpu_priority | command | — | Sets the OS process priority class (belownormal, normal, abovenormal, high); Idle and Realtime are blocked; not supported on OSX |
| telephonemanager.maxcalllength | convar | 120 | Maximum duration in seconds a telephone call can remain active before it is automatically terminated |
| telephonemanager.maxconcurrentcalls | convar | 10 | Maximum number of simultaneous active telephone calls allowed on the server at any time |
| telephonemanager.printallphones | command | — | Prints a table of all registered telephone entities showing their number, directory name, and world position |
| terrain.quality | convar | 100 | Controls terrain rendering quality (0-100) including heightmap resolution and detail mesh density; lower values improve performance significantly on large maps |
| territory.clear | command | — | Clear all territory ownership |
| territory.createfaction | command | — | Create a faction, or recolour an existing one: territory.createfaction <name> <html colour, e.g. #FF0000 or #FF0000B0> |
| territory.destroy | command | — | Remove the territory grid entirely |
| territory.factions | command | — | List created factions and their colours |
| territory.fill | command | — | Fill every hex cell: territory.fill <faction name|none> |
| territory.hexsize | convar | 50 | Hex cell size in metres (centre to corner). Changing it rebuilds the grid and wipes ownership |
| territory.offsetx | convar | — | Shifts the whole territory grid east/west in metres. Painted cells move with it |
| territory.offsetz | convar | — | Shifts the whole territory grid north/south in metres. Painted cells move with it |
| territory.preview | convar | False | Preview every territory grid tile on the map, owned or not. Requires the grid to exist on the server |
| territory.setat | command | — | Set the hex cell containing a world position: territory.setat <x> <z> <faction name|none> |
| territory.setcell | command | — | Set a hex cell by index: territory.setcell <cell> <faction name|none> |
| territory.sethere | command | — | Set the hex cell at your position: territory.sethere <faction name|none> |
| territory.state | command | — | Returns a JSON report of the territory grid: dimensions, offsets and a per-faction breakdown (cells held, share of claimed land, region counts) sorted by holdings |
| ticklogging.tick_uploader_lifetime | convar | 60 | time (in seconds) before the tick uploader is disposed and recreated |
| tiger.population | convar | 0.5 | Population active on the server, per square km |
| tigerfsm.chargerange | convar | 20 | The range at which the tiger will charge instead of fleeing if aimed at |
| tigersneaktelegraphgrowl.minangle | convar | 60 | Minimum angle for the tiger to growl when stalking a player |
| tigersneaktelegraphgrowl.mintimebetweengrowls | convar | 5 | Time between growls when stalking a player |
| time.cl_maxstepsperframe | convar | 2 | The maximum amount physics ticks per frame on clients. If things are taking too long, time slows down |
| time.cl_steps | convar | 32 | Desired physics ticks per second on clients |
| time.framestep | convar | — | Game seconds each frame advances by however long it really took. 0 follows the wall clock |
| time.missiontimerscale | convar | 1 | Time scale which only affects mission timers |
| time.pausewhileloading | convar | True | Pause time while loading |
| time.sv_maxstepsperframe | convar | — | The maximum amount physics ticks per frame on the server. If things are taking too long, time slows down |
| time.sv_steps | convar | — | Desired physics ticks per second on the server |
| time.timescale | convar | — | The time scale |
| traincar.decayminutes | convar | 30 | How long before a train car despawns |
| traincar.killofftracktrains | convar | True | Should train cars that are not spawned near train tracks be killed instantly (default = true) |
| traincar.population | convar | 2.3 | Population active on the server |
| traincar.trainturretinaccuratepervelocity | convar | 0.1 | Chance to miss per m/s of velocity for turrets shooting players on moving trains |
| traincar.wagons_per_engine | convar | 2 | Ratio of wagons to train engines that spawn |
| traincarunloadable.decayminutesafterunload | convar | 10 | How long before an unloadable train car despawns afer being unloaded |
| traincouplingcontroller.max_couple_speed | convar | 9 | Maximum difference in velocity for train cars to couple |
| translate.overrideculture | convar | — | |
| translate.printcultureinfo | command | — | |
| travellingvendor.alive_time_seconds | convar | 1800 | Maximum lifetime in seconds before the Travelling Vendor despawns; default 1800s (30 minutes) |
| travellingvendor.attempt_pullovers | convar | True | When enabled, the Travelling Vendor will attempt to stop for players and perform pullover interactions along its route |
| travellingvendor.max_speed | convar | 5 | |
| travellingvendor.should_destroy_buildings | convar | False | When enabled, the Travelling Vendor will destroy player-placed buildings that block its ring road path |
| travellingvendor.should_spawn | convar | True | When enabled, the Travelling Vendor NPC is eligible to spawn on the server ring road; disable to prevent vendor spawning |
| travellingvendor.spawn | command | — | Spawns a Travelling Vendor at the calling player's position on the nearest ring road; registered as travellingvendor.spawn |
| travellingvendor.startevent | command | — | Spawns a Travelling Vendor event instance; registered as travellingvendor.startevent |
| tree.global_broadcast | convar | False | When enabled, tree harvest events are broadcast to all connected clients, not just nearby players; useful for testing tree sync across the network |
| tree.hit_forgiveness | convar | 0.12 | extra aim forgiveness radius in meters, applied when a melee swing narrowly misses a thin tree, 0 to disable |
| tree.hit_forgiveness_max_trunk | convar | 0.15 | only trunks with a radius in meters at or below this are given melee aim forgiveness, sized to cover tiny and small trees only |
| tree.simplified_collider | convar | False | When enabled, trees use a simplified capsule collider instead of the full mesh collider, reducing physics CPU cost at the expense of collision accuracy |
| treemanager.cellsize | convar | 100 | Define 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.enabletreestreaming | convar | True | When enabled, tree data is streamed to players based on proximity rather than sending all trees at connect; reduces initial bandwidth |
| treemanager.playerbudgetms | convar | 0.01 | Per-frame CPU budget in milliseconds allocated to sending tree streaming data per player |
| treemanager.updatebudgetms | convar | 1 | Total per-frame CPU budget in milliseconds for the tree streaming update system |
| treemanager.uselazyserialization | convar | True | Instead 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. |
| triggerbase.clearexcludelayers | command | — | Removes the exclude layer configuration from all registered TriggerBase instances, resetting them to detect all layers |
| triggerbase.setexcludelayers | command | — | Applies the configured exclude layer mask to all registered TriggerBase instances to filter out unwanted layer detections |
| triggerbase.useexcludelayers | convar | — | When enabled, triggers use an exclude layer mask to filter out specific physics layers from trigger detection; toggling clears or sets all active triggers |
| triggerboatmagnet.boatmagnetsenabled | convar | True | When enabled, boat building station magnets are active and will magnetically attract compatible boat building blocks into position |
| triggerparent.allowtriggersleeping | convar | True | Allow triggers to sleep if both they and their contents are stationary (TickMode 1 only) |
| triggerparent.sleeping_trigger_mask_epsilon | convar | 0.001 | world units a trigger can move in WS before it is woken |
| triggerparent.tickmode | convar | 1 | 0 - old InvokeHandler, 1 - Jobs |
| triggerparentdelayedexit.disable_delayed_exit | convar | — | Makes TriggerParentDelayedExit act as a TriggerParent again |
| tugboat.tugcorpseseconds | convar | 7200 | how long until boat corpses despawn (excluding tugboat) |
| tugboat.tugdecayminutes | convar | 2160 | How long before a tugboat loses all its health while outside |
| tugboat.tugdecaystartdelayminutes | convar | 1440 | How long until decay begins after the tugboat was last used |
| tutorialisland.debugislandpositions | command | — | |
| tutorialisland.enforcetrespasschecks | convar | True | |
| tutorialisland.overridetutoriallocation | convar | — | Will place the tutorial as close as possible to this pos, only for debugging |
| tutorialisland.spawntutorialislandfornewplayer | convar | True | |
| ui_dropscontroller.show_placeholder_drop_data | convar | — | When enabled, shows placeholder/test drop data in the drops controller UI instead of live manifest data; saved between sessions |
| ui_menubackgroundvideo.emulateerror | command | — | Triggers the video error handler on the main menu background video component, simulating a video load failure for UI testing |
| ui_menubackgroundvideo.forcenextvideo | command | — | Forces all active main menu background video players to advance to the next video in their playlist immediately |
| ui_menubackgroundvideo.restrictmp4 | convar | True | When enabled, MP4 video files are not used for the main menu background, falling back to WebM; use to work around MP4 codec issues |
| uiescapecapture.debug | convar | — | When enabled, draws debug visualisations for this system (seismic sensor range sphere, escape capture state, etc.); editor/admin-only |
| unsafe.debugmtlockmaxframes | convar | 5 | How many frames of a stack to emit |
| unsafe.enabledebugmtlock | convar | — | Controls DebugMTLock checks, which help track down thread races. Has minor perf impact, so prefer to keep disabled |
| unsafe.usemultithreadedscripting | convar | 1 | Controls multithreading access to scripting API - can be fast, but unsafe. Disabling can help with instability |
| vddraw.setisrecording | command | — | Toggles or explicitly sets VDDraw recording state; when enabled starts capturing DDraw commands for replay; when disabled stops recording |
| vehicle.autohover | command | — | Toggles auto-hover mode on the mini-helicopter the calling player is piloting, maintaining altitude automatically without pilot input |
| vehicle.boat_corpse_seconds | convar | 300 | how long until boat corpses despawn (excluding tugboat - use tugboat_corpse_seconds) |
| vehicle.boatdriftinfo | command | — | Print out boat drift status for all boats |
| vehicle.carwrecks | convar | True | Determines whether modular cars turn into wrecks when destroyed, or just immediately gib. Default: true |
| vehicle.cinematictrains | convar | False | If true, trains always explode when destroyed, and hitting a barrier always destroys the train immediately. Default: false |
| vehicle.deepseaportal_boundary_force_start_distance | convar | 10 | Distance in metres from a deep-sea portal boundary at which the repulsion force activates for vehicles |
| vehicle.disable_wheels_when_sleeping | convar | True | When enabled, wheel colliders are disabled on vehicles that have gone to sleep in the physics engine, reducing CPU overhead for parked vehicles |
| vehicle.fixcars | command | — | Fixes up vehicles within 10m of the player by repairing to full hp, adding fuel to engines, and more |
| vehicle.killboats | command | — | Destroys all boat vehicles (rowboats, RHIBs) currently spawned on the server |
| vehicle.killcars | command | — | Destroys all modular car vehicles currently spawned on the server |
| vehicle.killdrones | command | — | Destroys all drone vehicles currently spawned on the server |
| vehicle.killminis | command | — | Destroys all minicopter vehicles currently spawned on the server |
| vehicle.killmotorbikes | command | — | Destroys all motorbike vehicles currently spawned on the server |
| vehicle.killpushbikes | command | — | Destroys all push bike vehicles currently spawned on the server |
| vehicle.killscraphelis | command | — | Destroys all scrap transport helicopter vehicles currently spawned on the server |
| vehicle.killtrains | command | — | Destroys all train vehicles currently spawned on the server |
| vehicle.padrepairsrequired | convar | True | Whether 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.setrepairablepads | command | — | Forces every repairable vehicle pad on the map to be rebuilt, or pass false to wreck them again. |
| vehicle.stop_all_trains | command | — | Immediately stops all train entities on the server, zeroing their speed; useful for clearing deadlocked train paths |
| vehicle.swapseats | command | — | |
| vehicle.swaptoseat | command | — | |
| vehicle.train_accel_force | convar | 50000 | Acceleration force used by vehicle.train_speed (default 50000, same as train engine force) |
| vehicle.train_brake_force | convar | 50000 | Braking force used by vehicle.train_stop (default 50000, same as train engine force) |
| vehicle.train_list | command | — | List all train engines with their entity IDs and current speeds. |
| vehicle.train_speed | command | — | Set a train's target speed in km/h. Usage: vehicle.train_speed <km/h> (look-at) or vehicle.train_speed <id> <km/h>. Negative = reverse. |
| vehicle.train_speed_all | command | — | Set all trains to the same target speed in km/h. Usage: vehicle.train_speed_all <km/h>. Negative = reverse. |
| vehicle.train_stop | command | — | Gradually brake a train to a stop. Usage: vehicle.train_stop (look-at) or vehicle.train_stop <id>. |
| vehicle.trainskeeprunning | convar | False | Determines whether trains stop automatically when there's no-one on them. Default: false |
| vehicle.vehiclesdroploot | convar | True | Determines whether vehicles drop storage items when destroyed. Default: true |
| vehicle.world_boundary_force_offset | convar | 25 | Additional 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_distance | convar | 100 | Distance in metres from the world boundary at which a repulsion force starts pushing vehicles back inward; prevents vehicles from leaving the playable area |
| vendingmachine.clearallvendingcustomerhistory | command | — | Wipe the backend customer stats data on all vending machines. Slow operation. |
| vendingmachine.clearallvendinghistory | command | — | Wipe the backend stats data on all vending machines. Slow operation. |
| vendingmachine.max_history | convar | 10000 | |
| vendingmachine.max_processed | convar | 10000 | |
| vendingmachine.max_returned | convar | 100 | |
| vine.draw_debug | convar | — | |
| vine.prevent_vine_draw | convar | — | |
| vinemountable.allowchaining | convar | True | |
| vis.attack | convar | — | Turns on debug display of attacks |
| vis.damage | convar | — | Turns on debug display of damages |
| vis.hitboxes | convar | — | Turns on debug display of hitboxes |
| vis.lerp | convar | — | Turns on debug display of lerp |
| vis.lineofsight | convar | — | Turns on debug display of line of sight checks |
| vis.protection | convar | — | Turns on debug display of protection |
| vis.sense | convar | — | Turns on debug display of senses, which are received by Ai |
| vis.triggers | convar | — | Show trigger entries |
| vis.weakspots | convar | — | Turns on debug display of weakspots |
| voice.loopback | convar | False | When enabled, routes the local player microphone input back through the voice chat system so they can hear their own voice; useful for testing microphone levels |
| voice.togglevoicerangeboost | command | — | Enabled/disables voice range boost for a player eg. ToggleVoiceRangeBoost sam 1 |
| voice.voicerangeboostamount | convar | 50 | |
| water.quality | convar | 1 | Controls the draw distance and density quality of decorative foliage and props; lower values improve performance by reducing the amount of decoration rendered |
| water.reflections | convar | 1 | Controls the quality of water surface reflections (0=off, 1=simple probe, 2=full planar reflections); higher values are significantly more GPU-intensive |
| water.scaled_time | convar | 0 | When enabled, water simulation advances in scaled (game) time rather than real time; useful for testing water behaviour during time-scale debugging |
| watercatcher.forceenableconditionalspawning | convar | False | Debug flag to force enable conditional spawning for all water catchers, regardless of their individual settings. |
| watercatcher.oilproductionstartdelay | convar | 900 | How long in seconds an oil pump runs after its oil switch is activated before it starts producing crude. |
| watercatcher.watercatcherbudgetms | convar | 0.1 | |
| watertreatmentflowratebroadcast.force_flow_rate | command | — | Force the water treatment flow rate per minute. Pass no argument to release the override and return to pressure-derived state. |
| watertreatmentflowratebroadcast.get_num_broadcasters | command | — | |
| watertreatmentflowratebroadcast.get_num_listeners | command | — | |
| watertreatmentwatercatcher.evaporationperminute | convar | 200 | |
| watertreatmentwatertank.debug_wtp_pressure | command | — | |
| watertreatmentwatertank.force_pressure | command | — | |
| watertreatmentwatertank.maxflowrateperminute | convar | 1020 | |
| watertreatmentwatertank.maximumpressure | convar | 360 | |
| watertreatmentwatertank.pressuredecayperminute | convar | 1 | |
| waypointrace.racetimeout | convar | 900 | How long a race can go until it times out (in seconds) |
| waypointrace.startrace | command | — | |
| weather.ambient_light_multiplier | convar | -1 | |
| weather.arctic_fog_ambient_intensity_mult | convar | -1 | |
| weather.arctic_fog_light_boost_mult | convar | -1 | |
| weather.arctic_fog_ramp_end | convar | -1 | |
| weather.arctic_fog_ramp_start | convar | -1 | |
| weather.arid_fog_ambient_intensity_mult | convar | -1 | |
| weather.arid_fog_light_boost_mult | convar | -1 | |
| weather.arid_fog_ramp_end | convar | -1 | |
| weather.arid_fog_ramp_start | convar | -1 | |
| weather.atmosphere_brightness | convar | -1 | |
| weather.atmosphere_contrast | convar | -1 | |
| weather.atmosphere_directionality | convar | -1 | |
| weather.atmosphere_fog_height_falloff | convar | -1 | |
| weather.atmosphere_fog_ramp_end_distance | convar | -1 | |
| weather.atmosphere_fog_ramp_start_distance | convar | -1 | |
| weather.atmosphere_mie | convar | -1 | |
| weather.atmosphere_rayleigh | convar | -1 | |
| weather.biome_fog_ambient_saturation_mult | convar | -1 | |
| weather.biome_fog_distance_curve | convar | -1 | |
| weather.clear_chance | convar | 1 | |
| weather.cloud_attenuation | convar | -1 | |
| weather.cloud_brightness | convar | -1 | |
| weather.cloud_coloring | convar | -1 | |
| weather.cloud_config | convar | -1 | |
| weather.cloud_coverage | convar | -1 | |
| weather.cloud_opacity | convar | -1 | |
| weather.cloud_saturation | convar | -1 | |
| weather.cloud_scattering | convar | -1 | |
| weather.cloud_sharpness | convar | -1 | |
| weather.cloud_size | convar | -1 | |
| weather.debug_cloud_position | command | — | Prints the current cloud system world position and layer offsets to the console; useful for debugging cloud layer alignment on the map |
| weather.directional_light_multiplier | convar | -1 | |
| weather.dust_chance | convar | 0 | |
| weather.fog | convar | -1 | |
| weather.fog_chance | convar | 0 | |
| weather.fog_multiplier | convar | -1 | |
| weather.jungle_fog_ambient_intensity_mult | convar | -1 | |
| weather.jungle_fog_light_boost_mult | convar | -1 | |
| weather.jungle_fog_ramp_end | convar | -1 | |
| weather.jungle_fog_ramp_start | convar | -1 | |
| weather.list_cloud_configs | command | — | Lists all available volumetric cloud configuration asset names registered in the Climate instance |
| weather.load | command | — | Loads and applies a named weather preset to the climate system; admin/developer only; server replicates the change to all clients |
| weather.load_cloud_config | command | — | Loads a named volumetric cloud configuration and applies it to the climate override; admin/developer only; server replicates to clients |
| weather.moon_mesh_brightness_multiplier | convar | -1 | |
| weather.ocean_scale | convar | -1 | |
| weather.ocean_time | convar | -1 | |
| weather.overcast_chance | convar | 0 | |
| weather.rain | convar | -1 | |
| weather.rain_chance | convar | 0 | |
| weather.rain_grace_active | convar | false | Whether the post-wipe rain grace period is currently active (set automatically by the server) |
| weather.rain_grace_period | convar | 18 | Number of in-game hours after a wipe during which rain and storms are suppressed (0 to disable) |
| weather.rainbow | convar | -1 | |
| weather.reflection_multiplier | convar | -1 | |
| weather.report | command | — | Prints a detailed report of the current weather state including fog, rain, wind, cloud, and all climate parameter values; admin/developer only |
| weather.reset | command | — | Resets all weather overrides and cloud configurations, restoring the dynamic weather system; admin/developer only; server replicates to clients |
| weather.reset_cloud_config | command | — | Clears the volumetric cloud configuration override and resets cloud settings to the dynamic weather system; server replicates to clients |
| weather.savetofile | command | — | Saves the current environment and weather snapshot to cfg/<name>.cfg so it can later be restored with exec |
| weather.storm_chance | convar | 0 | |
| weather.sun_mesh_brightness_multiplier | convar | -1 | |
| weather.temperate_fog_ambient_intensity_mult | convar | -1 | |
| weather.temperate_fog_light_boost_mult | convar | -1 | |
| weather.temperate_fog_ramp_end | convar | -1 | |
| weather.temperate_fog_ramp_start | convar | -1 | |
| weather.thunder | convar | -1 | |
| weather.tundra_fog_ambient_intensity_mult | convar | -1 | |
| weather.tundra_fog_light_boost_mult | convar | -1 | |
| weather.tundra_fog_ramp_end | convar | -1 | |
| weather.tundra_fog_ramp_start | convar | -1 | |
| weather.vclouds_moon_color_scale | convar | -1 | |
| weather.vclouds_sun_color_scale | convar | -1 | |
| weather.wetness_rain | convar | 0.4 | Controls how wet surfaces become during rain; higher values cause characters and world objects to appear more soaked when it is raining |
| weather.wetness_snow | convar | 0.2 | Controls how wet surfaces become during snow; affects surface wetness shaders independently from rain wetness |
| weather.wind | convar | -1 | |
| wildlifehazard.chancetorepositionmultiplier | convar | 1 | Global multiplier applied to the per-tick probability that a wildlife hazard attempts to reposition |
| wildlifehazard.clienttickrate | convar | 0.1 | Interval in seconds between client-side tick updates for wildlife hazard entities |
| wildlifehazard.reactiontimemultiplier | convar | 1 | Global multiplier applied to wildlife hazard reaction time; higher values make hazards slower to react to player presence |
| wildlifehazard.repositionattempts | convar | 5 | Maximum number of position candidates sampled when a wildlife hazard searches for a valid reposition destination |
| wildlifehazard.repositionradiusmultiplier | convar | 1 | Global multiplier for the radius used when choosing a new reposition destination for a wildlife hazard |
| wildlifehazard.repositiontimermultiplier | convar | 1 | Global multiplier applied to the cooldown timer between wildlife hazard reposition attempts |
| wipetimer.days_to_add_test | convar | 0 | Number 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_test | convar | 0 | Number of hours to add to the server's wipe timer during testing; registered as wipetimer.hours_to_add_test |
| wipetimer.printtimezones | command | — | Prints a JSON list of all system, Windows, and IANA timezone identifiers available on the server machine |
| wipetimer.printwipe | command | — | Prints the current wipe timer status including next wipe date, frequency, and time remaining |
| wipetimer.wipecronoverride | convar | | Custom 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.wipedayofweek | convar | 4 | 0=sun,1=mon,2=tues,3=wed,4=thur,5=fri,6=sat |
| wipetimer.wipehourofday | convar | 19 | Which hour to wipe? 14.5 = 2:30pm |
| wipetimer.wipetimezone | convar | Europe/London | The 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.wipeunixtimestampoverride | convar | — | Unix timestamp (seconds) for the upcoming wipe. Overrides all other convars if set to a time in the future. |
| wolf2.population | convar | 2 | Population active on the server, per square km |
| workbench.comfortradiusscale | convar | 0.95 | Multiplier applied to the comfort trigger radius after range upgrade scaling |
| workbench.scalecomfortradius | convar | True | Whether the range upgrade scales the comfort trigger radius |
| workbench.skipclearancechecks | convar | False | Skip server-side upgrade clearance zone checks |
| workshop.print_approved_skins | command | — | Prints a list of all workshop-approved skins on the server with their item short names and approved skin IDs |
| world.cache | convar | True | When enabled, caches world data for faster loading; disabled by default in editor server builds to ensure fresh data during development |
| world.configfile | convar | — | Path to a world generation config file used by the procedural map generator; used when configString is empty |
| world.configstring | convar | — | World generation config string passed directly to the procedural map generator; overrides the config file if set |
| world.drawbounds | command | — | Draws flat wireframe boxes in the world showing world bounds (red), terrain margin (yellow), deep sea bounds (cyan), and portal bounds (green/magenta) for the given duration in seconds |
| world.monuments | command | — | Prints a table of all monuments on the current map including type, display name, prefab path, and world position; admin/developer only |
| world.renderlabs | command | — | Renders a PNG of the current map's underwater labs, for a specific floor |
| world.rendermap | command | — | Renders a high resolution PNG of the current map |
| world.rendertunnels | command | — | Renders a PNG of the current map's tunnel network |
| world.streaming | convar | True | When enabled, world assets are streamed in and out based on proximity; disable to force all world data to stay loaded at once |
| world.topology_hierarchy_validate | convar | False | Cross-checks every topology radius query against a flat scan and logs mismatches; slow, for validating the topology hierarchy |
| xmas.enabled | convar | False | Enables the Christmas event on the server, activating Christmas-themed loot spawns, trees, and holiday gift mechanics |
| xmas.giftsperplayer | convar | 2 | Target number of gift entities to maintain per connected player during the xmas event; controls overall gift density on the server |
| xmas.refill | command | — | Manually triggers a Christmas gift spawn pass, filling the world with gifts up to the giftsPerPlayer target for all connected players |
| xmas.spawnattempts | convar | 5 | Number of spawn attempts made per player when trying to place Christmas gifts during refill; higher values increase fill reliability in cluttered areas |
| xmas.spawnrange | convar | 40 | Radius in metres around each player within which Christmas gift entities are spawned during the xmas event refill |
| xmasdungeon.playerdetectrange | convar | 30 | How far we detect players from our inside/outside |
| xmasdungeon.xmaslifetime | convar | 1200 | How long each active dungeon should last before dying |
| xmasdungeon.xmaspopulation | convar | 0 | Population active on the server |
| ziplinelaunchpoint.highlight | command | — | |
| ziplinelaunchpoint.report | command | — | |
| zombie.population | convar | — | Population active on the server, per square km |