Update log
Full Stationeers update
The complete published notes, normalized for clean reading and source attribution.
Extracted changes
- Performance
- Store
- Server
- Workshop
- Compatibility
This update involves some highly technical work to improve how multiplayer works at a base level, focusing on how multiplayer updates are sent by hosts and received by clients. These changes target not just multiplayer bugs, but also have profound impacts on performance as well. Such changes will become very noticeable with larger bases in particular.
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
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
Source
