Oxygen Not Included

Oxygen Not Included

Not enough ratings
Oxygen Not Included and the Steam Workshop
By Servius
Oxygen Not Included Workshop and Mod Development Guide

   
Award
Favorite
Favorited
Unfavorite
How to upload to the Steam Workshop
Before we start lets make sure we have everything we need to actually upload something to the workshop.
Requirments:
  • The content you want to upload.
  • The Oxygen Not Included uploader tool
  • A 512x512 image that will represent your addon in the workshop menu.

Okay lets go
If you have all three of the above items ready to go then you are all set. Make sure to follow the next steps in order!
  1. Lauch the "Oxygen Not Included" uploader. You should have installed it earlier.
  2. Click the "Add" button in the top left.
  3. The first field is the one where will path to the folder containing the content you would like to upload to the workshop.
  4. The second field is for the 512x512 image that will be used to represent your addon in the browse menu and also in the top right corner of the public addon page.
  5. The third field is for the Name/Title for the addon. This should represent clearly what exactly people will be downloading before they even see the addon page.
  6. The fourth field is for the description of the addon. Describe into more detail what the addon does when installed, whats planned for it in the future, any known bugs ( if any ), etc.
  7. The fifth and final field is the "tags" section. Currently there is only one option for language addons. However, most games that have more tags will generally have both a "Type" filter and a "Tag Filter" that will allow content creators and users alike to better describe what they are releasing/looking for.
  8. Once you are sure everything is in place you should then click "Publish!" and wait a bit. Once done go to your profile on the steam workshop and locate the addon there. Set the view mode to "Public" and your addon will then be public! Yay!
Configuration files; Where are they and what they do.
This is a work in progess!!!
If you know what something does and its misrepresented here/missing from here feel free to nudge me to have it added.

Location of key folders and files related to modding your game
C:\Program Files (x86)\Steam\steamapps\common\OxygenNotIncluded\OxygenNotIncluded_Data\StreamingAssets



Mods Folder
  • Language Mod template. You can also use this to override any of the "normal" statements to say different stuff.

worldgen Folder and Contents
  • worldgen/biomtables/ contains all the files with the restrictions on "size" for the specific biomes. You can increase or decrease the amount of one thing that can be found in a biome. This is only a guess; Needs verification
  • worldgen/features/ contains all the files for pre-approved random(-ish) groupings of stuff in the worlds. For example:
    shape: ShortWide borders: - 3 blobSize: min: 14.1 max: 20.5 ElementChoiceGroups: RoomCenterElements: selectionMethod: WeightedResample choices: - element: Vacuum weight: 0.5 overrides: - type: MassOverride value: 0 - element: Water weight: 1 overrides: - type: MassOverride value: 1000 RoomBorderChoices0: selectionMethod: WeightedResample choices: - element: BleachStone weight: 2 - element: SedimentaryRock weight: 2 RoomBorderChoices0: selectionMethod: WeightedResample choices: - element: BleachStone weight: 1 - element: SedimentaryRock weight: 2
    • RoomCenterElements looks to how the core of the feature is made up.
    • Based off the above we can see there may be other ways of how the game decides how to first generate the world (see WeightedResample).
    • I would assume that "weight" decides how heavily the gane will put a focus on a certain element appearing in a feature.
    • The overrides portion seems to define what the element does when spawned in this feature. This may allow for spazzy water or heavy air if modified inside a feature. I would assume that "MassOverride" set to 0 means 0 gravity.
    • RoomBorderChoices0 seems to be named the same thing here but elsewhere there are parts where there is RoomBorderChoices1 and another with RoomBorderChoices in the same list. I can only guess this makes it so it pulls from both of the choices at the same time if named the same thing or to decide between both choices before pulling the elements if named two seperate things.
  • worldgen/noise/ is full of files that seem to imply soundscapes for the map based off several of the variables defined there. Without a way to see the actual resources for ONI there is no way of confirming the references found here Needs confirmation
  • worldgen/biomelookup seems to be the equivalent of an "Include" file. Basically references all the files back in biome tables. If you were to create a custom biome Im guessing you would need to create a new file back in the biome tables folder and then make sure to also add it to this file to have it included in the loadup.
  • worldgen/defaults seems to deal with how everything outside of features is generated. Needs verification and expansion to include what each value could potentially control
  • worldgen/features seems to define the features more than before. Seems to have the ability to define extra restrictions on where a feature is located based on a biome defined at type and then given tags that add extra paramaters. Needs confirmation; Need to also define each of the available paramaters.
  • worldgen/layers is referencing "Content" previously being referenced in defaults and features. bandSize between 0<->1 seems to be the paramater defined here. Need confirmation of purpose; Need confirmation of paramter effect.
  • worldgen/mobs deals with the npcs, where they end up, how many of them are there allowed to be/should be in an area. Seems to also deal with the plants that show up on the map as well. In my opinion this file should probably be split up. If you had custom npcs/plants to have added to the game this is probably where you would go to make sure it shows up.
  • worldgen/noise seems to do something with including files.
  • worldgen/rivers seems to define other features to be called into the game like water pockets, propane, magma, etc.
  • worldgen/rooms Those random pockets in the map that are littered everywhere seem to be defined here.
  • worldgen/seednames.txt I can either assume these are super early access donators or these are the names used to randomly generate new duplicants.
  • worldgen/subworlds So this one seems to be the combined file for really everything else. I would guess this is called and then everything else is referenced inside of it. Biomes, features, temperature, noise, mobs, etc. are all referenced here.
  • worldgen/temperatures seems to define the different types of temp between 0->1800. 1800 being the hottest and 0 being the coldest. My guess is that this called up by enclosures, items, and mobs. need verification

As said please let me know if you know the true nature of something above!
3 Comments
Mark7888 27 Dec, 2019 @ 6:23am 
Here is the uploader tool. You should just login with steam account, and click "install".

https://steamdb.info/app/636750/
joekraska 9 Dec, 2019 @ 3:04pm 
How do you install the mod upload tool? I can find reference to it on steam.db, but can't find it directly on Steam (web client or fat client at all). I seem to remember there is something special one has to do to get a hold of specific game sub-tools, but cannot recall the step. Help ;-P
TreyR9 23 Jun, 2017 @ 4:53am 
Not sure if you said this, but I believe that "noise" applies to the roughness of the terrain.