Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Modding:XMLMods/Worlds: Difference between revisions

From Stationeers Community Wiki
Created page.
 
Referenced GIMP and fixed a mistake in the file path section.
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
Custom worlds have three main parts: world settings, terrain, and textures. For stationeers to recognize a local custom world, the file path should be:<br><br>
Custom worlds have three main parts: world settings, terrain, and textures. For stationeers to recognize a local custom world, the file path should be:<br><br>


...Documents\My Games\Stationeers\mods\'''My Modded World\GameData\World Name\ (then worldsettings, terrain folder, and textures folder)'''
...Documents\My Games\Stationeers\mods\'''My Modded World\GameData\ (then worldsettings, terrain folder, and textures folder)'''


* Bold are folders you must create
* Bold are folders you must create
* "My Modded World" and "World Name" and "worldsettings" can be named anything
* "My Modded World" and "worldsettings" can be named anything
* "About" and "Screenshots" folders also required in "My Modded World" if you plan to upload to the steam workshop.
* "About" and "Screenshots" folders also required in "My Modded World" if you plan to upload to the steam workshop.
* "Language" folder is also required in "GameData" if the new world uses any new vocabulary that isn't defined in the base game language folder.
* "Language" folder is also required in "GameData" if the new world uses any new vocabulary/world description that isn't defined in the base game language folder.


<br>
<br>
Line 19: Line 19:


== World Settings ==
== World Settings ==
World Settings define the structure of a world in stationeers; how it appears in the new world menu, its atmosphere, weather, mineables, deep mining regions, POI's, terrain path, what textures it uses, lighting and more. Many of these options branch to other .xml files, like mineables and weather, which can also be modified and added to the mod folder alongside the worldsettings folder. for more advanced customization. <br>
World Settings define the structure of a world in stationeers; how it appears in the new world menu, its atmosphere, weather, mineables, deep mining regions, POI's, terrain path, what textures it uses, lighting and more. Many of these options branch to other .xml files, like mineables and weather, which can also be modified and added to the mod folder alongside the worldsettings folder for more advanced customization. <br>
It's easiest to start with looking at/copying the world settings of an existing map and modifying the .xml file.
It's easiest to start with looking at/copying the world settings of an existing map and modifying the .xml file.
=== Modifying Atmosphere ===
=== Modifying Atmosphere ===
Line 35: Line 35:
==== Gas ====
==== Gas ====
Gas composition of a world is defined by type and quantity of each constituent gas. "Type" follows the prefab name of the gas as it appears in the stationpeda, ''(no spaces between words)''.<br>
Gas composition of a world is defined by type and quantity of each constituent gas. "Type" follows the prefab name of the gas as it appears in the stationpeda, ''(no spaces between words)''.<br>
"Quantity" is measured in mols per frame, which matches what reading you would get with an [[Atmos Analyzer]] tablet when standing in any empty grid outside. This input doesn't correlate very intuitively with pressure, which needs to be calculated from the total mols of gas, volume of a frame (8000L) and the temperature ''(which varies according the the temperature map)''. The external tool [https://www.omnicalculator.com/physics/ideal-gas-law| Omni Calculator] can be helpful for this.
"Quantity" is measured in mols per frame, which matches what reading you would get with an [[Atmos Analyzer]] tablet when standing in any empty grid outside. This input doesn't correlate very intuitively with pressure, which needs to be calculated from the total mols of gas, volume of a frame (8000L) and the temperature ''(which varies according the the temperature map)''. The external tool [https://www.omnicalculator.com/physics/ideal-gas-law Omni Calculator] can be helpful for this.


== Terrain ==
== Terrain ==
Line 41: Line 41:


=== Import terrain Heightmap ===
=== Import terrain Heightmap ===
The in-game terrain editor tool requires a specific format of image for the heightmap. black and white 32-bit Grayscale images in .raw, .data or .tiff formats with a size of 4096x4096 pixels ''(though other sizes are probably possible?)''. Once it is selected you can choose the minimum (fully black) and maximum (fully white) height.  
The in-game terrain editor tool requires a specific format of image for the heightmap; black and white 32-bit linear Grayscale in .raw, .data or .tiff formats with a size of 4096x4096 pixels ''(though other sizes are probably possible?)''. If it is not possible to export in one of these filetypes or it just does not seem to work, [https://www.gimp.org/ GIMP] can be used to convert the image to the correct format. Once it is selected you can choose the minimum (fully black) and maximum (fully white) height.  


=== Import Crust Map ===
=== Import Crust Map ===
Line 57: Line 57:


== Useful tools ==
== Useful tools ==
# [https://www.blender.org/| Blender] is very usefull for sculpting a world and generating height maps/normal maps from it.
# [https://www.blender.org/ Blender] is very useful for sculpting a world and generating height maps/normal maps from it.
# [https://www.omnicalculator.com/physics/ideal-gas-law| Omni Calculator] can be helpful in determining the total mols of gas required for a desired atmospheric pressure.
# [https://www.omnicalculator.com/physics/ideal-gas-law Omni Calculator] can be helpful in determining the total mols of gas required for a desired atmospheric pressure.
# [https://www.gimp.org/ GIMP] Is useful to convert image formats to the ones useable by the terrain editor command.

Latest revision as of 01:01, 30 April 2026

File structure

Custom worlds have three main parts: world settings, terrain, and textures. For stationeers to recognize a local custom world, the file path should be:

...Documents\My Games\Stationeers\mods\My Modded World\GameData\ (then worldsettings, terrain folder, and textures folder)

  • Bold are folders you must create
  • "My Modded World" and "worldsettings" can be named anything
  • "About" and "Screenshots" folders also required in "My Modded World" if you plan to upload to the steam workshop.
  • "Language" folder is also required in "GameData" if the new world uses any new vocabulary/world description that isn't defined in the base game language folder.


Modded texture filepaths used in the new worldsettings.xml differ from the way they are defined in base game worldsettings. It is important not to define the filepath based on where your local textures are saved, as it may not work when uploaded to the steam workshop and ran on another device.

Where in the base game vulcan you might see the path:
Worlds/Vulcan/Textures/LAVA_heights.png
Your modded world would need the path:
GameData/Textures/ModLAVA_heights.png {verify?}

World Settings

World Settings define the structure of a world in stationeers; how it appears in the new world menu, its atmosphere, weather, mineables, deep mining regions, POI's, terrain path, what textures it uses, lighting and more. Many of these options branch to other .xml files, like mineables and weather, which can also be modified and added to the mod folder alongside the worldsettings folder for more advanced customization.
It's easiest to start with looking at/copying the world settings of an existing map and modifying the .xml file.

Modifying Atmosphere

The atmosphere is defined in the worldsettings under <GlobalAtmosphere> by a temperature map <Temperature> and gas composition <Gas>. Note that for vacuum worlds this entire section may simply be <GlobalAtmosphere/> with none of the following sections.

Temperature

Temperature for a world is defined by a map interpolated between several keys over the course of an in-game day. Each key has two important entries; time and value.
"Value" is taken as degrees kelvin. The atmosphere will be at this temperature when exactly over the key. Over the course of a day, the world "time" moves back and fourth between 0 (noon) and 180 (midnight).

As an example, setting two keys:
<Key Time="0" Value="200" InTangent=.../>
<Key Time="100" Value="150" InTangent=.../>

Would give a temperature that starts at 200K midday then gradually decreases to 150K just after sunset and stays at 150K all night before starting to increase just before sunrise back up to 200K.

Gas

Gas composition of a world is defined by type and quantity of each constituent gas. "Type" follows the prefab name of the gas as it appears in the stationpeda, (no spaces between words).
"Quantity" is measured in mols per frame, which matches what reading you would get with an Atmos Analyzer tablet when standing in any empty grid outside. This input doesn't correlate very intuitively with pressure, which needs to be calculated from the total mols of gas, volume of a frame (8000L) and the temperature (which varies according the the temperature map). The external tool Omni Calculator can be helpful for this.

Terrain

Custom terrain can be generated using the in-game command "terraineditor" in the f3 console. For this you need a heightmap and optionally crust map, cracks map, and lava map. In the terrain editor GUI you can navigate to each of the images saved on your computer for the terrain generator to use and hit generate. Once the 16 terrain files are generated, they should be placed in the terrain folder of the modded world.

Import terrain Heightmap

The in-game terrain editor tool requires a specific format of image for the heightmap; black and white 32-bit linear Grayscale in .raw, .data or .tiff formats with a size of 4096x4096 pixels (though other sizes are probably possible?). If it is not possible to export in one of these filetypes or it just does not seem to work, GIMP can be used to convert the image to the correct format. Once it is selected you can choose the minimum (fully black) and maximum (fully white) height.

Import Crust Map

The crust map only requires a black and white .PNG image, size does not need to be 4096{verify?}. The terrain material is defined in the worldsettings under <TerrainSettings...> ⇒ <Detail...> ⇒ <GroupOne> and <GroupTwo>. A fully black pixel on the map will correlate to group one, and fully white to group two, with any intermediate greys resulting in a blending of the two materials with varying weight towards one or two accordingly. On Europa, for example, group one is chunky rock and group two is snow. Blending is seen on the steepening faces of each mountain.

Import Crack Map

The crack map also requires a black and white .PNG. Importing one into the terrain editor will prompt several additional options to configure the cracks.

Making Lava from a Heightmap

The lavamap in the terraineditor is (confusingly) not actually used. Instead, a regular black and white .PNG heightmap of the lava should be located in the textures folder of the modded world and referenced in the worldsettings. Vulcan's default worldsettings section for this is:
<Lava MinHeight="32" MaxHeight="723">...

Textures

Texture files are used for colors and normals of the whole map and the close up dirt/rock details. They are also used to define where deep mining regions and POI's are located, using color codes defined by RGB in the worldsettings. Any modified textures placed in the mod folder must be properly addressed by file path in the worldsettings, as described in the file structure section.

Useful tools

  1. Blender is very useful for sculpting a world and generating height maps/normal maps from it.
  2. Omni Calculator can be helpful in determining the total mols of gas required for a desired atmospheric pressure.
  3. GIMP Is useful to convert image formats to the ones useable by the terrain editor command.