Stationeers - Rocket
As we head towards the atmospheric changes that we discussed previously there is new content we want that lays the groundwork. This week is an example of that. The Nitrolizer extends the ability to get nitrogen oxide, which you can be used to make even hotter fires.



We've also continued to work very closely with the community, both here in steam and on discord, to identify and fix serious issues both with the base game and particularly with dedicated servers. As always you will see these efforts continue front and center with each of our updates. Please do reach out to us via these channels. While we are not always able to get issues fixed immediately, we can always use your experiences to frame out how to fix them in future.

New Content: The Nitrolizer



To continue to expand the atmospheric engineering challenges in the game, we're adding the Nitrolyzer. It takes in equal parts oxygen and nitrogen, and a lot of power, to create a dirty mix of N2O. Players will have to decide how they want use this mixed output gas. They can recycle it through the Nitrolyzer at lower production efficiencies, refilter it into pure gases, or just use the mixed output directly. This allows players to more easily access the high temperature combustion provided by N2O, increasing furnace temperatures, and gas generator power amounts.

This Nitrolyzer also comes equipped with an integrated IC10 slot. Players wanting to program their way around (or into) problems will be able to slot in a chip, and easily access the Nitrolyzer and two other devices, without out having to clutter their piping with extra housings and wires. Over the coming weeks, we'll be revisiting more beloved atmospheric devices, giving them IC10 slots, updating their models, and balancing some of their behaviours.

Dedicated Server Fixes

Many fixes and improvements have been made to the dedicated server most notable are constant master server advertising while server is paused. The server now saves before pausing to ensure no data loss. You can now run server command from any connected client. This makes it much easier to access the server without using a CLI. It also helps Linux servers as the input buffer is still quite buggy in the terminal. Click for instructions on how to set it up.

Russian Language Suit Warning Voice

Following on from our work to add the German Language voice pack, we have added a Russian voice pack. Currently this will only be played while the language is set to Russian, but as noted last update we intend to add a separate setting for this in future. Our Stationeers community is an amazing global community of players, and we will continue to develop voice packs working on order of the largest users of the game.

Your support makes this possible

The major refactor has been a huge milestone for us and we think you can already see the tremendous success. Your support through bug reporting, suggestions, and direct involvement with our team on discord makes a tremendous difference.
If you like the progress we have made, please consider taking a moment to leave a positive review. This makes a great deal of difference to the project. We have worked hard on this project now for five years, and we feel confident the game is substantially improved from when we started. Many projects steer clear of the hard tasks, and we are proud to have taken them on.
Additionally, you can support us by purchasing the DLC we made to allow those whole like the game to support us, and in return get something a little fun to continue to use in the game.

https://store.steampowered.com/app/2089290/Stationeers_Human_Cosmetics_Pack/

https://store.steampowered.com/app/1038400/Stationeers_Zrilian_Species_Pack/

https://store.steampowered.com/app/1038500/Stationeers_HEM_Droid_Species_Pack/

Changelog v0.2.3525.17189
  • Fixed Sounds not working on H2Combustor.
  • Fixed Small collider on H2Combustor switch.
  • Fixed issue where H2 Combuster could operate on a bad atmosphere.
  • Fixed Electrolysis Machine producing twice as much Oxygen and Hydrogen as expected, and cut its power usage in half.
  • Increased H2 Combustor water conversion rate to 66% from 33%.
  • Normalized heat generated when producing water, to create temperature ranges similar to gas fires.
  • Fixed issue with the incorrect amount of water being created when combusting for water.
  • H2Combuster now produces a fixed 33% of water from its reaction, with the remaining amount creating traditional combustion products.
  • Fixed Clients can't turn on Nitrolyzer.
  • Fixed Clients can't set Integrated Circuit holder device assignments (beta only)
  • Fixed Nitrolyzer not saving device Ids.
  • Fixed Nitrolyzer activating when minimum conditions for processing not met.
  • Fixed Unable to assign devices on some logic chips when the current device was set to none.
  • Changes to nitrolyzer balance: pulls more gas per tick but maximum efficiency is reduced.
  • Added Nitrolyzer tooltip.
  • Fixed Invalid WorldGrid error when newly created items played impact sound. WorldGrid is now assigned when the item is registered.
  • Fixed converted usage of local grid to world grid in a few places for dynamic things
  • Fixed Logic Units show incorrect values when setting variable targets on a device (beta only).
  • Fixed Error spam when Nitrolyzer input2 is not connected.
  • Added checks around loading bad room data in saves which could cause rooms to contain the same grid multiple times
  • Fixed batch mode framerate limit being overridden
  • Added client protection to `save` command
  • Removed extra logMessageReceived callback append in ConsoleWindow
  • Fixed the frame rate being unlimited in the main menu when launching the game or returning to the main menu from a game
  • Added frame limit while game is paused
  • Added `serverrun` command for client authorised server commands
  • Made `save` command with no args save current world save
  • Added Nitrolyzer, a device which will convert oxygen and nitrogen into NO2. It has a power consumption of 20KW. The nitrolyzer is most efficient when operating on a 1:1 mix of oxygen to nitrogen. It will pull equally from its two inputs. An improper mix will result in less efficient operation and some of the power being lost as heat into the internal gas mix.
  • Added IC slot to the Nitrolyzer with 2 device assignments. Db is the Nitrolyzer and d0 and d1 can be assigned to any device on the Nitrolyzer's logic network. The internal mode can be set to "idle" (0) to pause production. The unit will consume 50W of power in idle mode.
  • Removed NetManager class double up with NetworkManager
  • Refactored a number of logic functions to Logicable static class.
  • Fixed master server ping stopping when server has paused
  • Added potential fix for slotted objects being offset from their slot on clients
  • Fixed Wireless Power Transmitters prevent clients joining game. (beta only)
  • Fixed New Large Radiators had default flash point and autoignition temps. Changed values to match pipe radiator.
  • Fixed Atmospheres with an invalid world grid will now be deregistered immediately.
  • Changed Definition of Invalid World Grid to (0,0,0).
  • Fixed Collection modified errors and energy set to NaN Atmospherics errors caused by bad room data in old saves causing atmospheres to be registered to more than one room.
  • Fixed Chunk de-serialisation not handling bad minable data.
  • Fixed weather effects/sound not persisting when active after loading game
  • Added non paintable color swatches.
  • Fixed slotted items in fridge not scaling or rotating correctly
  • Fixed shelf not being able to be placed
  • Fixed issue with -settingspath and custom savepath issues with dedicated server
  • Added Nitrolyser script.
  • Added auto save just before server auto pause
  • Fixed World atmospheres not cleaning up fast enough when close to global atmosphere.
  • Changed IsCloseToGlobal check to be relative based on GlobalAtmosphere pressure.
  • Changed Mix in world function to no longer flag atmospheres that have mixed as being active, it was preventing large clumps of world atmospheres from being cleaned up.
  • Removed debug print when moles Quantity was set to denormal or negative value.
  • Improved atmos analyser tablet text alignment and overlapping
  • Fixed build error caused by shader property id clashes
  • Fixed atmospheric system was not gracefully handling invalid value detection. Now invalid values are reported but handled and atmospherics continues. Sometimes very large (or very small) values can result from extremely energetic explosions or fires, so they need to be noted but gracefully cleaned up and execution continues.
  • Fixed client sync animators could be causing position issues.
  • Fixed signs not being able to be placed
  • Fixed join serialize and deserialize was not ordered, so objects had to wait for their parents. Now join thing data is sent ordered, so objects know their parents will exist. This optimizes, especially for large worlds, as things had to wait for their parent to exist. Additionally, it cuts down significantly on the data sent as physics data is stripped from objects that are not being physics updated. Possibly fixes desync on join where objects are at weird offsets.
  • Fixed StationContents were being sync'd with index of int type, unnecessary, so now being sync with byte (max is 17)
Jul 26, 2022
Stationeers - Rocket
Changelog v0.2.3508.17103
  • Added network manager will now attempt to make any available connection to a network adapter, and use all working ones, instead of using the first one it receives successfully, because that may not be the desired one.
  • Fixed blue color boxes indicating where to construct something not showing in tutorials and causing an exception.
  • Fixed tutorial can begin a hosted game, but causes exceptions. Now multiplayer is not activated for tutorials.
  • Fixed for tool tip hot key container width
  • Fixed clients would always send to one network adapter even if their connectionId to the server was on a different adapter.
  • Refactored network message sending to be more optimized and support multiple network adapter addresses for different clients.
  • Added Nitrous Oxide Canister to Trader.
  • Changed Nitrous Oxide Canister to be pure N2O, players can mix their own livable sleeping gases when needed.
  • Fixed issue with -loadlatest. CommandBase.ProcessOnLaunch() now called after WorldManager.Init phase
  • Fixed ic information windows having error text in the description
  • Removed reflection probe silent setting. It wasn't supposed to still be in game, but people who had old settings.
  • Fixed port setting from settings was always being applied causing network connection issues.
  • Fixed stationpedia showing up empty
  • Fixed Pressing C to rotate passive vent throws error.
  • Removed Tutorial stripping for dedi. Its causing issues loading games for some people
  • Fixed UPnP Registration would be checked no matter what the person had their settings set to.
  • Fixed a number of items not updating their positions on clients.
  • Fixed Improved smoothness of movement of items on clients.
  • Added Russian Suit Voice.
Stationeers - Rocket
This week we have begun revisiting not just core systems but gameplay ones. Fire is the first of the gameplay systems we have revisited, as we see it as one of the central systems that Stationeers have to master. Additionally, we've been working very hard to provide some key fixes. We also have also been working on with some new art for future updates, working towards exciting things like nuclear reactors, satellites, and more.



Dragging Items no longer destroys suits

Throughout most of the development dragging items has been dangerous, often resulting in a buggy experience that resulted in destruction of suits, development of leaks, even damaging the player severely. With the refactor this had become even worse, to the point where dragging crates or containers was almost impossible without risking catastrophic damage.



This has now been resolved. The issue was that while we were removing dangerous collisions with what you were (or were recently) carrying, often it wasn't what you were carrying that was damaging you - it was you being nudged by that thing into another structure. Extensive testing has been conducted, and it is now safe again to drag canisters, containers, and tanks.

Placement on both sides of walls



This is probably one of the most requested features on the project, and it's now here. You can place wall devices on both the front and back of walls. The devices will default to facing towards you, so to place something on the other side of the wall you will need to be facing that side.

New Fire Mechanics

Fire is one of the oldest features of Stationeers. This week we've changed how fast fire burns, and the conditions that allow it to burn, as well as added a new oxidizer for even more firey explosions.
Fire between volatiles and oxygen has been slowed down significantly. Now atmospheric fire is more likely to spread around, instead of instantly exploding. This also effects fires burning inside of furnaces, so being able to inject, or pump out fuel, of an active furnace is a lot more achievable. The increase of regular fuel autoignition temperatures, combined with the removal of several other pressure limitations makes using regular fuels significantly safer, readable, and, in the event of an accident, recoverable.

But for the pyromaniacs out there, we've added N2O as a new oxidizer to use, which allows volatiles to burn significantly hotter, faster, and at a lower autoignition temperature. This new high temperature fire allows you to reach hotter temperatures than ever before. Furnaces with large quantities of gas can easily be reheated, and gas generators can produce even more power, all while using a lower ratio of volatiles to combust.



We've also improved our volumetric fire effects. Density, temperature, and pressure will all drive the new particle effects, and allow you to tell the difference between a small welder accident, and a suit melting furnace explosion.

New Logic Gate Unit



A community request on the forums was made for a Logic Gate unit. This has been added. This allows you to take two inputs and perform a boolean operation on them. You could do this within our MIPS IC system, but there were no dedicated logic devices to perform them. Normal boolean operations are supported such as OR, XOR, NAND etc... Additionally, NOT has been added as a comparison operation to the Unary Math processors as well. You can build this device from the Logic I/O Kit.

In-game Help system updates

Community content continues to be one of the best ways to explore Stationeers, and given the depth of the game this is probably never going to change. However, it is vital we do a better job of providing important specific information to the player inside the game wherever we can. As such, Stationpedia has been redeveloped.



The search functions were optimized and their operation parallelized. This means that it no longer causing performance issues while searching. Additionally the search itself is much more robust. You can type a sentence and the search will look for all the words contained, in any order. You can also search for multiple fuzzy phrases by separating them using a comma. So, for example, you could search for "canister water, travel" and any items containing the words "canister" and "water", OR "travel" would be shown. The search system will also return information as soon as it finds it, and keeps searching.

We will be continuing to expand this constantly through the future, to provide as much information as we can to help you play the game.

Multiplayer Connectivity Changes & Fixes

We removed the use of external SDKs that were bound to steam from our multiplayer to ensure the game would always be playable, even if our studio and steam ceased to exist. We believe this is an important way games should be made and so have committed to, as much as possible, not relying on external systems that don't fully support cross-play. We strongly believe that it is important that people can play our games together regardless of where the game was sourced from.

However, this has meant we have had to roll many systems into the game and matching players together through the rather complex world of the internet has not been easy. We put a lot of time into trying to clean this up, working through issues the community identified here and on the forums.

There were significant problems with how we were initializing connections with your network device for some users. Many had no trouble, but we had been relying on the OS to assign us the valid network device - but this wasn't always true. Now we loop through all available network devices and look for one that can support the external connection stationeers need. Additionally, Upnp is then registered for that specific device. In some cases, these ended up being different devices.

We do still have more work to do here, so please do let us know issues you are having. We may implement steam peer-to-peer again as an option later, but we need to finish all our refactor work first as this would be a major package of work and we wouldn't want to have to redo it again.

Optimization & Stability fixes for world grids

Some pretty nasty bugs remained around our atmosphere and room registration systems. Within discord I explained a metaphor - imagine a bank where only odd numbers are allowed for bank accounts. All companies then setup there systems to assume only odd numbers are used for accounts. But it turns out, the bank doesn't actually check if account numbers are odd. Imagine a few of the bank staff have a bad day, and occasionally even number accounts get through.

This is what was happening with World Grids - important for atmospheres and rooms. Our systems weren't actually checking if the values provided fitted on the small or large grids - and problems ensued. We've take a key step with atmosphere and rooms to do this, but we suspect there will be continued work to really solidify this. However, we've already seen a much more stable situation.

We've also made sure that the system is much less tolerant of bad data. This might mean the game refuses to load a save or fails to run properly without splitting out errors. Please do let us know when this happens and send us the saves, as we can use these saves to find and fix those issues. In many cases, we can fix the issues within days and post the updates to Beta, rolling them into main on the next weeks update.

Your support makes this possible

The major refactor has been a huge milestone for us and we think you can already see the tremendous success. Your support through bug reporting, suggestions, and direct involvement with our team on discord makes a tremendous difference.
If you like the progress we have made, please consider taking a moment to leave a positive review. This makes a great deal of difference to the project. We have worked hard on this project now for five years, and we feel confident the game is substantially improved from when we started. Many projects steer clear of the hard tasks, and we are proud to have taken them on.
Additionally, you can support us by purchasing the DLC we made to allow those whole like the game to support us, and in return get something a little fun to continue to use in the game.

https://store.steampowered.com/app/2089290/Stationeers_Human_Cosmetics_Pack/

https://store.steampowered.com/app/1038400/Stationeers_Zrilian_Species_Pack/

https://store.steampowered.com/app/1038500/Stationeers_HEM_Droid_Species_Pack/

Changelog v0.2.3499.17067
  • Changed Atmospheres that are being destroyed have their Direction set to zero.
  • Fixed DynamicThings (such as players) could have a registered world grid that was no longer the registered world atmosphere for the location. This possibly caused the hotspot and atmosphere locations what would throw players weirdly whenever they entered the square. Also optimized the atmosphere IsInvalidThing method to use cached values, reducing the overhead check for this method which could be significant.
  • Fixed possible null ref if a game was unnaturally paused during chunk deserialization as a client. Split methods into two parts.
  • Re-enabled toolbelt Foley sound
  • Reverted jitter fix as this had large amount of side effects that need to be fixed (This will be in the next patch, there's to many issues for it to be included in this patch)
  • Added network connection fallback to OS default when device check fails
  • Adjusted game loading screens to handle all possible display resolutions gracefully.
  • Fixed entity's not generating a new animation cancelation token when being revived causing an error which meant that each character could only ragdoll once
  • An active welder will now spark the external atmosphere while ejecting its waste gases.
  • Temporarily removed ToolBelt Foley until Character juddering issue resolved.
  • Fixed input popup/labeler stops working after clicking search button on consoles. Was previously throwing exception but will now do nothing. Search functionality to be reimplemented at a later date.
  • Fixed Error spam when clients are looking at dynamic hydroponics.
  • Fixed Toolbelt Foley sound could get stuck at Maximum volume causing very jingly movement sounds.
  • Fixed refresh rate not being applied when loading settings
  • Fixed loading screens were not showing a black background behind them.
  • Fixed airlocks were too vast at declaring a vacuum. Reduced their vacuum tolerance to require closer to an absolute vacuum, and they will continue to pull for 1 second longer than they have detected a vacuum. Recommend that you have one active vent per grid square for airlocks using airlock control.
  • Fixed issue where cable junctions would not destroy after taking their max possible damage
  • Fixed several cases where the welding torch could remain on, despite no combustible fuel being present.
  • The welding torch now performs an internal combustion on its fuel, before mixing with the external atmosphere.
  • Fixed Ignition sounds playing for very small atmospheric fires.
  • Changed Scaled the volume of ignition sounds based on the size of the atmospheric fire.
  • Fixed Error thrown by AtmosphericAudioHandler when multiple threads were adding stressed structures to the stressed structures collections.
  • Optimizations to VolumetricLights on light sources.
  • Fixed failed ping attempt to master server would mean server would not be advertised until manually reset using refresh command. Now will silently get a new session from master server.
  • Fixed able to combine road flares when they are already activated and burning. Now cannot combine road flares that are burning.
  • Fixed flashing motherboards for airlocks with a screwdriver was not correctly resetting their state. Now correctly flashes and clears all device elements.
  • Added Robot will now try and use power out of it's hands, if the robot battery slot battery is null or empty.
  • Fixed saving icon would sometimes be stuck on even though game was not saving
  • Fixed logic gate model incorrectly showed its inputs in mesh
  • Fixed character hair showing helmet variant on first loading character creation even if helmet is not on
  • Tweaked animation timings for on off switches on fabricators
  • Fixed chunk exception when exiting a game while chunks rendering is being changed.
  • Fixed loading screen scaling is breaking for some resolutions
  • Fixed main menu game scene background was mismatched for ultra-wide monitors.
  • Added back all the loading screens to the game. Moved them into packaged folders, so they aren't taking up extra space.
  • Fixed autolathe switch not fully rotation into position
  • Fixed reinstated wave emote on keypress using new system
  • Fixed sending atmospheres to clients during write was causing NaN exceptions. Now an atmosphere is skipped from synchronization if contains NaN data, usually during atmospheric worker changes.
  • Fixed both gas generators possibly creating water during their forced combustion calls.
  • Fixed placing wireless power transmitter causes error spam on clients.
  • Added network device information to the "network" command to help debug network issues.
  • Fixed network issues related to multiple ethernet devices. The game would attempt to bind to the first the OS gave it, Upnp would try bind to the first ipv4 it found. This meant that Upnp and the game would bind to different adapters sometimes. Now the game will assess all network devices to look for all addresses it can use. Then it goes through and attempts to bind to all those addresses. When successfully finding a network device that will commence, it will use that to register upnp. This should solve a fair number of hosting/connecting issues people are having.
  • Added emote command for console and an easier way of triggering emotes for future use
  • Added 1st pass on sounds for atmospheric fires.
  • Changed Reduced particle spawn rate on thing fires to prevent puffing effect when particle system reached max number of particles.
  • Fixed character jitter while moving (more noticeable at higher frame rates as the framerate and physics updates timings diverged)
  • Added our own managed LateUpdate loop in the same way as our managed Update loop and implemented it on some managers
  • Fixed N2O combustion not correctly adding nitrogen gas to the combustion gasses.
  • Fixed loading images leaving borders when scaling on ultrawidescreens
  • Fixed Atmospherics thread race condition error that could happen when multiple fires we're being registered or deregistered at the same time.
  • Refactored Stationpedia search system. Words separated with spaces are searched for in text, in any order. Phrases groups can be made using commas, for example "water canister, travel" will search for records that contain "water" and "canister" (in any order), OR any page containing "travel".
  • Added spawn menu filtering now will search for items using any typed word, but in any order. So you can type "canister water" or "water canister" and it will show results that contain those words.
  • Fixed incomplete walls/windows would seal solars and extendable radiators from storm damage. Now damage checks not just for room, but for a global atmosphere. This means that solars will have to be in a fully enclosed atmosphere or vacuum to prevent storm damage.
  • Added StormBegin and StormEnd commands for debug purposes to spawn or end storms. Note these will soon be locked behind an "enable cheats" system.
  • Added LocalIpAddress setting. Not shown in game settings currently, but can be added to setting.xml file before load. This will use this IP address with network adapters while trying to register a client/server internet connection. This is useful when having MP issues, if you have multiple devices, as stationeers may be using the wrong one.
  • Added animated leak/fire images for slot items.
  • Added console font is a monospace font, same as for AotR.
  • Fixed non-critical exceptions on exiting game to main menu due to old character trying to still blink after it was deleted.
  • Fixed loading screen images stretch for variable aspect ratios.
  • Added Solar Panels can be repaired using Glass Sheets, as well as duct tape. Uses between 1 and 2 sheets depending on damage amount.
  • Balanced breaking force for joint when "dragging" something such as a container or large gas tank. Now twice as much breaking force is required to force it to drop, which should make it easier to drag things.
  • Fixed dropping draggables (such as containers, and gas canisters) near structures tends to cause an extreme collision with the player, destroying their suit and yeeting them across space and time. Previous attempts to fix were removed as they did not work, as they focused on fixing collisions between the item and the player, however, the issue was collision not between the object and the player so much as the player being pushed by the dropped item into structures very quickly. Now this is handled and the collision allowed to occur, but damage not applied for it.
  • Minor fix of missing scripts on prefabs.
  • Added Stationpedia mouse locking now darkens the background and prevents you from clicking, dragging or targeting anything. This puts the stationpedia in "modal" mode so you can utilize it without worrying about affecting any backgrounds.
  • Fixed localized strings could insert carraige returns if poorly configured. Now titles will strip whitespace if text accidentally includes it.
  • Fixed color tags broken for statiopedia, affecting some stationpedia files like hash numbers for other worlds for rockets preventing copying them.
  • Added toggle on Stationpedia window that will keep the mouse cursor free to move while Stationpedia window is open, instead of requiring you to hold the MouseCursor (left alt) button.
  • Fixed input continued while console window, stationpedia, labeller, and editing windows were open. Now it is disabled at base level of key mappings.
  • Fixed possible null ref exception when disposing of a player character at end of session.
  • Added "regeneraterooms" command. This command will automatically attempt to generate rooms, it will lockup the game while doing so.
  • Minor fixes for some english strings with inconsistent kit names
  • Fixed Error that could occur when Atmospherics manager tied to clean up fires.
  • Removed ProcessFires function. This functionality is now handled by AtmosphericFire Register Deregister functions.
  • Replaced Area Power Control (APC) mesh with one that has a power symbol on it to make it more obvious that it is a power device rather than an active vent.
  • Added auto snapping of pipe and cable attached devices.
  • Fixed able to place pipe and cable attachments without a valid cable or pipe below.
  • Fixed able to place cable attachments on non-straight cables. Now only straight cables will allow cable attachments.
  • Optimized light managers handling of DaylightSensor to remove creation of coroutines.
  • Fixed issue with oxygen fires using double volatiles.
  • Added better prompt explaining what deleting a save is doing
  • Fixed issue with having same clientID with clones in editor
  • Added mesh for LogicGate device. Says "Gate Unit". This device makes boolean operations available for logic processors.
  • Added NOT comparison to LogicMathUnary.
  • Fixed human eyes staying open when unconscious.
  • Fixed Passive Vent (free grid placement) had inconsistent placement to Active vent (face mounted placement). Later update to include different variations for passive vent, but the current structure should be identical to active vent for placement.
  • Fixed updated coroutine use on particle effect spawners to use unitask
  • Fixed wall mounting for face mounting wouldn't allow orientation on rear side of walls. This was because facemount structures would lock their face orientation to the structure they were mounting on. Now facemount objects will use the closest face to the player regardless of wall direction.
  • Changed Build tooltips on unfinished structures only show when tool is in hand.
  • Fixed Health bar tooltip now shows when looking at damaged structures regardless of what is players active in hand.
  • Fixed Can't place a number of devices. (beta only, introduced rev. 16953)
  • Fixed highlight response when hovering over the "exit session" button
  • Fixed Atmospherics error where explosions could stall the game tick.
  • Re-enabled GameTick Exception Logging.
  • Added respawn condition keys to english.xml
  • Fixed Many items and devices being destroyed on Venus by greatly increased the energy threshold required for auto ignition.
  • Fixed instances where things could be on fire but not show flame particle effects.
  • Increased the threshold of combustion before flame FX are shown. Very small amounts of combustion will still happen but flames won't be visible.
  • Fixed Welding torch setting atmosphere to sparked even when turned off.
  • Inceased the amount of time a helmet takes to burn from 15 to 60 seconds.
  • Added ability to place FaceMount objects onto the rear of walls. Previously, you could only place on the front of the wall. This makes placing things on walls far more intuitive than it was before. WorldGrid changes made this much easier to implement than previously.
  • Added LogicGate device. This allows applying logical operations such as AND, OR, XOR, etc... to a single boolean output. Input values greater than near zero are considered true for operation purposes. Constructed from the Processor Kits. Note: model on beta still says Logic Select, to be replaced later.
  • Fixed Rooms able to be registered with a key that is not a large grid. Non-large grid room registrations were found in some saved games. They have now been moved from using Grid3 to WorldGrid. This likely fixes a bunch of small issues related to room registrations, and various flow on effects.
  • Fixed build error by removing unwanted imgui directive
  • Fixed removing tutorial folder issues for build server
  • Fixed alt dragging items would move them immediately to active hand
  • Fixed alt hover indicator sometimes is the wrong color
  • Added the ability to alt drag direct from world to slot
  • Fixed issue where clients were closing master server game sessions stopping them from being advertised
  • Refactored Atmospheric system to use a new enforced WorldGrid value, instead of generic Grid3. This fixes a number of Atmospheric issues that were caused by incorrect position values being sent to the Atmospheric system. Grid3 can be either small or large grid, but the atmospheric system expected only large grid. This should fix a number of atmospheric glitches, such as "hotspots" and burning cables when using the Autolathe on some worlds. Likely will fix a lot of other small atmospheric issues.
  • Added atmospheric system will throw errors (and lots of them) if invalid values are passed to it, to highlight the issues so we can fix them.
  • Changed Tutorial dir stripping for dedicated server to post-build process
  • Fixed Devices and items catching fire in hot atmospheres when atmosphere is sparked.
  • Fire will now use Nos as an oxidizer, in addition to oxygen.
  • Increased AutoIgnition of Oxygen based fuel mixes to 300DegreesC. Nos based fuel-mixes remain at 50DegreesC.
  • Nos Fires will introduce twice the amount of heat compared to oxygen fires, and will produce nitrogen and carbon dioxide by-products.
  • Fire now uses less of the available fuel in a single combustion tick.
  • Very hot fires will now allow more un-combusted fuel to transfer to neighbouring atmospheres, better representing fuel explosions.
  • Changed style of Fire Particles.
  • Fixed Fire particles on items and devices that are burning.
  • Changed Devices and items only catch fire in hot atmospheres when the atmosphere is inflamed or the Temperature is above its auto-ignition threshold.
  • Changed Walls will no longer catch fire.
  • Removed partial pressure limitations of both volatiles and oxygen for combustion.
  • Removed Combustion minimum pressure requirements.
  • Changed pressure differential damage to curve near both minimum and maximum pressures.
  • Walls at the pressure limit will roughly take 5x as long to fully burst, and walls at extreme pressures will burst roughly 10x faster.
  • Fixed fire particles now move more accurately with atmosphere flow direction.
  • Optimised The system that tracks burning items and atmospheres.
  • Removed old fire marker prefabs.
  • Fixed error spam when looking at some destroyed structures with a tool in hand.
  • Changed Inflamed value on Atmosphere is only set inside the Atmosphere.React function. Devices that cause fires should set their atmosphere to sparked.
  • Fixed Fire Extinguisher not working in single-player.
  • Fixed incorrect tooltip on names of input/output ports on Heat exchanger.
  • Changed Swapped location of input2 and output2 port on heat exchanger.
  • Changed Heat exchangers now fully passive and will move gas through the unit in the direction of pressure, Maintaining a 10Kpa differential across the input and output will prevent back-flow.
  • Fixed issue connecting client to server or host
  • Added extra info for network status command
  • Reverted change where I accidentally pushed removing await delay in master server ping
  • Fixed NRE for player cookie clone editor
  • Added game string for starting condition difficulties
  • Fixed star skybox was rotating in space map. Now an XML world element is available (RotatingSky, default TRUE) that when set to false will stop the skybox rotation.
  • Refactored game initialization system. Previously the game was initializing in a haphazard fashion, causing us issues with dedicated servers and errors with some clients. Now the game initialization is done in a very sequential fashion, in an atomic way so that the entire game can rely in the initialization state when they are ordered for execution.
Stationeers - Rocket
The pace of our development has been able to substantially ramp up. The refactor work to redo much of the games foundations is now paying huge rewards in terms of our ability to iterate and produce content and fixes. Additionally, the new team members we added over time are now operating at full capacity with a much more robust codebase.



Through the week and the weekend we worked with the community on discord to continue to hit off some of the more problematic bugfixes, introduce a few community requests (such as exposing more logic variables), and fix bugs. A huge thank you, as always, to our amazing community for this hard work.

Support our development with this New Cosmetic DLC pack

Many on our Discord have been asking for ways to support the project. Last year, we put together a cosmetic pack for the Human Species, but got distracted with our significant refactor. But here we go - a purely cosmetic pack for the Human species, adding hair and new faces.
This DLC offers players a way to support for our development. If you like the work we have been doing, please do consider purchasing
https://store.steampowered.com/app/2089290/Stationeers_Human_Cosmetics_Pack/?beta=0
We have added a note to all our DLC indicating their purpose. We continue to add new content (such as new worlds) without locking them behind DLC, instead opting to put packs out like this to offer ways for players to support the project.

Stationeers is quite a niche game with a limited market. Thanks to the support of the community so far, many of whom are purchasing the DLC simply to support the project, we have been able to expand our great team and delivered on a major refactor to the project. We look forward to a bright future from the base we have now established.

Localization: German Voices In Game



The German community continues to be incredibly strong for the game. We still have a long way to go with our localization, and we will continue to work hard at this. But in the meantime, we have a thank you to the German community by including our first voice pack in the game. Currently, German voice will only be used if your language is set to German as a temporary measure, in future we will allow you to set the voice pack language separate from the text language.

Additionally, we have redone the voice pack audio effects in line with community feedback to make them less "clean" sounding. As always, please let us know your thoughts about these changes and we will continue to adjust them.

Optimizations

As we work towards establishing what the "stationeers" survival experience will be, we want to make sure maximum scale is supported. We believe one of the defining characteristics of Stationeers is the sheer scale the game is able to simulate. This is possible due to extensive work to use the maximum cores on your computer, and for multiplayer provide a very efficient system to send data out to clients.

This week we include a lot more optimizations, many quite small in their own right, but together (especially with large bases) many users might notice some further improvement in their frame rates. We will continue to optimize the game more and more with every update.

Airlock Speed and Performance

One specific area players will notice is that Airlock Circuitboards now operate significantly faster. They're also more performant as well. If you have many airlocks running, you will notice improvement performance now.

Atmospheres Changes



As we head towards broader enhancements to our atmospherics system, we need to better provide resources for players to be ready.

Nitrogen Ice now spawns

This week we have nitrogen ice spawning in worlds (non hot ones). This can be used as an inert gas, which will become important as we introduce concepts such as O2/CO2 Toxicity. Additionally, it is useful to reduce the flammability of your atmosphere.

Coming Soon: O2/CO2 Toxicity

As noted above, balancing your air requirements is going to become much more important. Managing the atmosphere to balance all you need from it will gain increasing importance. You will need to start balancing the amount of O2, ensuring not too much CO2, and using inert gases (such as Nitrogen) to balance the difference.

Coming Soon: Fire Improvements

We have extensive changes coming in the next few weeks that will make fire much more of a hazard. Already in this update, a few changes introduce more sources of ignition (such as fabrication machines, microwave, etc...). A complete refactor to fire will be released in the next few weeks which will really up the danger of fire in general as well as visually enhance it a great deal. Use these next few weeks to start preparing your bases with a view of safety.

New World Preview Scenes



We've been working to improve the preview scenes for the worlds, so you'll notice some beautiful new views before you head in! Additionally, Vulcan now has a new and improved Black Hole sun to really enhance the experience. A new world is planned to be added sometime soon as well, we're thinking how we could use this new world to enhance the game further so stay tuned.

Your support makes this possible
The major refactor has been a huge milestone for us and we think you can already see the tremendous success. Your support through bug reporting, suggestions, and direct involvement with our team on discord makes a tremendous difference.
If you like the progress we have made, please consider taking a moment to leave a positive review. This makes a great deal of difference to the project. We have worked hard on this project now for five years, and we feel confident the game is substantially improved from when we started. Many projects steer clear of the hard tasks, and we are proud to have taken them on.
Additionally, you can support us by purchasing the DLC we made to allow those whole like the game to support us, and in return get something a little fun to continue to use in the game.

https://store.steampowered.com/app/1038400/Stationeers_Zrilian_Species_Pack/

https://store.steampowered.com/app/1038500/Stationeers_HEM_Droid_Species_Pack/

Changelog v0.2.3456.16909
  • Fixed in game hair variant not changing correctly when wearing hats or helmets
  • Added Appliances (Microwave/ReagentMixer) and Fabricators (Autolathe etc...) are now ignition sources. They will also put out a small amount of extra heat when they are operating. Be careful using in environments that have volatiles etc...
  • Added ability to ping ui slots for tutorials
  • Fixed misc NREs when loading game on dedicated
  • Fixed CommsMotherboard exception on dedicated when joining
  • Fixed saving spinner being visible when you launch the game until a game is saved
  • Minor optimizations to logic screw audio noises.
  • Minor optimizations to audio, trading, and logicOnOff button.
  • Optimized occlusion manager handling of dynamic things.
  • Optimized batterycell flashing animation and helmet switch state animations.
  • Optimized LogicDisplay render text changes, and roadflare burning.
  • Optimized wheel rotation for stacker, vending machine refrigerator.
  • Optimizing drilling animations for the Mining Drill.
  • Optimized movement controller to reduce memory allocation for jumping and emotes.
  • Fixed mission pings not showing up for things in slots
  • Fixed Star settings were not being correctly applied to world. New Star class (may require a change by modded worlds) applied for the two star mappings. Also optimized the star rotation and material functionality.
  • Removed obsolete methods. Pointing Checkfiles to new StationSaveUtils class
  • Fixed NRE directory when starting new game
  • Added German suit voice.
  • Updated Audio processing on English suit voice.
  • Added placeholders and migration methods for new save directory structure.
  • Fixed broken seams between chunks. This is an exploratory fix, it may now allow seams to be better sealed. This allows chunks to make as many rebuild tasks as it likes.
  • Fixed normal maps too heavy for new human cosmetic pack faces
  • Added Large Passive Radiator. It is optimised for convective cooling/heating and will be most effective in environments with world atmosphere. The Device is fully passive and the liquid/Gas will flow throw the radiator in the direction of pressure.
  • Added ItemKitPassiveLargeRadiator recipe to PipeBender Tier 2 printer.
  • Updated Character Creation scene, using the same suit (hardsuit) for both masculine and feminine human species.
  • Fixed helmet added in character creation scene doesn't match the suit.
  • Added DLC cosmetic hair to all female and male DLC characters.
  • Fixed facial expression not working for one of the new faces
  • Optimized locker handling of making items visible/invisible when closing.
  • Optimized render change assignments when being made off the main thread.
  • Optimized off thread changes for Entities, Sensors, IC Writer Motherboard, and Logic Buttons.
  • Optimized Status update (blinking notifications).
  • Optimized player suit leak system and prepared context strings for localization.
  • Fixed skybox prefabs would remain in scene when returning to main menu from a game.
  • Updated all menu scene previews for world to be more interesting, with additional prefabs and more effects, new textures, and models.
  • Replaced old UI planetary main menu Vulcan scene with an improved one.
  • Replaced in-game Vulcan Black Hole Sun with an animated and visually improved model.
  • Fixed plants were decaying when planted in a tray. Credit: Neouni
  • Optimized item decay. Was being handled individually (!!). Now moved to a centralized tick, on the server and client, that handles decay on items. Currently being handled on the main thread but in future can be moved to a worker system. This could give significant memory and performance improvements for bases that have a lot of decayable items.
  • Optimized Station Batteries so their flashing image was no longer generating coroutines and causing memory churn.
  • Optimized Chunk Generation and item out of bounds despawning to reduce memory churn and CPU usage in cleaning up, especially when lots of chunks are being rendered at once or items are falling out of bounds.
  • Optimized WaitThenInteract for all interactables. Now no longer uses coroutines that was causing memory turnover and wasted CPU cycles.
  • Optimized WallLight shadow changes. Now no longer uses coroutines that was causing memory turnover and wasted CPU cycles. This was occuring as players walked around, so very often especially if you had a lot of lights. With large bases this will reduce some of the GC overhead for memory, helping slightly for CPU.
  • Removed old LogicType.Idle functionality from ArcFurnace, as it was effectively useless.
  • Added LogicType.Idle to ArcFurnace. While return 1 while the ArcFurnace is actively smelting, and 0 once it has finished.
  • Added LogicType.Idle variable to door. Will return 1 while the door is animating, false while it is not 0.
  • Pulled ArcFurnace tooltip strings out into GameString so they can be localized to other languages. This will be a long process where we pull out of a lot of these strings.
  • Optimized ArcFurnace to not use coroutines for smelting. Changed from LocalGrid to GridPosition for source of smelting gas, possibly fixing arc furnace if it is the source of heat spot bug sometimes reported on forums.
  • Fixed ReagentReader next mode was reversed, causing the wrong direction to be used when getting the next mode. Credit: Risu.
  • Fixed possibility of an invalid cast of an enum for Programmable Chips for double and int. Credit: Risu.
  • Added LogicType.EnvironmentEfficiency and LogicType.WorkingGasEfficiency values to be read on the StirlingEngine, at the request of Mordiaky from discord.
  • Added action to motherboards and circuitboards for AttackWith a screwdriver. If you use a screwdriver on a motherboard or circuitboard, you can clear the motherboard. This will attempt to delete all references on the board, helping when they get bricked due to null devices containing a reference when deleted. Options to do this on the card will be dealt with later, but this is a temporary solution.
  • Optimized AdvancedAirlockControl and AirlockControl to no longer use coroutines giving performance gains, especially where they are used often. Also increases the speed of the airlocks significantly. Reduces the GC can CPU usage for airlock controllers.
  • Added IsBusy property to Doors to allow for faster operation of airlocks and associated systems.
  • Fixed exceptions caused by missing cosmetics data on characters during load.
  • Fixed handling of null character kit resulting in halted execution during load. Now will gracefully print an error in the console and continue loading.
  • Added Nitrice (Ice) item and Nitrice voxel deposits. These will only appear in new worlds, as VoxelTypes are created for your save file, to preserve save functionality during balancing and changes. 'Nitrice' is a form of Solid Nitrogen found as deposits. It is an inert gas that can be useful for pressurizing atmospheres. It will become more useful once O2 and CO2 toxicity is introduced.
  • Fixed a variety of strings in the Stationpedia were incorrectly using color tags.
  • Added a lot of links in the stationpedia that were missing, to help people find information better.
  • Fixed missing character kits getting stripped in build
  • Fixed server pausing on hosted server.
  • Fixed head meshes not showing up in character customization
  • Fixed missing materials in character customization scene
  • Added placeholders for improving steam cloud sync for saves
  • Fixed port being parsed as an int32. Changed to uint16 all the way down the chain.
  • removed blocked.txt in favour of new banning system
  • Improved server banning. Now adds ID to blacklist regardless if client exists. File location now respects SaveData setting.
  • Fixed LargeExtendableRadiator required a mkII angle grinder to deconstruct (now any angle grinder will deconstruct it).
  • Added Script for Large Radiator.
  • Fixed issues with player cookie being used on dedicated server
  • Fixed character dlc missing script in player prefab again
  • Moved devconfig to persistent folder and out of repo
  • Fixed character hair choice being offset by one on loading character customisation
  • Fixed missing character kits for DLC
  • Fixed character changes reverting when opening character creation
  • Fixed voice notification changes not saving
  • Added new graphic for quick save button
  • Added new human DLC pack
  • Adjusted game string formatting for localization
  • Added `AutoPauseServer` setting when no clients are connected. True by default.
  • Added meta server game session refresh attempt after a failture happening.
  • Added placeholder for nonsteam clientId system.
  • Changed pinging meta server to every 30s. Now silently tries again if fails
  • Fixed Localisation error for bottle slots on powered WaterBottleFiller.
  • Fixed Powered WaterBottleFiller Throws error when using smart rotate.
  • Removed Animator Component from Powered WaterBottleFiller.
  • Fixed InvalidOperationException in ElectricityManager.SerialiseDeltaState() when player joins
  • Changed RocketBinaryWriter.Position from method to property to add setter as well.

Stationeers - Not Simon
* Fixed exception when using depart button with trader
Jul 13, 2022
Stationeers - Rocket
After a massive increase in players (thank you!) it highlighted that we needed to do some more work, particularly on fixing issues with the tutorials. While we knew we wanted to upgrade them to be better, we didn't realize they struggled quite so much with the changes we made in the refactor. Additionally while fixing some bugs and making optimizations, we inadvertently made more bugs.
In the future we will be implementing phase changes for gases and liquids, please start updating your bases so that you don't have frozen water in your pipes, as a future update will cause them to break and turn into ice
Improving the Survival Loops



As we start to progress towards tightening up the overall game loop there is is some homework to be done improving the survival loops. A common source of frustration has been water. The existing ice crusher did not warm the water up and a bug resulted in the water made from ice coming out at extreme temperatures. The new Ice Crusher will stop to warm up its internal atmosphere if it is too cold. Additionally, the bug is fixed and water will come out slightly above freezing.

Optimizations and Improvements

We've continue to optimize elements of the game to further increase the sizes of base that can be supported. Our small team has been closely monitoring the forums, discord, reddit, and streams looking for problems and issues that we could solve. We released a few hotfixes over the weekend to work out the worst of the issues, but took a break on Sunday to get back into it for this week.



UPCOMING: Next Steps

Continued primary focus will be stability and bug-fixing, but we will be continuing to push towards reshaping the game towards a better defined objective - and laying on a true survival loop. This will include a solid focus on the mid and late game especially around ore generation. Expanding the trading and mission system, a load of new content (Nuclear reactors!), expanding the role of Rockets (including midgame options), new worlds, and much more.

UPCOMING: Multiplayer Improvements

As part of our studio commitment to provide completely DRM software, with no reliance on external SDKs (like steam), we have had to rip out some nice functionality to ensure everyone can play the game together, no matter the source of their copy of the game (whether pirated, on a console, or from steam - we want people to be able to play together).



We will continue to work to better support multiplayer and fix associated bugs, and we do understand some miss the peer-to-peer options Steam provides. However, our studio is committed to the goal of making games that can outlast both the studio and the store you bought it from. To do that, we need to make sure the game is not reliant on steam to play.

Your support makes this possible
The major refactor has been a huge milestone for us and we think you can already see the tremendous success. Your support through bug reporting, suggestions, and direct involvement with our team on discord makes a tremendous difference.
If you like the progress we have made, please consider taking a moment to leave a positive review. This makes a great deal of difference to the project. We have worked hard on this project now for five years, and we feel confident the game is substantially improved from when we started. Many projects steer clear of the hard tasks, and we are proud to have taken them on.
Additionally, you can support us by purchasing the DLC we made to allow those whole like the game to support us, and in return get something a little fun to continue to use in the game.

https://store.steampowered.com/app/1038400/Stationeers_Zrilian_Species_Pack/

https://store.steampowered.com/app/1038500/Stationeers_HEM_Droid_Species_Pack/

Changelog v0.2.3429.16807
  • Fixed weather station and tweaked vane movement
  • Fixed falling through the ground when closing stationpedia
  • Removed save buttons from menu for clients
  • Add early return so we don't make a game session for master server while in tutorial
  • Fixed erroneously sent network update causing the mining robot to be fixed in place on clients
  • Fixed about 20 instances, across the project, of potential unnecessary network updates beings sent
  • Fixed compile error from last commit
  • Changed Tutorial stripping for dedicated server to build server argument checks
  • Removed placeholder setting `DeleteHumanOnDeath`
  • Added actual setting `DeleteSkeletonOnDecay`
  • Fixed hydroponics tutorial again
  • Fixed powered water bottle filler slots
  • Added placeholder for DeleteHumanOnDeath setting
  • Added `deletelooseitems` command
  • Replaced Kit Sensor item mesh with a custom one that is optimized and looks far better.
  • Removed StreamingAssets/Tutorial directory from dedicated server saving 1.5GB
  • Added initial setup for localization improvements
  • Fixed exit game popup showing incorrect buttons
  • Added localisation game string to quick save and save as buttons in menu
  • Fixed error sending process message from server to client in robot
  • Changed dedicated server default save location from `Environment.CurrentDirectory` to `Application.dataPath` parent dir
  • Fixed issue where tutorial blueprints would not disappear on quit
  • Added new WaterBottle Filler. This is a powered device with an switch to turn it on and off. Its switch will flash an error if it cannot get water (either none, or too hot, or too cold). This provides more feedback to the user, as well as allowing users to toggle it on and off. Uses a very small amount of power.
  • Depreciated the old Waterbottle Filler. It will still spawn in, but deconstructing it will give the kit, which now points to the new Waterbottle filler. So existing saves should work fine, but all new fillers will be the new type.
  • Fixed SavePath setting not being respected in dedicated servers
  • Added quick save function key `F5`
  • Added closing pause menu instantly after save or save as
  • Removed save buttons from pause menu in tutorial
  • Fixed ice machine not outputting correctly
  • Changed Ice Crusher. Optimized by removing use of coroutines. Ice Crusher will now stop and heat up its internal atmosphere if it is too cold. Now also has a small tooltip window that tells you the pressure and temperature inside.
  • Changed Ice to Smelt at 5 degrees C, rather than 0 degrees C.
  • Fixed Smelted Ores/Ice that were inside a vacuum, their gas temperature was lerping towards zero. Now smelted ore/ice gas will come out at its defined temperature when being smelted into a vacuum.
  • Added Quick Save button in menu
  • Added Save Game As button in menu
  • Removed atmos spawn debug from shipped builds
  • Removed more log spam
  • Fixed potential null errors in tutorial steps related to character
  • Fixed Gas Mixing Tutorial getting stuck on open Waste Tank step (introduced Rev.16750)
  • Fixed Things without animators returning the incorrect Open value when reading IsOpen on the main thread.
  • Fixed autosave attempting to run in the tutorial
  • Fixed some unnecessary log span regarding auto save
  • Added info/info-verbose command to provide info about any IReferencable (command is: "thing [info/info-verbose] [ReferenceId])
  • Fixed Bug in 1st tutorial(Basic Concepts) where it could get stuck on "Wait for pressure to reach 60kpa" step due to the welder over-heating the room atmosphere to an out of bounds value in the check. Removed the temperature and molar check for this step.
Stationeers - Rocket
The last few weeks we have worked closely with the community and server providers to improve on the work of our big refactor. A key focus was to get the old tutorials working, which we have. Expect changes to this in future. Additionally we have targeted some of the worst bugs and problems reported by the community and included these as fixes. We've also taken a first pass at improving some of the more confusing aspects of Stationeers, this week it is the save system.

Changes to save files
We have made important changes to save files. Now autosaves and manual saves will be grouped together, much like other games such as Oxygen Not Included. This work helps both make the game more intuitive and supports changes needed to better run servers
Please let us know if you have any issues. For now, there are some unusual restrictions such as you cannot name a save using "autosave" or "backup". This is temporary as we are making slow and careful changes to the save system to avoid the possibility of any data loss. We will be continuing to iterate on this a great deal over the coming months.

Return of the Tutorials



The old tutorial system got quite broken during our major refactor, so they hadn't been working. Most players get the best benefit themselves, from youtube and content creators, but it was important we restore this functionality. We do note that the feedback, which is correct, is that these tutorials are not fit for purpose so expect more work on this to come.

We will continue to evolve our efforts for "first time user experience" over the coming months in consultation with the community.

Dedicated Servers as a foundation for Dedicated Communities

One of the exciting opportunities our major refactor has bought is the ability to scale Stationeers. This is what we believe sets Stationeers apart from all other similar games. Over the past five years we have worked on every element of simulation and performance, both in singleplayer and to support multiplayer, giving us the ability to really scale the game.



However, our tools to support scaling communities has been lacking. We have opened a dialogue with major game service providers to try and improve our dedicated servers across all our products, which you will continue to see from week to week in these updates.

A notable change this update is improvements to how save and load is handled - especially for dedicated servers. This should make setting up and managing a dedicated server much better. We also had a great deal of "console spam" that made it exceptionally difficult to navigate running a server. This is fixed, and much more.

Optimizations and Improvements

We have continued to fix bugs and optimize the game. A number of key improvements are in this update which you can read in the changelog below. Some of these might give quite dramatic improvements to players; dependent on the size and scale of your game world. While future updates will start to include more new content and dealing more with the survival aspects of the game a central focus of every update will continue to be performance and bugfixing.



UPCOMING: More Localization

Behind the scenes but not in this update is further localization improvements to gain better coverage for translations in the game, allowing us to provide better support to communities who speak other languages. We appreciate the hard work from our community to help us guide the game to be more playable by everyone, regardless of the language they use.

Your support makes this possible
The major refactor has been a huge milestone for us and we think you can already see the tremendous success. Your support through bug reporting, suggestions, and direct involvement with our team on discord makes a tremendous difference.
If you like the progress we have made, please consider taking a moment to leave a positive review. This makes a great deal of difference to the project. We have worked hard on this project now for five years, and we feel confident the game is substantially improved from when we started. Many projects steer clear of the hard tasks, and we are proud to have taken them on.
Additionally, you can support us by purchasing the DLC we made to allow those whole like the game to support us, and in return get something a little fun to continue to use in the game.

https://store.steampowered.com/app/1038400/Stationeers_Zrilian_Species_Pack/

https://store.steampowered.com/app/1038500/Stationeers_HEM_Droid_Species_Pack/

Changelog v0.2.3403.16721
  • Fixed autosave not happening on thread
  • Fixed Can't push exit session button.
  • Fixed Game autosaves while paused.
  • Fixed Starting a new game after exiting a game continues saving in the previous games folder.
  • Fixed additional bugs with the tutorials
  • Added a note when starting the first tutorial
  • Fixed Leave Session button not working sometimes
  • Fixed Next Tutorial button not working.
  • Fixed Spawn atmos creative command throws error in main menu.
  • Fixed AutoSave triggering when in main menu.
  • Fixed Players cannot use strings "saves", "Backup" and "AutoSave" in their save name. (Temporary pending improvements to save file management).
  • Fixed Can't use an existing save name when starting a new game.
  • Added help logfile command for markdown
  • Fixed up -loadlatesttest for dedicated based on new saves changes
  • Fixed being able to save during Tutorial
  • Fixed Deleting a Save that had the name "Backup" would delete the saves folder.
  • Fixed Error during saving when starting a new game.
  • Fixed Error saving in a new game when no backups exist
  • Fixed autosave backups not be appended
  • Fixed If a save has no backups currentWorldInfo is not set
  • Disabled autosave in Tutorial.
  • Fixed Tutorials won't start after save loading change.
  • Added auto save class for single responsibility
  • Removed old autosave logic and replaced with current save logic for consistency
  • Added new method for handling save backup index before a save is generated
  • Fixed Error where some backup saves got incorrect meta file.
  • Fixed Deleting a save game throws an error and only deletes the backups.
  • Fixed Recursive backups Directory being created when saving from a loaded backup game.
  • Changed Pressing Save Button in game now saves to the same save session. The previous save will be backed up in the backups folder.
  • Fixed Backups sorted in order from latest to oldest with latest at the top of this list.
  • Changed Autosaves are now labelled in backups Window.
  • Fixed Old autosaves are deleted from backups. session maintains 3 autosaves, manual saves are not deleted from backups.
  • Fixed Error with load window when session has no backups.
  • Fixed Backups not accounting for existing backup names when iterating backup number.
  • Fixed backups list showing items from previous item.
  • Fixed issue with loading from backups folder
  • Added side panel on load screen showing backups
  • Fixed Search box not working in LoadSave screen.
  • Fixed Structures not switching to broken model when destroyed on Clients.
  • Fixed Byte Array Read Error on clients when explosions destroy cable or pipe networks.
  • Fixed Error thrown by book blueprint.
  • Fixed issue with SessionSortType argument out of range errors from playerprefs
  • Changed DamagedAllowed function to use inheritance to bring in-line with existing code-base practices.
  • Fixed Suit not correctly updating its position for atmospherics calculations due to it being hidden in slot.
  • Added `masterserver` command
  • Fixed Error in Internal Atmosphere thermodynamics calculation that could cause items with internal atmospheres to radiate or be heated by the incorrect world atmosphere.
  • Fixed issue where structures would not leave behind broken equivalent when destroyed
  • Fixed checksum for game session is unnecessarily long
  • Fixed issue happening when empty save name is created at new world
  • Fixed Wreckage not spawning (introduced rev. 16675, Internal build).
  • Fixed issue with indestructible objects taking damage
  • Fixed backup saves window
  • Added better highlighting feedback for load/save items
  • Fixed Print Action not printing to screen.
  • Added save name prompt before starting a new game
  • Fixed Key nor Found exception thrown when using smart rotate on small light.
  • Removed a number of unnecessary error logs.
  • Fixed Index Out of Range Error thrown by broken structures on Load that what prevent save from loading.
  • Fixed Spawned wreckage on load stealing Saved ReferenceIds.
  • Fixed White and Yellow console logs printing to screen. Only red error logs print to screen now.
  • Fixed packaging machine not working for clients
  • Fixed bug where thing max damage was not set correctly
  • Changed auto saving to override current save directory
  • Removed Un-needed error log on tutorial start.
  • Fixed NRE for checking logFile arg
  • Fixed Stacker tooltip shows incorrect stack-size quantity on client.
  • Fixed Error thrown by Atmospheric Debug.
  • Optimized Atmospheric particles for clients. Clients were previously rendering atmospheric particles for distant Grids. 10-20% fps improvement when playing as a client on a larger base.
  • Fixed Atmospherics error spam caused by edge case where a world atmosphere could be created with a volume of 0. Would result in the atmosphere having an Energy of NaN.
  • Fixed Some World atmospheres on hot planets could have a very strong direction vector that would blow player around. This was a result of bad data serialized during the atmos bug that was fixed in the most recent hotfix.
  • Fixed Exception thrown by battery when trying to update render state.
  • Added Debug.Log() at console print level if `-logFile` is used (to actually log them)
  • Added a potential catch for DoTween at our console print level
  • Fixed DoTween logspam now only reports errors only
  • Removed console logging if `-logFile` launch command is used.
  • Fixed incorrect toxin levels applied in previous change
  • Added placeholder for sending client side commands to server
  • Fixed Fully grown plants not healing when in good growing conditions.
  • Fixed issue where plant damage was not saving correctly
  • Fixed plants taking damage on loading world
  • Fixed issue where certain objects would block the sun
  • Fixed issue where lander would sometimes collide with itself
  • Fixed Can't fill water bottle in Hydroponics tutorial.
  • Fixed Tutorial loading screen not working.
  • Fixed Can play as other species in tutorials.
  • Fixed Out of range exception thrown by AtmosphericAudioHandler.
  • Added -noclear launch flag for dedicated server to skip clearing so you can see any errors before "ready"
  • Added LoadLatestCommand extend LoadGameCommand so syntax is similar.
  • Added clamp for console write buffer count. Sometimes is less than 0 and throwing exceptions
  • Removed attempt to skip Clear() on Linux.
  • Added ignoring Clearing console on linux dedicated until a fix is found.
  • Fixed Tutorials. Tutorials button has been re-enabled.
  • Added `status` command for dedicated server
  • Added try/catch around clearing cline in console. Hopefully stopping from console being unusable when exception there is thrown
  • Suppressed user input in console while dedicated server is loading up before ready.
  • Added some annoying logs for the developers when they don't add help text to a command ;)
  • Fixed Atmospheric error on clients when server sent an atmosphere with a bad Id.
  • Fixed DiodeSlide not showing correct value on clients.
  • Fixed Error spam from plants when damaged by bad Atmosphere.
  • Fixed Audio bug where wind sound could get stuck on.
  • Optimized physics tick for objects hidden in slots. bases with large active chute networks or lots of items in vending machines and closed lockers should see a 10% fps improvement.
Jun 25, 2022
Stationeers - Not Simon
* Fixed Error Spam and Atmospheric Anomalies caused by a math error in the World atmosphere radiate heat function (which moves Temperatures of world atmospheres not in a room towards the global atmosphere Temperature)
Stationeers - Rocket
Cross learning and tech sharing between our projects brings you this update



Contrary to what has been incorrectly suggested in some reviews, the multi-team nature of our studio works towards better products, and this update is an excellent example of that. After technical review of our unreleased train tycoon game (Art of the Rail) by ICARUS technical team members, we embarked on a new approach to multi-threading for some core systems that took better advantage of multiple cores, and reduced thread concurrency dependency. What this means is we were able to squeeze better performance and reduce technical complexity (think: opportunity for really hard to fix bugs) at the same time.

We are really proud of how we have built a studio that has different teams, but are still able to share the lessons and grow better overall - and we hope you see the results of that too. Our lessons, both good and bad, from ICARUS and Stationeers are flowing between our teams and projects as well as the unreleased games we are working on. Even if these unreleased games never came out, they prove valuable in us being able to test our systems and approaches that we can port to games like Stationeers.

It's a shame that the top review for Stationeers, draws the conclusion that multiple projects and teams in a studio is bad for any of the games when, as this update demonstrates, the reality is quite the opposite.

Highlights
  • Localization is fixed
  • Some versions of Linux could not run the dedicated server due to missing DLLs, this should now be fixed
  • The atmospheric tick has been highly optimized and experiences much less slow down. On many saves the atmos tick was running only about once per second or worse. Now it will be running every 500ms. On top of this the room generation and atmos tick are now in a fixed sequential order.
  • Fixed large IC scripts not being synced in multiplayer
Want to run a dedicated server? Much has changed! Checkout this guide on my github for more information
Background on Threading

Threading, in a programming sense, can be thought as of making your computer multi-task something. That is obviously a good thing, especially so for a systems game like Stationeers, because your processor (CPU) has a lot of things to do. You'll hear us talk about a "frame", which is the time (typically measured in milliseconds or "ms" for short) which you have to construct the image that will be sent to the users monitor for display. If you take to long, or even do so at constantly shifting speeds, the game "lags". There are multiple reasons that this can happen which you will hear people talk about on forums, such as being "CPU bound" or "GPU bound". GPU is the graphics card (or integrated processor), a device heavily focused on doing enormous numbers of math calculations concurrently (at the same time). When I say enormous, I really do mean enormous. Modern GPUs conduct math operations at a truly staggering rate.

While it is obvious that multi-threading is good for games, it is typically also very bad for them as well. This is because when you make an operation concurrent, it is very difficult to get that working together with the other threads going on. Especially so with the "main thread" - which is the one your game is using to put everything together. Modern game engines such as Unity or Unreal nearly always have some multi-threading out of the box, such as physics (at least some parts of it), audio (again, some), and some file operations. The rest is up to developers.

Sequential Operation of Worker Threads in Art of the Rail



We're pretty proud that Stationeers has always delved deep into unlocking the potential of all those CPU cores on your computer. But in many cases, we would make one thread for one group of tasks. Take atmospherics, which operated on one thread but constantly calculated what needed to happen. In Art of the Rail, I had a similar approach to vehicles. I had a companion thread that would move vehicles along their road or rail constantly, at a regular tick rate. This however caused some eventual scale issues and also left me the constant headache of the main and vehicle threads (as well as other ones) tripping over each other.

Unity offers an out-of-the-box approach to solve this called ECS, but it has a lot of restrictions. So with Art of the Rail, I took the general approach and rolled a custom system. What it involved was rolling up a variable number (based on detected core numbers, settable by player in settings) of "workers", assigning the tasks between these workers, and executing all the workers at the same time, but only applying their results at the start of the next frame.

What this means is that we get to do things sequentially, avoiding the problems of trying to keep data congruency between the state of things on varying threads. Work happens while the game is running, but it is all reconciled at the beginning of a frame, so all threads always agree on the state of the game.

https://store.steampowered.com/app/1286190/Art_of_the_Rail/

Applying this to Stationeers

We were having tremendous difficulty fixing bugs associated with the Room Manager thread in Stationeers. The purpose of this thread was to generate rooms, but it caused a lot of weird state issues due to concurrency and data trampling with the atmospherics manager. Not to mention it would sometimes take an enormous amount of time to run.

There wasn't a clean way to solve this, so I proposed we try the Vehicle Worker implementation from Art of the Rail we discussed above. The situation is much more complex in Stationeers, however. In Art of the Rail the vehicles are very independent making them an excellent candidate for truly concurrent handling. Stationeers has multiple dependencies, so it ended up being a much more complex process.

Broadly the following tasks are threaded, and handled using a mix of dedicated threads or concurrent worker threads:
  • Calculating the neighbors to mix with
  • Caching all the data for the main thread
  • Fire and burning
  • Any new rooms that need to be calculated
  • Atmosphere mixing between neighbors and networks
  • Internal reactions in Atmospheres
  • Pipe Atmospheres are handle specially
Thing atmosphere reactions are done on the main thread, because they touch a lot of different things.



The result is about four time faster than it was before, and it solved a whole lot of bugs associated with room creation issues.

Order of operations for Game Logic is now
This will likely have impacts on your IC code, if you are tightly dependent on some of the order of operations and timing.
1. Room Generation
2. Atmospherics Simulation
3. Power Tick
4. Logic Chips/Devices Tick
5. IC Chips Tick
Dedicated Server development

A fair few fixes and changes have come through, mainly focused on Linux dedicated servers, but with some limited success due to issues with our build server. It is still not very pretty, and we are still working on this, but it is much better than before. We have also reached out to many of the Game Server Providers (GSPs) directly, to work with them to help better support our servers. This will be an ongoing focus for us. We plan to devote significant resources to this over the coming months.

Like what you see? Help out!
We're super excited about where to take Stationeers in 2022. If you are as excited as we are please consider leaving us a positive review - it means a lot to us. Also our DLC was made as a way for the community to support us, so consider grabbing that as well.

https://store.steampowered.com/app/1038400/Stationeers_Zrilian_Species_Pack/

https://store.steampowered.com/app/1038500/Stationeers_HEM_Droid_Species_Pack/

Changelog v0.2.3392.16643
  • Fixed Respawning after dieing in an explosion stops respawned character from being able to move. (beta bug introduced rev.16602)
  • Fixed Error spam thrown by Atmospherics thread when trying to calculate Temperature of a Zero volume atmosphere. Zero volume atmospheres are now deregistered if they accidently get created.
  • Fixed Terrain Manipulator mining terrain rather than adding it (bug on beta branch only, introduced rev.16557).
  • Fixed Rooms not being deregistered when a wall of a room is completely deconstructed. (introduced rev16566)
  • Fixed Error thrown by TerrainLod.
  • Fixed Server hangs when printing a Programming motherboard.
  • Fixed case where smelting ore could cause occlusion thread to crash, causing disappearing pipes bug.
  • Fixed Atmospheric Tablet reading incorrect values (due to occlusion thread not updating its local atmosphere).
  • Fixed a number of errors thrown by atmospheric interactions happening when Main thread was trying to modify atmosphere data. These now use AtmosphericEventInstance system to handle these interactions.
  • Fixed Error thrown by Audio Concurrency system when an ore was smelted while another ore was playing an impact sound.
  • Removed GetAtmosphereWorld function. Use GetAtmosphereLocal() or SampleGlobalAtmosphere() for Reading on main thread. Use CloneGlobalAtmosphere() or GetAtmosphereLocal() for writing atmospherics data the atmospherics thread.
  • Added new AtmosphericEventInstance functions for Grid operations (where an atmos does not yet exist) CreateEmpty, CloneGlobal, CloneGlobalAddGasMix, CloneGlobalRemoveEnergy. Also added Reset AtmosphericEventInstance for clearing a gas mix.
  • Load game button no longer throws exceptions if there are no saves
  • Stop world descriptions from disappearing when you leave the current game
  • Fixed bug where certain values would cause multiple exceptions when hovering over pipe analyser
  • Fixed Clients could sometimes fall through terrain when joining.
  • Fixed Helmets offset on clients.
  • Fixed Locked game at 60fps during initial scene loading.
  • Changed Forced Terrain generations to run synchronously
  • Fixed FrameRate Counter now runs in pause menu.
  • Fixed FrameRate limiter no longer accepts out of bounds values.
  • Fixed Simple, Good and Beautiful Graphics pre-sets turning on v-sync.
  • Removed double logging in console window
  • Removed Cell.CellLookup Dictionary, Was duplicating GridManager.GridCells.
  • Fixed Bug where terrain renderers being turned off at incorrect time when playing as server.
  • Fixed World atmospheres that are outside of rooms not being destroyed in a timely fashion.
  • Fixed Some world atmospheres not having a reference to their cell.
  • Fixed bug where languages were not showing and could not be selected
  • Cleaned up help logging in console, made it oneline. Still a bit messy. Will make it better soon.
  • Fixed Atmospheres in rooms in terrain having a volume less than 8000 when all terrain voxels appear to be mined out.
  • Fixed exception thrown when intialising console overrides in ConsoleWindow
  • Fixed DuctTape not fixing solar panels (and other things)
  • Added clearing console once dedicated server is ready to receive input
  • Fixed submitting large IC scripts in Multiplayer as server or client throws error spam and/or crashes the game.
  • Added small optimisation for room generation
  • Added interception of unity logs by our logging system so that we can deal with them individually
  • Fixed -settingspath not working if file already exists. Removed existence check. File is created if not.
  • Fixed Atmospherics and Logic Tick not pausing when in pause menu.
  • Removed IMGUI completely from server builds.
  • Fixed Terrain does not hold atmospheres. Rooms can now be reliably generated using terrain.
  • Refactored Atmospherics, Power/Logic & Room Generation to run sequentially on a new GameTick locked at 500ms. Previously these different systems were running concurrently and at increasingly varying rates as bases grew in size.
  • Order of operations for Game Logic is now: Room Generation > Atmospherics Simulation > Power Tick > Logic Chips/Devices Tick > IC Chips Tick.
  • Added new worker thread system.
  • Fixed World atmosphere being created when mining. Mining into terrain will now create an empty atmospheric cell that will pull in neighbour gas.
  • World Atmosphere sometimes being spawned on loading a game in rooms created by terrain.
  • Fixed slowdown of atmospherics processing in larger bases.
  • Refactored Atmospherics Processing to allow for parallel processing of most atmospheric functions. Atmospherics runtime is now about 4x faster.
  • Fixed FrameRate spikes when Clients were Reading and Processing Atmospherics data. This work is run on a separate thread.
  • Fixed Moved Jetpack emissions handling to Atmospherics thread.
  • Fixed submitting large IC scripts in Multiplayer as server or client throws error spam and/or crashes the game.
  • Fixed Air conditioner buttons not interactable for clients.
  • Fixed Explosion FX and sounds not playing.
  • Added sounds to remote detonator.
  • Added beeping sound to armed explosives.
  • Fixed Explosions not mining terrain.
  • Fixed Remote Detonator not working for Clients.
  • Fixed Error when an explosion triggered.
  • Fixed Explosions not removing clutter.
  • Changed increased the radius of terrain mined by explosives to match the radius at which force/damage is applied.
Jun 16, 2022
Stationeers - Rocket
Dedicated Servers
We are actively working with those running Dedicated Servers, both on the forums and in discord, to ensure we get the best we can. As such, we have decided to release a hotfix with some urgent fixes, mainly focused on those running dedicated servers.

IMGUI issues on Dedicated Server Linux
Some of those running Dedicated Servers using the Linux binary are encountering a spam of warnings related to IMGUI. We use an excellent external library called Dear IMGUI in the main game, to allow us to do complex UI. This is not used in the "terminal" version of the game, but is still included in the distribution. As outlined in the last post, this move to a union of the main game and dedicated server code bases, its complex for us to remove individual packages and components - so something we need to look into. Until there, while you can safely ignore the warning being spammed, they can be disruptive to running the server.

Installing the Dedicated Server App
Adding:
-batchmode
To the startup parameters the main game will launch the game as if it is a dedicated server. Otherwise, you can install "Stationeers Dedicated Server" from the "Tools" category in steam. This can most easily be done via the SteamCMD command line application. Stationeers Dedicated Server is a tool that is free to download and run anonymously, you do not need SteamCMD logged in as a client to do so.

In future updates we will post some guides about how to install and run, in the meantime the community is exploring this process on the forums. It is challenging to write a guide, as we are still actively changing the process based directly on our communication with you. It is vital we invest time and effort making the Dedicated Servers excellent, so that true online communities for stationeers can be run.

Changelog v0.2.3344.16555
  • Changed server checks as a runtime for IMGUI runner
  • Removed unwanted meta file
  • Fixed RenderDistance on Harvey's and grow-lights.
  • Fixed broken mods breaking loading of the game in some situations
  • Fixed load command pointing to wrong place outside of dedicated server
  • Added extra optional arg to -load to initialise a new game and save it to disk
  • Fixed (potentially) clearing console for dedicated server
  • Added -settings as a launch command with support for multiple property assignments in args
  • Added FPS cap (25) to dedicated server
  • Fixed and enabled in-world debug visualizers
  • Added #if UNITY_SERVER checks to imgui package to ignore for dedicated server
  • Removed default.ini from StreamingAssets
  • Fixed Index Out of Range exception thrown by StringManager when a NaN or infinite number was passed in.
...