system.ini
This file describes the content of a system in Freelancer.
Syntax
There is probably no particular order for the sections or the parameters inside them. However each parameter should only be used once per section, since only the last value will be used by Freelancer. Though it wont hurt to stick to the layout DA used:
- System Info
- Archetype
- EncounterParameters
- TexturePanels
- Dust
- Music
- Asteroids
- Nebula
- Ambient
- Background
- Sun
- LightSource
- Content(as in Objects/Zones)
System Info Section
This section defines some parameters that apply to the whole system.
- [SystemInfo]
- name = STRING
- space_color = INT_R, INT_G, INT_B
- local_faction = STRING
- space_farclip = INT ;optional
Parameter | Information |
---|---|
nickname | See the nickname page for more information. |
space_color | Range: 0 to 255
Sets the background color for the transparent parts of the starsphere |
local_faction | Probably unused. |
space_farclip | Range: 0 to Infinity?
Sets the distance at which objects are no langer drawn, as in objects that are further away from you then space_farclip. |
Archetype Section
Usage unknown, maybe unused. All strings are repeatable.
- [Archetype]
- equipment = STRING
- ship = STRING
- simple = STRING
- snd = STRING
- solar = STRING
Parameter | Information |
---|---|
equipment | The STRING is the nickname of an equiment from data\equipment\ |
ship | The STRING is the nickname of a ship from shiparch.ini |
simple | The STRING is the nickname of a ship part from shiparch.ini |
snd | The STRING is the nickname of a sound from sounds.ini? |
solar | The STRING is the nickname of a solar from solararch.ini |
EncounterParameters Section
With this section you can load different encounter types that you can meet in space.
If you need more than one encounter type just add more EncounterParameters sections.
- [EncounterParameters]
- nickname = STRING
- filename = PATH
Parameter | Information |
---|---|
nickname | See the nickname page for more information. |
filename | The path to the ini that defines the encounter, relative to the DATA directory. |
TexturePanels Section
This section defines the stars that are displayed in the system background?
- [TexturePanels]
- file = PATH
Parameter | Information |
---|---|
file | The path to the ini that defines the textures for the stars, relative to the DATA directory? |
Dust Section
This section defines the "dust" effect that is displayed as soon as you start moving your ship.
- [Dust]
- spacedust = STRING
Parameter | Information |
---|---|
dust | The nickname of the effect that shall be used, from effects.ini |
Music Section
This section defines the different music tracks that are played when you are in space.
- [Music]
- space = STRING
- danger = STRING
- battle = STRING
Parameter | Information |
---|---|
space | The nickname of the music that shall normally be played from AUDIO\music.ini |
danger | The nickname of the music that shall be played when you detect hostiles. |
battle | The nickname of the music that shall be played during combat. |
Asteroids Section
This section defines an asteroid field. If you need more than one asteroid field just add more Asteroids sections.
- [Asteroids]
- file = STRING
- zone = STRING
Parameter | Information |
---|---|
file | The path to the ini that defines the asteroid field, relative to the DATA directory. |
zone | The nickname of the zone that uses this ini file's settings. |
Nebula Section
This section defines a nebula. If you need more than one nebula just add more Nebula sections.
- [Nebula]
- file = STRING
- zone = STRING
Parameter | Information |
---|---|
file | The path to the ini that defines the nebula, relative to the DATA directory. |
zone | The nickname of the zone that uses this ini file's settings. |
Ambient Section
Defines the color of the ambient light source.
- [Ambient]
- color = INT_R, INT_G, INT_B
Parameter | Information |
---|---|
color | Range: 0 to 255
Sets the color. |
Background Section
Selects the mesh that is used for the starsphere.
- [Background]
- basic_stars = PATH
- complex_stars = PATH
- nebulae = PATH
Parameter | Information |
---|---|
basic_stars | The path to the starsphere model that is displayed if you turn the background stars option to the minimum. Relative to the DATA directory. |
complex_stars | The path to the starsphere that is displayed if the background stars option is not at the minimum. Relative to the DATA directory. |
nebulae | The path to the cmp that contains the additional background details. Relative to the DATA directory. |
LightSource Section
Defines a light source, as a sun is actually just an object and not a light source! A system can contain more than one light source. (I have used four light sources in one system successfully. If I remember correctly Direct X had a limitation of eight sources back then.)
- [LightSource]
- nickname = STRING
- pos = INT_X, INT_Z, INT_Y
- color = INT_R, INT_G, INT_B
- range = INT?
- type = STRING
- atten_curve = STRING
- attenuation = INT?, INT?, INT?
Parameter | Information |
---|---|
nickname | See the nickname page for more information. |
pos | Range: -Infinity to Infinity
The postion of the object. If you look at the navmap, -x is left; +x is right; -y is up; +y is down. If you look in the direction of a waypoint in empty space, -z is below you and +z is above you. |
color | Range: 0 to 255
Sets the color of the light source. |
range | The distance from the object after which it is no longer included in the light calculation? |
type | Unknown. Can be POINT or DIRECTIONAL |
atten_curve | References the attenuation curve that is used to change the light intensity based on the distance to the light source. |
attenuation | Unknown. Use either atten_curve or attenuation!
Speculation on the values:
|
Visit Section
In Freelancer the navmap display is controlled by the visit parameter of the corresponding object.
As usual the credits go to the black magician adoxa!
- 0 - default value, not visited, nothing special
- 1 - visited, will show on Nav Map/rep list, even if you never visited the system
- 2 - unknown, doesn't seem used
- 4 - mineable zone
- 8 - "actively" visited (looted wreck is the only real meaning)
- 16 - wreck
- 32 - zone
- 64 - faction
- 128 - hidden, never shows on Nav Map
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)
Common Object Section
All objects have these common parameters. There are some addtional ones depending on the type, which are listed in the following subsections. Note that many objects mix different types(e.g. a inhabited planet) so add the needed lines from all concerned types.
- [Object]
- nickname = STRING
- ids_name = INT ;optional
- ids_info = INT ;optional
- pos = INT_X, INT_Z, INT_Y
- rotate = INT_X, INT_Z, INT_Y ;optional
- Archetype = STRING
- parent = STRING ;optional
- spin = FLOAT_X, FLOAT_Z, FLOAT_Y ;optional
- visit = INT ;optional
Parameter | Information |
---|---|
nickname | See the nickname page for more information. |
ids_name | See the ids_name page for more information. |
ids_info | See the ids_info page for more information. |
pos | Range: -Infinity to Infinity
The postion of the object. If you look at the navmap, -x is left; +x is right; -y is up; +y is down. If you look at in the direction of a waypoint in empty space, -z is below you and +z is above you. |
rotate | Range: -180 to 180
The rotation of the object in degrees. |
Archetype | Selects the archetype the object uses form solararch.ini or shiparch.ini. |
parent | Sets the parent of the object. If you try to select the object, the parent will be selected instead. |
spin | Range: 0 to Infinity?
Applies a constant rotation to the object. Sets the rotation speed in DEG/RAD/s? |
visit | Range 0 to 512?
This sets the bitmask of the visit parameter, see above |
Platform objects
Additional entries for weapon platforms and the like. Space stations use a lot of these entries as well!
- behavior = STRING
- difficutly_level = INT
- loadout = STRING
- pilot = STRING
- reputation = STRING
Parameter | Information |
---|---|
behavior | Always NOTHING? |
difficutly_level | Range: 0 to 25?(vanilla uses only up to d19!)
Unused/Unknown. Maybe a key for NPCs |
loadout | Selects the loadout that is equipped to the object from the inis in the solar and ships folders |
pilot | Selects the pilot that the object will use. |
reputation | Sets the faction that object belongs to |
Base objects
Additional entries for dockable bases
- base = STRING
- dock_with = STRING
- faction = STRING
- msg_id_prefix = STRING
- space_costume = STRING, STRING
- voice = STRING
Parameter | Information |
---|---|
base | Selects the base from universe.ini at which you arrive after docking |
dock_with | Same as above, but choose only one of them?. Is used for docking rings and bays for large ships. |
faction | Unused/Unknown |
msg_id_prefix | This string is first hashed with an added dash at the end. Then the voice UTF files are searched for this hash. NPCs use this for their chatter. |
space_costume | Selects the costume of the air traffic controller.
|
voice | Selects the voice of the air traffic controller. |
Planet objects
Additional entries for Planets.
- ambient_color = INT_R, INT_G, INT_B
- atmosphere_range = INT?
- burn_color = INT_R, INT_G, INT_B
Parameter | Information |
---|---|
ambient_color | Range: 0 to 255
Sets the ambient color. |
atmosphere_range | Range: 0 to Infinity?
When you fly towards the planet, this is the distance at which the atmosphere burn effect is displayed and the "Entering atmosphere" sound is played. |
burn_color | Range: 0 to 255
Sets the burn color. |
Jump objects
Additional entries for jumpgates and jumpholes
- goto = STRING, STRING, STRING
- jump_effect = STRING
Parameter | Information |
---|---|
goto |
|
jump_effect | Selects the effect that is activated as you begin docking |
Sun objects
Additional entries for suns
- ambient_color = INT_R, INT_G, INT_B
- atmosphere_range = INT?
- burn_color = INT_R, INT_G, INT_B
- star = STRING
Parameter | Information |
---|---|
ambient_color | Range: 0 to 255
Sets the ambient color. |
atmosphere_range | Range: 0 to Infinity?
When you fly towards the star, this is the distance at which the atmosphere burn effect is displayed and the "Entering sun corona" sound is played. |
burn_color | Range: 0 to 255
Sets the burn color. |
star | Selects the star to use from stararch.ini |
Tradelane objects
Additional entries for tradelanes
- next_ring = STRING
- prev_ring = STRING
- tradelane_space_name = INT
Parameter | Information |
---|---|
next_ring | The nickname of the next tradelane ring? |
prev_ring | The nickname of the previous tradelane ring? |
tradelane_space_name | The text that shows the origin and destination of the tradelane? |
Common Zone Section
All zones have these common parameters. There are some addtional ones depending on the type, which are listed in the following subsections. Note that many zones mix different types, so add the needed lines from all concerned types.
- [Zone]
- nickname = STRING
- damage = INT? ;optional
- drag_modifier = FLOAT;optional
- ids_name = INT ;optional
- ids_info = INT ;optional
- music = STRING ;optional
- pos = INT_X, INT_Z, INT_Y
- rotate = INT_X, INT_Z, INT_Y ;optional
- shape = STRING
- spacedust = STRING ;optional
- spacedust_maxparticles = INT ;optional
- size = INT_X, INT_Z, INT_Y ;optional
- sort = INT
- visit = INT ;optional
Parameter | Information |
---|---|
nickname | See the nickname page for more information. |
damage | Range: 0 to Infinity?
The amount of damage that is applied per second? This damage is applied to any object inside the zone, including you equipment! This triggers the radiation damage indicator/warning. Planet or sun atmospheres work the same way but do not trigger this warning. I don't know how Freelancer distinguishes this. Maybe if the damage is too high, or if you are inside of the atmosphere_range? |
drag_modifier | Range: 0 to Infinity?
Modifies your ships speed while you are in this zone. Your speed calculates like this:
{(Engine_drag + ship_drag) x drag_modifier}
|
ids_name | See the ids_name page for more information. |
ids_info | See the ids_info page for more information. |
music | Zones may override the music set for the whole system |
pos | Range: -Infinity to Infinity
The postion of the object. If you look at the navmap, -x is left; +x is right; -y is up; +y is down. If you look at in the direction of a waypoint in empty space, -z is below you and +z is above you. |
rotate | Range: -180 to 180
The rotation of the object in degrees. |
shape | Sets the shape of the zone, possible values are
|
size | Range: 0 to Infinity?
Sets the size of the zone
|
spacedust | Zones may override the spacedust effect set for the whole system |
spacedust_maxparticles | Range 0 to Infinty?
Sets the maximum amount of particles that Freelancer will generate. |
sort | Range 0 to 100?
Unused according to this this thread |
visit | Range 0 to 512?
This sets the bitmask of the visit parameter, see above |
Field Zones
Additional entries for asteroid fields and nebulae.
- edge_fration = FLOAT
- interference = FLOAT
- property_flags = INT
- property_fog_color = INT_R, INT_G, INT_B
Parameter | Information |
---|---|
edge_fration | Range: 0 to 1?
Unused/Unknown. |
interference | Range: 0 to 1?
Reduces your sensor range. E.g. if your sensor range is 2000m and the interference is set to 0.75 the range is decreased to 2000m*0.75=1500m? |
property_flags | Set the navmap display of the zone. Kudos go again to adoxa
For combinations add them together like with the visit parameter. Exclusion overrides everything else. |
property_fog_color | Range: 0 to 255
Sets the color of the nebula on the navmap. |
Vignettes Zones
Additional entries for vignettes. Vignettes are the zones in which random missions take place.
- mission_type = STRING, STRING
- vignette_type = STRING
Parameter | Information |
---|---|
mission_type | Sets the type of missions that take place here. Can be "lawful", "unlawful" and both |
vignette_type | Sets the type of the vignette, as not all missions are possible in every vignette.
This is to prevent e.g. a destory large installation mission in a dense asteroid field. Can be one of the following:
|
Encounters
Additional entries for encounters in zones. The values for the chances and faction weights don't need to add up to 100, as Freelancer computes the chance of one choice/the sum of all possibilities anyway.
- density = INT
- denstity_restriction = INT, STRING
- faction_weight = STRING, INT ;repeatable
- max_battle_pop_type; STRING, STRING
- population_additive = BOOL
- relief_time = INT
- repop_time = INT
- encounter = STRING, INT, FLOAT ;repeatable
- faction = STRING, FLOAT ;repeatable
- faction = STRING, FLOAT ;repeatable
- encounter = STRING, INT, FLOAT ;repeatable
- faction = STRING, FLOAT ;repeatable
- toughness = INT
Parameter | Information |
---|---|
density | Range: 0 to Infinity?
Sets the maximum amount of npcs that will be created simultaneously. E.g. if the value is ten and only nine NPCs are currently present, FL will eventually spawn another encounter, which may raise the value to e.g. twelve NPCs. Now spawning will stop until it is below ten again. |
denstity_restriction | Range: 0 to Infinity?
E.g. if it is set to four and unlawfuls; Fl will not spawn any more unlawful encounters if there are currently five unlawful NPCs present. |
faction_weight |
Usage unknown, can occur multiple times in the same zone.
|
encounter |
|
faction |
|
max_battle_pop_type | Unused/Unknown. The first string may be a faction, but can be omitted.
Possible values for the (second) string are:
|
population_additive | If zones overlap, shall their density restrictions be combined or not? |
relief_time | Range: 0 to Infinity?
Unknown. How long you can stay in this zone without being disturbed? Eg. you destroy all enemies and wait. When relief_time ends new enemies may be spawned again? |
repop_time | Range: 0 to Infinity?
Unknown. |
toughness | Range: 0 to 25?(vanilla only uses up to 19!)
Unused/Unknown. |
Path Zones
Additional entries for Patrol paths and trade paths
- attack_ids = INT
- lane_id = INT
- mission_eligible = BOOL
- path_label = STRING
- tradelane_attack = INT
- usage = STRING
Parameter | Information |
---|---|
attack_ids | Range: 0 to Infinity?
Unused/Unknown. |
lane_id | Range: 0 to Infinity?
Unused/Unknown. |
mission_eligible | Unused/Unknown. |
path_label | Unused/Unknown. |
tradelane_down | Range: 0 to Infinity?
How long the tradelane stay offline in seconds after you drop out? |
tradelane_attack | Range: 0 to Infinity?
Unused/Unknown. |
usage | Sets the type of the path. Can be:
|