If you are happy with our development, please consider supporting us by purchasing a DLC. Your support makes our updates possible

https://store.steampowered.com/app/3166330/Stationeers_Supporters_EVA_Suit_Bobblehead/
Multiplayer Serialization
We've optimised network messages to be 30% faster for both read and write operations.
Profiling the dedicated server running our large Vulcan playtest base revealed a couple of big performance wins around memory allocation.
We've rewritten the server side code that assembles the last tick of world changes to remove some un-necessary object creation and array double handling. We were able to apply the same approach to the client-side code that unpacks the network messages as well.
Overall, this has resulted in connections to servers with large base to feel more responsive, players hosting locally will experience more stable frame times as well.
RakNet
Zitat:
This change fixes a longstanding severe desync issue that many users experienced. This is where, particulary for users with a high ping to a server, they could get stuck in a massively desync'd state.
Our existing networking runs on a RakNet package exposed only exactly what was required for it to work. It handled a lot of the connection side of things behind the scenes in C++ and simply provided just a simple API for us to use. This meant that we did not have access to the full API, including many debug tools. Our Enterprise team, responsible for the Brutal framework, has built a new RakNet package for us to use that exposes the entire RakNet API to us directly via C#.
What's implemented in this update is a 1 for 1 swap out with no functionality change. However, this may already come with some benefits as it's a newer RakNet version, and it will allow us to implement a whole new suit of debug tools that ship with the game to gain more insight into what is happening when people experience multiplayer issues. This work will be done in a future patch.
Unity Engine Upgrade
The RakNet change required us to update Unity by a few minor versions. Initial results seem to be that there is no negative effect on the game, and roughly a 10% framerate improvement. That being said, any engine upgrade comes at a high risk and the potential of critical issues that hide until a later date. Updating Unity versions on a live product is a decision we do not take lightly but we felt that it was necessary to get the most of out of Stationeers as a multiplayer game.
Landing Pad Portable Connectors
We've had an ongoing issue with the Landing Pad Portable Connectors. This issue was where you would have trouble interacting with them to unwrench them, after reloading or joining. It's taken us a few attempts to isolate and fix the issue, but it is finally solved!
Upcoming Changes
In the patch notes you'll see mention of some upcoming content for rockets and a new atmospheric device for liquids. It needs some more testing on beta for now though, so expect it to come to stable in the near future.
We are careful with our planning, to not get overconfident - so we are reluctant to nail down specific roadmap features unless we are sure we can deliver them to an acceptable quality given our resources. With this caveat said, we can confirm a few things we are looking into for future updates:
- Nuclear Reactors
- Terraforming DLC (post 1.0, not before)
- Space Station + World base in same level (in progress)
- Travel to new world (migration to new world, using rocket)
- Vehicle improvements (some experimentation already exists in creative)
- Deep Miner changes, improvements, and content
Quickfire Fixes
- Fixed ins IC10 instruction was parsing its arguments incorrectly. It will now correctly parse the arguments as described by the Stationpedia a=Value b=Position c=length.
- Fixed Arc Furnce was releasing gas at 0 degrees C. It will now release hot gas when smelting.
- Fixed StrongestContactMetaData stack operation.
- Fixed Swapping item would cause decay damage to be healed.
- Fixed An IndexOutOfRange exception thrown by the AdvancedTablet that could cause a save to fail to load.
- Fixed On vacuum worlds medium and large trader slots could sometimes be populated with small traders.
- Fixed Door control, Power Control and Mode Control Circuit-boards were not working with devices that had been updated to the new animation system.
Your support makes these updates possible
https://store.steampowered.com/bundle/2624/Stationeers_Complete_the_Set/
Change Log 0.2.6136.26812
- Fixed Deconstructing PressureFed Liquid engine would return wrong kit.
- Changed viewport mask on plant analyser to rect mask in a attempt to fix content going out of bounds of the screen for some players.
- Moved network analyser panel to its own prefab and changed scroll rect mask type to rect2d in an attempt to fix text appearing outside of the scroll rect for some players.
- Added fall-back behaviour for server hosting that was present in the old version of rocketnet.
- Added very rough first pass on a orbital launch mount payload object to go into the rocket payload bay. This can be used to deploy a launch mount in low orbit. Currently set to not spawnable.
- missing file from prior commit
- Changed Get IPv4Adress to use the raknet functions for getting host ip address.
- Changed Filtered out loopback addresses when trying to automatically get IPv4 address.
- Added further logging when getting ip address.
- Added If server fails to host it will re-attempt up to 3 times.
- Added some additional logs when hosting a server fails or is aborted.
- Fixed If raknet fails to start hosting server will be correctly aborted.
- Added new model for rocket crew module. Removed player slot and screen from crew module and added two separate objects for these - to be build inside the module. Building restricions are not in place yet and models are placeholder.
- Refactored RocketPayload.cs to abstract class and added DeliveryPayload class for functionality unique to the PayloadDeliveryContainer.
- Fixed IC10 code was not running on Harm Suit.
- Fixed clipping issue with Small Fridge where Fries would clip through the door when it was closed. The rendering of items in Fridge slots is now also disabled when either Fridge variant is closed.
- Fixed issue with text on Airlock control being spelled incorrectly. Used to be: "Presurize". Has been changed to spell: "Pressurize"
- Changed Updated Sorter and Logic Sorter to new model.
- Fixed issue with emotes where the None emote would cause other players in multiplayer to see your expression as Dead and removed dropdown for changing expressions in character customization.
- Fixed Orientation and position of liquid canister when placing it inside a PortableComposter
- Fixed Zrillians were respawning without Emergency Suit in Stationeer Difficulty.
- Fixed Localization issue with FireExtinguisher liquid canister slot name.
- Removed incorrect hardcoded error string from rocket motherboard inworld ui canvas.
- Fixed incorrectly rotated fan mesh on Landing pad Liquid Tank Connector.
- Fixed Flickering lander tooltip on worlds with more than one storm type.
- Fixed Swapping Items would cause all damage on item to be healed (including decay).
- Fixed Some prefabs accidently removed from WorldManager All Prefabs list in Commit26773
- Fixed issue where setting expressions in multiplayer would not revert back to a default expression when the duration was exceeded.
- Fixed RocketPayloads that fall through terrain will immediately be teleported back to surface.+ Added Quantity Condition can now be used to evaluate the number of items that make up a StructureNetwork when authoring helper hints.
- Added Case for PlantAnalyserCartridge in ThingPrefabCondition and NetworkCondition.
- Added new Defibrillator tool to game. Currently has similar behaviour to HealPill.
- Changed English.xml fixes
- Fixed SimpleFabricatorBase could throw error when submerged and no power cable connected.
- Updated Tutorial4 Airlock walkthrough with respect to console no longer requiring data disk.
- Fixed Upgrading a single pipe or pipe utility to insulated variant deletes the contents of the pipe/tank.
- Fixed World Liquid Renderer could throw an index out of range exception if liquid was being rendered from the global atmosphere.
- Updated Wall and pipeHeater stationpedia description with operation range values for pressure and temperature.
- Fixed ins Ic10 instruction was parsing its arguments incorrectly. It will now correctly parse the arguments as described by the tooltip a=Value b=Position c=length.
- Fixed Arc Furnace was releasing gas at 0DegreesC due to the AddEnergy method not running the regression occurred following a refactor of AtmosphericEventInstance from class to readOnly struct in Sept2024.
- Changed StrongestContactMetaData Stack Operation back to returning Opcode plus 3 bytes. It is now authored (byte)Opcode:(byte)ShuttleType:(byte)ContactSlotIndex:(byte)Contacted. Returning the slotIdHash did not work as the total number of bytes exceeded the amount available in a double
- Updated libRakNetDLL.so
- Fixed Door control, Power control and Mode Control Circuit-boards were not working with devices that had been updated to the new animation system.
- Fixed Wall Light Long Wide could not be deconstructed when looking at the bulb with hand drill due to an incorrectly authored collider.
- Changed Increased the size of All_Light_Activated Dense pool.
- Fixed inaccuracies in Stationpedia descriptions for Portable Liquid canisters.
- Fixed On Vacuum worlds Medium and large trader slots could sometimes be populated with small traders. Saves experiencing this issue will find the issue resolved when current traders expire and new traders are rolled.
- Fixed an IndexOutOfRange Exception thrown by the AdvancedTablet that could cause a save to fail to load. Saves that experienced this error will now be able to load correctly
- Changed re-enabled Liquid Filtration this device is now available for testing on beta.
- Reenabled rocket payload bay and payload delivery container these items are now available for testing on beta.
- Changed StrongestContactMetaData stack instruction to work with new trader slot definitions. It now returns the following packed value OpCode(byte):slotIdHash(Int32):ShuttleType(byte):Contacted(byte)
- Added ContactSlotIdHash Logic value to MediumSatelliteDish so this value can be read via standard logic commands as well.
- Fixed Items moving through chute networks could sometimes have the Fallen through the world behaviour incorrectly applied, resulting in the item being teleported to the nearest safe drop position (usually on the roof).
- Removed Liquid Filtration from recipe list and made it not spawnable
- Changed Made Payload bay objects not spawn-able for now as they require further testing on beta. They will move to stable in a patch early next year.
- Fixed Liquid Filtration Machine was not using power.
- Missing png meta files from engine upgrade.
- Added Payload Bay Large. The payload bay is placed in a rocket and allows for the attachment and deploy of a payload item. Use the new deploy action in the location panel, available at the low orbit space map node. The payload bay must be turned on and open for the deploy action to proceed.
- Added Payload Delivery Container. This allows for strategic delivery of up to 10 items via rocket. Weld up the container and attach to the rockets Payload Bay Large with a wrench. The target X and Z coordinates should be set on the Payload Bay and once deployed the container will be dropped to that exact location. A deployed Container will be trackable with the tracker cartridge.
- Fixed physics collision bugs or terrain collider lods not getting generated on time could cause items to fall through terrain and get destroyed.
- Changed out of bounds check for items to also check if object is completely inside terrain as part of check for returning to surface.
- Fixed running editor validate did not clear InteractableParentIndex before re-assigning, this could result in bugged Interactables when authoring new assets.
- Fixed Dynamic Objects in slots would block construction.
- Changed the name of ItemKitLiquidFiltration to be more consistent with naming conventions of other Kits. Was "Kit Liquid Filtration", changed to Kit (Liquid Filtration).
- Added new LiquidFiltrationMachine. It is similar in function to the original filtration machine except it is able to handle liquids as well as gasses.
- Fixed an issue where an integrated circuit placed in an atmospherics device would not be set to invisible when the cover panel was closed.
- Added TakeNormalisedLiquidVolumeScaled function to AtmosphereHelper.
- Updated Unity version from 2022.3.7 to 2022.3.62 - updating Unity versions always comes with a high risk and there's a lot of unknowns.
- Added new raknet and replaced all base level net code this required a minor version update of Unity to achieve. From a code point functionally there should be no change the changes in raknet may have some positive impact on multiplayer. This change will allow for us to monitor and debug network issues much easier and opens a lot of doors for us to make improvements. This commit is just a one for one swap from the old version to the new though.
- Removed RocketNet plugin
- Fixed DynamicCanister could sometimes be unable to be removed from connector upon joining a game as a client.
- Changed some data types in DynamicThing.SerializeOnJoin as they were unnecessarily large.
- Fixed Clients not getting the correct cached WorldCenterOfMass and Position values on join.
- Added second pass at multiplayer serialization refactor. Double handling was broken on last beta video, causing a large number of issues. The buffer process has been streamlined, and will be cached. The buffer will now be reused to reduce memory churn. This should reduce strain on the server, and fix some bugs players are experiencing with desync. Future change will be replace backend RakNet implementation with newer version.
