Space Engineers

Space Engineers

37 ratings
Crew Enabled User Guide
By Patrick
Provides crew members for NPC ships. Fully customize your Crew Enabled experience through the configuration file.
   
Award
Favorite
Favorited
Unfavorite
Provide Random Crew for NPC ships
This mod adds crews to NPC grids. Just the presence of other characters makes the world feel more alive and populated. These NPCs aren't just props! They will react to the players. Fully customizable.

Crew Enabled (Workshop link)
Features
  • Compatible with all NPC ship mods, MES, AI Enabled, et cetera
  • Compatible with the Economy stations, vanilla spawns, and vanilla encounters
  • Supports custom crew compositions
  • Compatible with characters from other mods
  • Compatible with hand weapons from other mods
Bugs, Suggestions, Questions, and Comments
While I appreciate the feedback and suggestions that arrive via comments here, I prefer to use a platform where I can provide superior communication and interaction. For this, I have created a Discord server where I can troubleshoot, give technical advice, and have discussions. Steam comments get lost to time, but Discord histories can be searched and referenced. So comments have been disabled. Go to the Discord.

Click here to go to Discord[discord.gg]
Support the Mod
If you would like to provide support for the continued development of this mod, please feel free to use Patreon[www.patreon.com].

I'm also happy with word-of-mouth advertising, so if you like it, get your friends to use it. :)
Quick Start
  • Add the mod to your game.
  • The next time you load your game, NPC characters will automatically populate grids.
  • Have fun exploring your populated star system!
Dedicated Servers
There are no known multiplayer issues.
CustomData
The following tags can be added to the CustomData field of any* seat block. These are not required for the mod to work; they are completely optional.

[Crew Enabled: always]
This will cause a crew character to always appear in the seat.

[Crew Enabled: never]
This will cause crew characters to never appear in the seat.

* Crew will never appear in beds or cryopods. Crew will never appear on player-owned grids.
Configuration
The configuration file can be used to adjust your experience with Crew Enabled to suit your preferred play style. The file is located in different locations, depending on how your game was created.
  • Do not change the configuration file while the game is using it. Your changes will be lost.
  • A default configuration with several sample crews will be written when you first run a game.
  • If you ever need the config reset, just delete the file and a new one will be created the next time you play.

File location (Dedicated Server)
{space engineers directory}/Saves/{save game name}/Storage/{mod name}\CrewEnabledConfig.xml

File location (Single Player, Hosted Multiplayer)
~\AppData\Roaming\SpaceEngineers\Saves\76561199002779266\{save game}\Storage\Crew Enabled_CrewEnabled\CrewEnabledConfig.xml

The configuration file contains the following sections.

Logging
This controls whether logging data is written to the game log file.

RazeInteriorTurrets
This controls whether interior turrets are removed from airtight spaces on grids with crew.

SupportedCharacters
This section has no functional purpose. It is provided as a convenience to the admin or player for configuring this mod.

SupportedHandWeapons
This section has no functional purpose. It is provided as a convenience to the admin or player for configuring this mod.

SupportedSounds
This section has no functional purpose. It is provided as a convenience to the admin or player for configuring this mod.

CrewDefinitions
This section allows you to create different types of crews, such as a group of civilian travelers, a team of battle ready soldiers, a crew of pirates, even a literal skeleton crew.

BlacklistFactions
This section allows you to specify factions that will never have their grids populated.

BlacklistGrids
This section allows you to specify grids that will never be populated.
<Logging>
This should always be false, unless you are working with the mod author. Setting this to true will flood your logs and severely impact your game's performance.

<Logging>false</Logging>
<RazeInteriorTurrets>
This removes all interior turrets from airtight spaces on grids with crews. This defaults to true.

<RazeInteriorTurrets>true</RazeInteriorTurrets>
<SupportedCharacters>
This section has no functional purpose. It is provided as a convenience to the admin or player for configuring this mod. These entries are used to populate the <CrewMember> and <Captain> sections.

Characters listed in this section are most likely to work with this mod. This section is populated automatically by the mod and updated every time the game runs. All characters in the game (vanilla and modded) are automatically detected, validated, and (if they appear to be complete and correctly configured) they will be listed in this section.

Entries are pre-formatted so they can be easily copied and pasted in to the desired categories.

If you add a character mod and the character(s) does not appear in this list, then there is a problem with the character and it cannot be used as a crew member or captain.

Changing or modifying this list has no effect on the game.

<SupportedCharacters> <SubtypeId>Default_Astronaut</SubtypeId> <SubtypeId>Default_Astronaut_Female</SubtypeId> <SubtypeId>Drone_Bot</SubtypeId> <SubtypeId>Boss_Bot</SubtypeId> <SubtypeId>Police_Bot</SubtypeId> <SubtypeId>Target_Dummy</SubtypeId> <SubtypeId>Space_Skeleton</SubtypeId> <SubtypeId>Ghost_Bot</SubtypeId> </SupportedCharacters>
<SupportedHandWeapons>
This section has no functional purpose. It is provided as a convenience to the admin or player for configuring this mod. These entries are used to populate the <CrewHandWeapons> section.

Hand weapons listed in this section are most likely to work with this mod. This section is populated automatically by the mod and updated every time the game runs. All hand weapons in the game (vanilla and modded) are automatically detected, validated, and (if they appear to be complete and correctly configured) they will be listed in this section.

Entries are pre-formatted so they can be easily copied and pasted in to the desired categories.

Changing or modifying this list has no effect on the game.

<SupportedHandWeapons> <SubtypeId>SemiAutoPistolItem</SubtypeId> <SubtypeId>FullAutoPistolItem</SubtypeId> <SubtypeId>ElitePistolItem</SubtypeId> <SubtypeId>AutomaticRifleItem</SubtypeId> <SubtypeId>PreciseAutomaticRifleItem</SubtypeId> <SubtypeId>RapidFireAutomaticRifleItem</SubtypeId> <SubtypeId>UltimateAutomaticRifleItem</SubtypeId> <SubtypeId>BasicHandHeldLauncherItem</SubtypeId> <SubtypeId>AdvancedHandHeldLauncherItem</SubtypeId> </SupportedHandWeapons>
<SupportedSounds>
This section has no functional purpose. It is provided as a convenience to the admin or player for configuring this mod. These entries are used to populate the Crew definitions, in the <IdleSounds>, <TauntSounds>, and <PainSounds> sections.

Sounds listed in this section will work with this mod. This section is populated automatically by the mod and updated every time the game runs. All Crew Voices mods (see below) in the game are automatically detected and listed in this section.

This section is empty by default. Only installing a Crew Voices mod will populate this area. Entries are pre-formatted so they can be easily copied and pasted in to the desired categories.

Changing or modifying this list has no effect on the game.

<SupportedSounds> <SubtypeId>CrewVoicesAttackRobotIdle</SubtypeId> <SubtypeId>CrewVoicesAttackRobotTaunt</SubtypeId> <SubtypeId>CrewVoicesAttackRobotPain</SubtypeId> <SubtypeId>CrewVoicesPsychoticRobotIdle</SubtypeId> <SubtypeId>CrewVoicesPsychoticRobotTaunt</SubtypeId> <SubtypeId>CrewVoicesPsychoticRobotPain</SubtypeId> </SupportedSounds>

Crew Voices mods
<CrewDefinitions>
This section is where different crew compositions are defined. There is no limit to the number of <crew> entries that can be defined here.
<CrewDefinitions> <Crew>...</Crew> </CrewDefinitions>
<Crew>
This field contains the following sections (additional tags).

Description
A plain text name or label for the crew type. This serves no game purpose, but can help with organization and design of different crew types.

Visor
Indicates how the bots should manage their suit visors, if they have one.

Frequency
How often this crew configuration is used, relative to all the other crew configurations.

RequiredCrew
The crew size that must exist in order to have a captain.

Activation
The probability of a crew person leaving their seat to engage a player in response to various player actions.

MeanFillPercent
The percentage of seating positions that start with a bot seated in them. Individual grids will vary slightly.

Factions
The faction tags that can use this crew.

OverrideCrewColor
The color to use for the crew instead of matching the grid color.

CrewMember
The different characters that can appear in this crew.

Captain
The different characters that can be used for the captain.

HandWeapons
The different hand weapons that can be used to arm the crew and captain.

IdleSounds
The different sounds that can be played by idle NPCs.

TauntSounds
The different sounds that can be played by NPCs when they are attacking or pursuing a target.

PainSounds
The different sounds that can be played by NPCs when they are injured.
<Crew> <Description>Human Settlers</Description> <Visor>Automatic</Visor> <Frequency>7</Frequency> <RequiredCrew>3</RequiredCrew> <Activation>0.2</Activation> <Factions /> <OverrideCrewColor /> <CrewMember>...</CrewMember> <Captain>...</Captain> <HandWeapons>...</HandWeapons> <IdleSounds>...</IdleSounds> <TauntSounds>...</TauntSounds> <PainSounds>...</PainSounds> </Crew>
<Description>
This field does not do anything. It is provided as an organizational tool so you or the game admin can label the different crew configurations in the config file.

<Description>Attack Robots</Description>
<Visor>
Sets the control method for the crew members' visors. Default value is "automatic."

Possible values
Automatic
Crew will put their visors up or down based on their environment, and will change it when the environment changes. Omitting this entry is the same as setting this to Automatic.

Up
Crew will always have their visor up. Useful for some character models that have elaborate helmets, like the Stargate Jaffa characters.

Down
Crew will always have their visor down.

Visor state has no effect on crew. Crew members with their visor down are unaffected in depressurized or oxygen free environments. This is purely a visual thing.
<Frequency>
This is the relative frequency of occurrence of this crew configuration. This value is a natural number (non-zero, positive integer).

This is the number of "marbles" that are tossed in a bucket to represent this crew. When the game creates a crew, it draws one marble from the bucket. Whichever crew that marble represents is the crew that is generated.

The probability of a crew configuration being used is the Frequency value for the crew, divided by the total Frequency values of all the crews.

The default configuration provides two crews, a human and a robot crew. The human crew has a Frequency of 7 and the robot crew has a Frequency of 1. This means the probability of the human crew being used to populate a grid is 7 / (7+1) = 87.5%. The probability of the robot crew being used is 1 / (7+1) = 12.5%.

<Frequency>7</Frequency>
<RequiredCrew>
This is the crew size that must be generated for a grid in order for there to be a captain.

The default human crew has a value of 4. So any human crew with 4 or more people will have a captain in it (1 captain and 3 crew members).

The default robot crew has a value of 8. So any robot crew with 8 or more people will have a captain in it (1 captain and 7 crew members).

<RequiredCrew>4</RequiredCrew>
<Activation>
When players do what players do, there is a chance that a seated crew person will stand up and express their opinion on the situation using high-velocity projectiles.

This value is that probability. The value runs 0 to 1 and represents a percentage, i.e., 0.2 is 20%.

This probability is checked for each player action, so if the player shoots 3 bullets into the wall, there are 3 independent 20% chances of a crew person standing up.

<Activation>0.2</Activation>
<MeanFillPercentage>
When grids are populated with this crew, this is the approximate percentage of available seats that will be filled. This value can be left blank, in which case the default of 0.5 is used.

<MeanFillPercentage>0.5</Activation>
<MinCrewSize>
When grids are populated with this crew, this is the minimum number of seats that will be filled. This value can be left blank, in which case the default of 1 is used.

<MinCrewSize>1</Activation>
<MaxCrewSize>
When grids are populated with this crew, this is the maximum number of seats that will be filled. This value can be left blank, in which case the maximum is the number of seats on the grid.

<MaxCrewSize>1</Activation>
<Factions>
This is a whitelist of the factions whose grids this crew can populate. Multiple faction tags can be included (use a separate <FactionTag> entry for each). Each entry should contain the four-letter tag of a single faction. Omitting this list means the crew is eligible to appear on any NPC grid, for any faction not specified in other crew definitions.

The Veteran Pirates default crew uses this tag to specify that it can only appear on SPRT faction grids. This means it is the only crew that can appear on SPRT grids.

<Factions> <FactionTag>SPRT</FactionTag> </Factions>

NOTE
This does not override the <BlacklistFactions> tag in the config. When a faction is blacklisted from having crew, then it will never have crewed grids, regardless if a crew definition specifies the faction.
<OverrideCrewColor>
Normally crew color is sampled from the grid, so they match the grid's dominant colors in order to create some level of cohesion between the grid and the crew. This entry allows this behavior to be overridden.

This tag contains three subtags: <Red>,<Green>, and <Blue>. These values are set using a scale from 0 to 255, where 0 is dark and 255 if light. So 0,0,0 is black, and 255,255,255 is white.

The Psychotic Robots default crew uses this tag to specify that the bots will always be a near-white color.

<OverrideCrewColor> <Red>245</Red> <Blue>245</Blue> <Green>245</Green> </OverrideCrewColor>
<CrewMember>
This is a list of all the character types that can comprise the crew. When crew members are created, their character type is randomly selected from this list. For convenience, you can directly copy and paste entries from the <SupportedCharacters> section *.

<CrewMember> <SubtypeId>Default_Astronaut</SubtypeId> <SubtypeId>Default_Astronaut_Female</SubtypeId> </CrewMember>

* This feature is provided for you to use at your own risk.
If the mod you are using does not have correctly structured characters then they aren't going to work with Crew Enabled and there is nothing I can do about it. Should you encounter this type of error, I encourage you to contact the author of the character mod and see if they can fix it. Generally, when a character is not correctly built, it will not appear in the <SupportedCharacters> area.

<Captain>
This is a list of all the character types that can be used for the captain. When a captain is created, its character type is randomly selected from this list. For convenience, you can directly copy and paste entries from the <SupportedCharacters> section*.

<Captain> <SubtypeId>Default_Astronaut</SubtypeId> <SubtypeId>Default_Astronaut_Female</SubtypeId> </Captain>

* This feature is provided for you to use at your own risk.
If the mod you are using does not have correctly structured characters then they aren't going to work with Crew Enabled and there is nothing I can do about it. Should you encounter this type of error, I encourage you to contact the author of the character mod and see if they can fix it. Generally, when a character is not correctly built, it will not appear in the <SupportedCharacters> area.

<HandWeapons>
This is a list of all the hand weapons in the game that can be provided to the crew. When crew members are created, a weapon is randomly selected from this list. For convenience, you can directly copy and paste entries from the <SupportedHandWeapons> section*.

<HandWeapons> <SubtypeId>SemiAutoPistolItem</SubtypeId> <SubtypeId>FullAutoPistolItem</SubtypeId> </HandWeapons>

* This feature is provided for you to use at your own risk.
If the mod you are using does not have hand weapons that extend the correct class internally, then they aren't going to work with Crew Enabled and there is nothing I can do about it. Should you encounter this type of error, I encourage you to contact the author of the weapon mod and see if they can fix it. In most cases, when a weapon is not correctly built, it will not appear in the <SupportedHandWeapons> area.

<IdleSounds>
This is a list of all the sound types* that can be played by the NPCs when they are idle. For convenience, you can directly copy and paste entries from the <SupportedSounds> section.

<IdleSounds> <SubtypeId>CrewVoicesAttackRobotIdle</SubtypeId> </IdleSounds>

* This settings does nothing unless you have installed a Crew Voices mod.

Crew Voices
<TauntSounds>
This is a list of all the sound types* that can be played by the NPCs when they are hunting are shooting at a target. For convenience, you can directly copy and paste entries from the <SupportedSounds> section.

<TauntSounds> <SubtypeId>CrewVoicesAttackRobotTaunt</SubtypeId> </TauntSounds>

* This settings does nothing unless you have installed a Crew Voices mod.

Crew Voices
<PainSounds>
This is a list of all the sound types* that can be played by the NPCs when they take damage. For convenience, you can directly copy and paste entries from the <SupportedSounds> section.

<PainSounds> <SubtypeId>CrewVoicesAttackRobotPain</SubtypeId> </PainSounds>

* This settings does nothing unless you have installed a Crew Voices mod.

Crew Voices
<BlacklistFactions>
This section allows you to block entire NPC factions from having crews spawned on them. Enter each faction's tag separately. This is only necessary for NPC factions. Grids in player factions will never receive crews.

<BlacklistFactions> <FactionTag>IMBC</FactionTag> </BlacklistFactions>
<BlacklistGrids>
This section allows you to block specific grids from having crews spawned on them. Enter each grid's name separately. This is only necessary for grids in NPC factions. Grids owned by players or in player factions will never receive crew.

<BlacklistGrids> <GridName>Abandoned Base #2</GridName> <GridName>Floating Hulk #7</GridName> <GridName>Automated Defense Facility</GridName> </BlacklistGrids>
Bugs, Suggestions, Questions, and Comments
While I appreciate the feedback and suggestions that arrive via comments here, I prefer to use a platform where I can provide superior communication and interaction. For this, I have created a Discord server where I can troubleshoot, give technical advice, and have discussions. Steam comments get lost to time, but Discord histories can be searched and referenced. So comments have been disabled. Go to the Discord.

Click here to go to Discord[discord.gg]