1. Stationeers
  2. News

Stationeers News

Bugfixes & Stability

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.
[h3]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[/h3]
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.
[h3]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.[/h3]

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.

Return of Tutorials & more Bugfixing

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
[h3]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[/h3]

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.
[h3]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.[/h3]

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.

Hotfix 0.2.3396.16649

* 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)

Atmospherics System Refactor

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
[h3]Want to run a dedicated server? Much has changed! Checkout this guide on my github for more information[/h3]
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.



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

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.

Hotfix 0.2.3344.16555

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.