Skip to main content

system

caution

This page is a work in progress!

There may be missing, incomplete or incorrect information on this page as it's still being built! Take information here with a pinch of salt, and feel free to contribute and correct things!

Overview

Vanilla Examples

  • DATA\UNIVERSE\SYSTEMS\BR01\br01.ini
  • DATA\UNIVERSE\SYSTEMS\LI01\li01.ini
  • DATA\UNIVERSE\SYSTEMS\KU03\ku03.ini

Syntax

Blocks other than [Light], [Object] and [Zone] should always be called at the top of the file in the below order.

SystemInfo

[SystemInfo]
space_color = INT, INT, INT
local_faction = STRING
rpop_solar_detection = BOOL
space_farclip = FLOAT
ParameterInformation
space_colorSets the system background color rendered behind any starspheres that are defined. (Integers are red, green and blue respectively.)
local_factionCalls a faction as defined in faction_prop. Appears to be present in every system file but unused.
rpop_solar_detectionUnclear what this does.
space_farclipMinimum value of 1000. Relates to LOD pop-in distance.

Archetype

These entries seem to be used to keep certain objects preloaded and in the memory. Vanilla Freelancer uses those entries exclusively for story-related objects in the system files.

[Archetype]
ship = STRING ;optional
solar = STRING ;optional
simple = STRING ;optional
equipment = STRING ;optional
snd = STRING ;optional
voice = STRING, STRING ;optional
ParameteInformation
shipName of a [Ship] to preload. Can be defined multiple times.
solarName of a [Solar] to preload. Can be defined multiple times.
simpleName of a [Simple] to preload. Can be defined multiple times.
equipmentName of a [Equipment] to preload. Can be defined multiple times. Is this read by the game (does not seemt to appear in Freelancer.exe among the others)?
sndName of a [Sound] to preload. Can be defined multiple times.
voiceFirst STRING being a [Voice] and the second STRING a related [Sound] to preload. Can be defined multiple times. Is this read by the game (does not seemt to appear in Freelancer.exe among the others)?

EncounterParameters

[EncounterParameters]
nickname = STRING
filename = PATH
ParameterInformation
nicknameHow the below encounter ini is referred to within the current system file.
filenameThe path to the encounter ini file to be defined here.

TexturePanels

[TexturePanels]
file = PATH
ParameterInformation
fileReferences the shapes file used in this system.

Music

[Music]
space = STRING
danger = STRING
battle = STRING
ParameterInformation
spaceReferences a sound that will loop when the game is in an 'idle' state. This value will be overridden by music defined in individual zones.
dangerReferences a sound that will loop when the game is in an 'danger' state.
battleReferences a sound that will loop when the game is in an 'combat' state.

Dust

[Dust]
spacedust = Dust
ParameterInformation
spacedustReferences a dust effect to be used in space around the player, This value will be overridden by dust defined in individual zones.

Nebula

[Nebula]
file = PATH
zone = STRING
ParameterInformation
filePath to a nebula file.
zoneThe zone in this system that will use the above file's information.

Asteroids

[Asteroids]
file = PATH
zone = STRING
ParameterInformation
filePath to a asteroid file.
zoneThe zone in this system that will use the above file's information.

Ambient

[Ambient]
color = INT, INT, INT
ParameterInformation
colorDetermines the background color of the system when no starspheres are defined.

Background

[Background]
basic_stars = PATH
complex_stars = PATH
nebulae = PATH
ParameterInformation
basic_starsDetermines the basic starsphere cmp used for the system.
complex_starsDetermines the complex starsphere cmp used for the system. This is rendered on top of the basic_stars cmp.
nebulaeDetermines the nebulae starsphere used for the system. This is rendered behind the basic stars cmp.

LightSource

[LightSource]
nickname = STRING
pos = FLOAT, FLOAT, FLOAT
rotate = FLOAT, FLOAT, FLOAT
color = INT, INT, INT
range = INT
type = STRING
direction = FLOAT, FLOAT, FLOAT
atten_curve = DYNAMIC_DIRECTION
attenuation = FLOAT, FLOAT, FLOAT
color_curve = STRING, FLOAT
ParameterInformation
nicknameThe light's unique nickname in the system ini file.
posThe X, Y and Z coordinates of the light in space.
rotateThe X, Y and Z rotation of the object. Only really relevant with directional light sources here.
colorThe RGB color of the light.
rangeThe range of the light.
typeDetermines the type of light source to use Can be POINT or DIRECTIONAL.
directionFor DIRECTIONAL light sources, this value determines the direction.
atten_curveReferences the attenuation curve that is used to change the light intensity based on the distance to the light source.
attenuationHow quickly the light fades as you move away from it's source.
color_curveAppears to determine some property of the light's animation. The string value references a curve from an igraph file

Object

[Object]
nickname = STRING
ids_name = INT ;optional
ids_info = INT ;optional
pos = FLOAT, FLOAT, FLOAT
rotate = FLOAT, FLOAT, FLOAT ;optional
ambient_color = INT, INT, INT ;optional
archetype = STRING
star = STRING ;optional
spin = FLOAT, FLOAT, FLOAT ;optional
msg_id_prefix = STRING ;optional
jump_effect = STRING ;optional
atmosphere_range = INT ;optional
prev_ring = STRING ;optional
next_ring = STRING ;optional
ring = STRING, PATH ;optional
base = STRING ;optional
dock_with = STRING ;optional
ambient = INT, INT, INT ;optional
visit = INT ;optional
reputation = STRING ;optional
tradelane_space_name = STRING ;optional
behavior = STRING ;optional
voice = STRING ;optional
space_costume = STRING, STRING ;optional
faction = STRING ;optional
difficulty_level = INT ;optional
goto = STRING, STRING, STRING ;optional
loadout = STRING ;optional
pilot = STRING ;optional
parent = STRING ;optional
ParameterInformation
nicknameHow this object is referred to elsewhere in the file. If this value is not unique within the system file, strange behavior with targeting will occur.
ids_nameThe string for this object's name.
ids_infoThe string for this object's map/selection infocard
posThe object's X, Y and Z coordinates in space respectively.
rotateThe object's X, Y and Z rotation in space respectively. Range -360 to 360.
ambient_colorPossibly unused? Might determine how systemwide lighting affects the object. Requires testing
archetypeThe object's archetype as defined in a solar file type.
starIf the object is a star, the object's archetype as defined in stararch.ini.
spinA velocity by which the object rotates around its axis. Vanilla Freelancer cancels the spinning when too slow – an EXE hack solves this issue.
msg_id_prefixReferences a [Sound] block from a voices file to use for the base's name when hailing.
jump_effectReferences a [JumpGateEffect] block from a jump_effect file. This is only relevant if the object is a jump gate or jump hole.
atmosphere_rangeThe radius of the 'atmosphere burn effect' bubble around the object. This is typically applied to planets and stars.
burn_colorSets the color of the atmosphere burn effect if it is present.
prev_ringIf this is a tradelane, references the nickname of the previous tradelane object in the sequence.
next_ringIf this is a tradelane, references the nickname of the next tradelane object in the sequence.
ringReferences the [Zone] to be used for the displayed ring, and the rings file to use.
baseSelects the base from a universe this object is assigned with and displays this base-information in space to the player when the object is selected.
dock_withSelects a base from a universe on which the player/NPC gets on once docked with this object. Does not require the base property. Multiple objects in a system can be assigned to dock_with the same base. Players will always undock from the first object listed in the system, unless all its docks are occupied (e.g. mooring points used by NPCs). Then the next object with the same dock_with is used.
ambientPossibly unused? Might determine how systemwide lighting affects the object. Requires testing
visitControls the navmap display of the object:
0: The default value. Not visited.
1: Discovered (just basic base info; no info text for zones)
2: Unclear (seems only used by knowledgemap.ini).
4: Mineable Zone; Commodity list of a Base.
8: Looted Wreck; Zone info; Equipment list of a Base.
16: Wreck; Ship list of a Base.
32: Zone.
64: Faction.
128: Hidden, never appears on the navmap.

For combinations you need to add the values together. E. g. if you want to show new players the location of a profitable mining zone by default set the zones visit parameter to 5 (1 for visited + 4 minable zone)
reputationDetermines the faction the object belongs to. Takes a nickname from faction_prop.ini.
tradelane_space_nameReferences the text string that shows the origin and destination of the tradelane.
behaviorThis is always NOTHING. Required for solars to use their weapons.
voiceSelects a [Voice] block from a voices file for traffic control to use.
space_costumeSelects the costume of traffic control. The first value being a head, the second the body, and the third optionally being a head accessory, respectively from a bodyparts file.
factionPossibly unused.
difficulty_levelThis is a key used to set the level of the object, and may be unused.
gotoFor dockable objects only, The first string is the system that you jump to when you dock successfully, the second string is the object in destination system at which you will arrive, and the final string selects the jump effect from a `gate_tunnel file.
loadoutDetermines the loadout for the object to use.
pilotDetermines the pilot from pilots_population.ini to use.
parentSets the parent of the object. If you try to select the object, the parent will be selected instead.

Zone

Many properties of zones are overriding those of other zones. Their definition order within the system file is relevant for determining which zone takes priority.

[Zone]
nickname = STRING
ids_name = INT ;optional
ids_info = INT ;optional
pos = FLOAT, FLOAT, FLOAT
rotate = FLOAT, FLOAT, FLOAT ;optional
shape = STRING
size = INT, INT, INT
property_flags = INT ;optional
property_fog_color = INT, INT, INT ;optional
damage = INT ;optional
visit = FLOAT ;optional
spacedust = STRING ;optional
spacedust_maxparticles = INT ;optional
interference = FLOAT ;optional
drag_modifier = FLOAT ;optional
edge_fraction = FLOAT ;optional
attack_ids = STRING, ... ;optional
mission_type = STRING, STRING ;optional
comment = STRING ;optional
lane_id = STRING ;optional
tradelane_attack = FLOAT ;optional
tradelane_down = INT ;optional
sort = FLOAT ;optional
vignette_type = STRING ;optional
toughness = INT ;optional
longevity = INT ;optional
density = INT ;optional
repop_time = FLOAT ;optional
max_battle_size = INT ;optional
pop_type = STRING ;optional
relief_time = FLOAT ;optional
population_additive = BOOL ;optional
path_label = STRING, INT ;optional
usage = STRING ;optional
mission_eligible = BOOL ;optional
density_restriction = INT, STRING ;repeatable
encounter = STRING, INT, FLOAT ;repeatable
faction = STRING, FLOAT ;repeatable
music = STRING ;optional
ParameterInformation
nicknameThe nickname of the zone. This is typically reference by encounter declarations, asteroid and nebula field files.
ids_nameThe string name of the field displayed ingame.
ids_infoThe string description of the field displated ingame.
posThe X, Y and Z position of the field. Fields are positioned from their absolute centre. This should be taken into account when positioning rectangular and ellipsoid fields.
rotateThe X, Y and Z rotation of the field.
shapeThe basic shape of the field. Options are SPHERE, BOX, ELLIPSOID, CYLINDER and RING.
sizeThe size of the field. For SPHERE only one INT is required, determining the radius. For CYLINDER only two INTS required – the first marking the radius, the second the height. For ELLIPSOID it determines the radius across each axis. For Box it determines the total length across each axis. For RING the first value detemines the outer radius, the second the inner radius, and the third being the height.
property_flagsSets the navmap display of the zone. Options are as follows and can be combined by adding them together:

1: Object density low
2: Object density medium
4: Object density high
8: Danger density low
16: Danger density medium
32: Danger density high
64: Rock
128: Debris
256: Ice
512: Lava
1024: Nomad
2048: Crystal
4096: Mines
8192: Badlands
16384: Gas pockets
32768: Nebula/Cloud (Enables property_fog_color)
65536: Exclusion
131072: Exclusion.
property_fog_colorSets the RGB value of the zone nebula and cloud on the navamp.
damageSets the amount of damage per second done to ships and equipment within the zone. Over a certain threshold, this will trigger a radiation warning.
visitSets the bitmask of the visit parameter. Options are as follows and can be combined by adding them together:

0: Default value, not visited
1: Visited. Will show in the navamp, regardless of whether or not a player has visited the system.
2: Unknown, doesn't appear to be used
4: Mineable zone
8: Actively visisted
16: Wreck
32: Zone
64: Faction
128: Hidden, never appears on the navamp.

Visit values are determined per save! If you're adjusting these and want to see changes, you will need to create a new save/character each time.
spacedustThe nickname of the entry from an effects file used for spacedust in this zone. Overrides the system-wide value.
spacedust_maxparticlesSets the maximum amount of particles allocated for spacedust in this zone.
interferenceA sensor range modifier with a range of 0 to 1. For example if you set this to 0.5 if will halve your ship's current sensor range. Triggers the sensor efficiency warning. This also affects NPCs.
drag_modifierDivides your speed in the zone by the listed amount. A value of 2 here would halve your speed. By default this key is tied to interference, but can be fixed with an offset from Limit Breaking 101.
edge_fractionUsed by nebula zones. Determines how quickly nebula fog fades out in a zone.
attack_idsUsed in population zones to determine which tradelanes to attack. Uses lane_id values seperated by commas.
mission_typeUsed by mission vignette zones. Valid options are lawful and unlawful.
lane_idUsed by tradelane zones and referenced by attack_id.
tradelane_attackUsed by patrol paths. May determine the percentage of time a patrol engages a tradelane.
tradelane_downUsed for tradelane zones. Determines the percentage of time the tradelane will be offline. This requires appropriate lane_id and population zones with attack_ids defined.
sortUnused. Sorting is done by the order of the [Zone] entries in the file.
vignette_typeUsed for mission vignette zones. Options are field, exclusion and open.
toughnessUnused. Toughness of NPCs is defined only by the encounter parameter.
longevityUnused.
densityThis determines a soft maximum of how many ships can be spawned within a zone. If the ship count is less than the density, another encounter can be spawned — even if it may exceed the density value.
repop_timeIf the current ship count within the zone is less than density, the game will try to repopulate the zone for a chance calculated by (density - ships) / repop_time every 3 seconds see SpacePop offset.
max_battle_sizeThe maxium count of ships within a zone when the player (or NPCs, too?) is in a fight.
pop_typeThis key appears to be a leftover from development, and is unused. Observed values are lootable_field, nonlootable_ast_field, major_tradelane, jumpgate, base_cluster_law, single_base_law, extend_law, wormhole, trade_path, attack_patrol, lane_patrol and Background. This key is sometimes called a faction value as well.
relief_timeTime for how long no ships will be respawned after a battle ended or the zone is void of ships. (Needs to be tested better on those conditions)
population_additiveWhen false: Any previously defined zones override this one's spawning (e.g. for ambient NPC spawns). For any following zones it overrides their density values (e.g. for sun death zones) in turn.
path_labelDetermines the patrol path this zone belongs to, and which leg of the path the current zone is.
usageUsed for patrol paths. Accepted values are trade and patrol.
mission_eligibleDetermines whether or not missions are allowed to take place in this zone.
density_restrictionLimits the number of encounter instances of a given type to the number provided. This parameter respects the make_class field in the encounter block and is largely used incorrectly in vanilla.
encounterReferences an encounter as defined in the [Encounter] block at the top of the system file. The first INT value determines the difficulty of the involved pilots. The second FLOAT value represents the precentage chance this encounter will occur. This value's sum total in zones should never exceed 1.
factionMust follow directly after an encounter. It determines which faction will be spawned for the encounter. The first string references a faction as defined in faction_prop. The second FLOAT value represents the precentage chance the encounter will choose this faction. This value's sum total in zones should never exceed 1.
musicOverrides the default space music within the zone. Does not override any danger or battle music.