The RUST scientist command and variables
The RUST scientist command, introduced in Devblog 195, allows admins and moderators to spawn scientist NPCs into the game server. The scientists are controlled by an AI system that can be configured through server variables. In Devblog 194, player worn radiation suits had a full makeover, to help differentiate players from the scientists NPCs, which wear a solid blue colored radiation suit and can be seen wielding numerous range and melee weapons.
As of Devblog 198, scientists still inhabit the Military Tunnel monument but are now also spawn at some vehicle junk piles. These scientists will behave a lot less aggressively than those found in the Military Tunnels. They’ve also been modified to now carry a Geiger counter by day and a flashlight by night. They’re also wielding an M92 if an engagement occurs.
Server admins and moderators can still manually spawn scientists into the game world and a full list of variables controlling the scientist event and AI can be found below.
A few practical reasons for using the RUST scientist command and variables:
- The RUST scientist command can help add much-needed NPCs to your server
- Allows players to interact with more hostile NPCs, adding more danger to exploration
- Spawning scientist into the game for custom events and mayhem
- Spawning in Scientist is a great way to get in some target practice
- Adds new goals for players to seek out and adds more content for PVE based servers
- Admins can advertise a unique aspect of their RUST servers
Who can enter the RUST scientist command and variables
The RUST scientist command and variables can be issued and configured on vanilla RUST servers by RUST admins and moderators only. Non-admin players on vanilla RUST servers cannot use the RUST scientist command and variables.
RUST spawn scientist command (1 of 2)
- This command is used to manually spawn a scientist into the game, regardless if the RUST scientist has been enabled.
- When issuing this command, the initiating player must be above the ground and not clipped
- The mouse cursor needs to be pointed in the exact location of where the scientist should spawn
- An individual scientist can be removed using the ent kill command
- There are five different scientist NPCs that can now be spawned in:
- scientist
- scientist_gunner
- scientist_junkpile
- scientistpeacekeeper
- heavyscientist
Note that this command does not work from RCON platforms and does require being logged into the game server.
Use the command below to spawn a single scientist:
spawn scientist
On success the console will display:
spawned [16061800/98440768] at (0.0, 0.0, 0.0)
RUST ai.npc_enable variable (2 of 2)
- This variable is used to enable and disable the RUST scientist NPCs on a RUST game server. Note that some of the scientists are controlled by monument-specific convars.
- This setting defaults to true.
- This configuration must be set up in the server start-up script in order for the scientists to populate the server.
- This event can impact the server’s overall performance if any of the settings are wildly configured. Keep sane defaults.
- Nav_Mesh setting must be enabled if you want the scientists to move/roam around the map.
Note that this command does work from RCON platforms and doesn’t require being logged into the game server.
Get the server’s current configuration value
Use the command below to report the current configuration:
ai.npc_enable
On success the console will display:
ai.npc_enable: "True"
Enable the scientist NPCs
Use the command below to enable the scientist:
ai.npc_enable true
On success the console will display:
ai.npc_enable: "True"
Disable the scientist NPCs
Use the command below to enable the scientist:
ai.npc_enable false
On success the console will display:
ai.npc_enable: "False"
Related Scientist Variables
| Variable | Default | Description |
| ai.ailoadbalancerupdateinterval | 0.25 | Set the update interval for the behaviour ai of animals and npcs. |
| ai.aimanagerloadbalancerupdateinterval | 2.0 | Set the update interval for the agency of dormant and active animals and npcs. |
| ai.defaultloadbalancerupdateinterval | 2.5 | Set the update interval for the default load balancer, currently used for cover point generation. |
| ai.frametime | 5 | |
| ai.ignoreplayers | False | |
| ai.move | True | |
| ai.nav_carve_height | 2 | The height of the carve volume. |
| ai.nav_carve_min_base_size | 2 | The minimum size we allow a carving volume to be. |
| ai.nav_carve_min_building_blocks_to_apply_optimization | 25 | The minimum number of building blocks a building needs to consist of for this optimization to be applied. |
| ai.nav_carve_size_multiplier | 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. |
| ai.nav_carve_use_building_optimization | False | If nav_carve_use_building_optimization is true, we attempt to reduce the amount of navmesh carves for a building. |
| ai.npc_alertness_drain_rate | 0.01 | npc_alertness_drain_rate defines the rate at which we drain the alertness level of an NPC when there are no enemies in sight. |
| ai.npc_alertness_to_aim_modifier | 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. |
| ai.npc_alertness_zero_detection_mod | 0.5 | npc_alertness_zero_detection_mod define the threshold of visibility required to detect an enemy when alertness is zero. |
| ai.npc_cover_compromised_cooldown | 10 | npc_cover_compromised_cooldown defines how long a cover point is marked as compromised before it’s cleared again for selection. |
| ai.npc_cover_info_tick_rate_multiplier | 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 |
| ai.npc_cover_path_vs_straight_dist_max_diff | 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. |
| ai.npc_cover_use_path_distance | 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 | 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). |
| ai.npc_deliberate_miss_offset_multiplier | 1.25 | The offset with which the NPC will maximum miss the target. |
| ai.npc_deliberate_miss_to_hit_alignment_time | 1.15 | The time it takes for the NPC to deliberately miss to the time the NPC tries to hit its target. |
| ai.npc_door_trigger_size | 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 |
| ai.npc_enable | True | If npc_enable is set to false then npcs won’t spawn. |
| ai.npc_families_no_hurt | True | If npc_families_no_hurt is true, npcs of the same family won’t be able to hurt each other. |
| ai.npc_gun_noise_silencer_modifier | 0.15 | The modifier by which a silencer reduce the noise that a gun makes when shot. |
| ai.npc_htn_player_base_damage_modifier | 1.15 | Baseline damage modifier for the new HTN Player NPCs to nerf their damage compared to the old NPCs. |
| ai.npc_htn_player_frustration_threshold | 3 | pc_htn_player_frustration_threshold defines where the frustration threshold for NPCs go, where they have the opportunity to change to a more aggressive tactic. |
| ai.npc_ignore_chairs | True | If npc_ignore_chairs is true, npcs won’t care about seeking out and sitting in chairs. |
| ai.npc_junkpile_a_spawn_chance | 0.1 | npc_junkpile_a_spawn_chance define the chance for scientists to spawn at junkpile a. |
| ai.npc_junkpile_dist_aggro_gate | 8 | npc_junkpile_dist_aggro_gate define at what range (or closer) a junkpile scientist will get aggressive. |
| ai.npc_junkpile_g_spawn_chance | 0.1 | npc_junkpile_g_spawn_chance define the chance for scientists to spawn at junkpile g. |
| ai.npc_junkpilespawn_chance | 0.1 | ai.npc_junkpilespawn_chance defines the chance for scientists to spawn at NPC junkpiles. |
| ai.npc_max_junkpile_count | 30 | npc_max_junkpile_count define how many npcs can spawn into the world at junkpiles at the same time (does not include monuments) |
| ai.npc_max_population_military_tunnels | 3 | npc_max_population_military_tunnels defines the size of the npc population at military tunnels. |
| ai.npc_max_roam_multiplier | 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. |
| ai.npc_only_hurt_active_target_in_safezone | 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. |
| ai.npc_patrol_point_cooldown | 5 | npc_patrol_point_cooldown defines the cooldown time on a patrol point until it’s available again |
| ai.npc_reasoning_system_tick_rate_multiplier | 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 |
| ai.npc_respawn_delay_max_military_tunnels | 1920 | npc_respawn_delay_max_military_tunnels defines the maximum delay between spawn ticks at military tunnels. |
| ai.npc_respawn_delay_min_military_tunnels | 480 | npc_respawn_delay_min_military_tunnels defines the minimum delay between spawn ticks at military tunnels. |
| ai.npc_sensory_system_tick_rate_multiplier | 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 |
| ai.npc_spawn_on_cargo_ship | True | Spawn NPCs on the Cargo Ship. |
| ai.npc_spawn_per_tick_max_military_tunnels | 1 | npc_spawn_per_tick_max_military_tunnels defines how many can maximum spawn at once at military tunnels. |
| ai.npc_spawn_per_tick_min_military_tunnels | 1 | npc_spawn_per_tick_min_military_tunnels defines how many will minimum spawn at once at military tunnels. |
| ai.npc_speed_crouch_run | 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. |
| ai.npc_speed_crouch_walk | 0.1 | npc_speed_crouch_walk define the speed of an npc when in the crouched walk state, and should be a number between 0 and 1. |
| ai.npc_speed_run | 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. |
| ai.npc_speed_sprint | 1 | npc_speed_walk define the speed of an npc when in the sprint state, and should be a number between 0 and 1. |
| ai.npc_speed_walk | 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. |
| ai.npc_use_new_aim_system | True | If npc_use_new_aim_system is true, npcs will miss on purpose on occasion, where the old system would randomize aim cone. |
| ai.npc_use_thrown_weapons | True | If npc_use_thrown_weapons is true, npcs will throw grenades, etc. This is an experimental feature. |
| ai.npc_valid_aim_cone | 0.8 | npc_valid_aim_cone defines how close their aim needs to be on target in order to fire. |
| ai.npc_valid_mounted_aim_cone | 0.92 | npc_valid_mounted_aim_cone defines how close their aim needs to be on target in order to fire while mounted. |
| ai.npcsenseloadbalancerupdateinterval | 0.2 | Set the update interval for npc senses that updates the knowledge gathering of npcs. |
| ai.ocean_patrol_path_iterations | 100000 | |
| ai.selectnpclookatserver | ||
| ai.sensetime | 1 | |
| ai.think | True | |
| ai.tickrate | 5 |
Scientist Hazmat Suits (Gear)
Below are the RUST item IDs used to spawn in the different Hazmat suits found in RUST. These item IDs can be used with inventory. give and entity.spawnitem commands and passing the specific Item ID.
| Item ID | Color | Craftable |
| hazmatsuit | Red, Yellow, Blue | Yes |
| hazmatsuit_scientist | Blue | No |
| hazmatsuit_scientist_peacekeeper | Green | No |
| scientistsuit_heavy | Green | No |
Scientist Junk Piles
Below are the IDs used to spawn in the different junkpiles found in RUST. These objects can be spawned in the game using the spawn command and passing the specific Item ID.
| Item ID | Location |
| junkpile_a | Roadside, Powerline |
| junkpile_b | Roadside, Powerline |
| junkpile_c | Roadside, Powerline |
| junkpile_d | Roadside, Powerline |
| junkpile_e | Roadside, Powerline |
| junkpile_f | Roadside, Powerline |
| junkpile_g | Roadside, Powerline |
| junkpile_water_a | Underwater |
| junkpile_water_b | Underwater |
| junkpile_water_c | Underwater |



So given these variables, I want to decrease the accuracy and damage of scientists for a casual experience on my private server.
ai.npc_htn_player_base_damage_modifier – I set this to a few different values <1 and did the "spawn scientist" command. The scientist dealt the same amount of damage no matter what I set this variable to. It does not seem to work.
ai.npc_alertness_to_aim_modifier – I tried decreasing this to very low values like 0.1 to see if scientists would hit less of their shots. Did nothing, from what I could tell.
ai.npc_deliberate_miss_to_hit_alignment_time – Unclear what this does. I tried increasing this value, but it was hard to say it had much of an effect.