1. Stationeers
  2. News

Stationeers News

Integrated Circuitry

Our IC system somewhat loosely models MIPS "instructions". So its like a small virtual processor and you define instructions that you want to run. This update includes some new instructions, a breaking change to one set of instructions, and some feature improvements to the IC editing system. In addition or as part of these updates number bugfixes and optimizations have been added to the IC system itself as well as the editor.

[h2]Predictive Instruction Help in IC Editor[/h2]
If what you have typed matches an instruction, the editor will include helpful information in the background to assist you in formatting the instruction correctly.


[h2]Variable and Constant changes[/h2]
[h3]New IC Constants[/h3]
A variety of new constants can now be added to your code. These will resolve as numbers, but can remain in your script for ease of use. Think of these as "special" numbers the processor has that you can always address without having the define them on a register. This should reduce the number of instructions you need in code.
  • nan; A constant representing 'not a number'. This constant technically provides a 'quiet' NaN, a signal NaN from some instructions will result in an exception and halt execution
  • pinf; A constant representing a positive infinite value
  • ninf; A constant representing a negative infinite value
  • pi; A constant representing ratio of the circumference of a circle to its diameter, provided in double precision
  • deg2rad; Degrees to radians conversion constant
  • rad2deg; Radians to degrees conversion constant
  • epsilon; A constant representing the smallest value representable in double precision

[h3]Improved Naming of resolving types[/h3]
In addition to the above how you reference slots and gas types by constant has changed. These are detailed in the "Variables" help. You can reference a gas "type" using "GasType.Oxygen" or similar. All available mode types that can be used in scripts are now listed in the Functions help in the IC editor. You may need to change your scripts for this.

[h2]Network Read/Write[/h2]
The ability to reference devices networks via a special syntax. This allows cable networks to be the store of temporary data (Channel0 to Channel7), and IC's to be able to reference a devices network connection, and then load/set data on that connections network.

[h3]This is potentially very powerful, with the primary use case of this is where you want to share data between multiple networks. An IC will be able to read/write to any cable network connected to any device referenced on it.[/h3]

[h3]Network Referencing Examples[/h3]
If we take a normal load instruction:
l	r0	d0	Setting

This will load "Setting" off device 0 into register 0

Now we read something of that devices network connections:
l	r0	d0:0	Channel0

This will load "Channel0" off device 0's connection "0". If you check stationpedia, you can see a list of connections a device has. Every "opening" of all types is a connection, so pipes, cables, chutes - they all count as a connection.

In my example above, this IC is polling for data on that channel. However, there might be no data here, so we created some "NaN" handling instructions to detect and manage this. There are NaN based branch and select instructions.

To save to a cable network, you can reference in the same way:
s	d0:0	Channel0	r0

That will write to Channel 0, on device 0's first connection.
[h3]Cable Network Volatility[/h3]
Cable networks are volatile. If you look at their ID's, you can see they change almost every time you make a cable change. This is because cable networks are just a construct to hold a concept of a "group of cables". Therefore, they should not be considered a good store of information. Each time they make a destructive change, their data will be gone. If you ask them for this information, it will not exist. You will receive a "not a number" value (technically, on the IC, its a special kind of NaN called a QNaN, as a SNaN will generate an exception on the IC).
[h2]New and changed IC Instructions[/h2]
[h3]Load Reagent Instruction Syntax Change[/h3]
[h3]This is a BREAKING change. Old instruction syntax will no longer work. This is regretable, but it was the only way to fix the bug associated with the values being localized for clients and not working on servers.[/h3]

[h3]Referencing Hashes using Preprocessors[/h3]
Hashing is a process of converting the value from a string (meaning text) space to integer (meaning numbers) space or an index value or a string, that has a length of fixed size. Previously with IC chips this meant that you had to look up a devices "PrefabHash" when you wanted to check device types. This was difficult, confusing, and not easy to read.

This HASH preprocesssor can also be used with the sbn and lbn instructions to reference only specific devices named something. These additions might take a bit of getting used to but they are performant and quite powerful.

Now you can use a "Preprocessor Macro" command, HASH(..), to keep the text in your script but have it "Hashed" before being run by the processor. This means you can keep the text of the prefab type in your script, but still have it run correctly in instructions.

In this example, we move into register 0, the hash for Coal Ore. You can find the prefab name of any object using the Stationpedia (F1) in game:
move r0 HASH("ItemCoalOre")

[h3]Load batch Named[/h3]
Instruction allows more precise control over which devices are affected by the load instruction based on their name hash.
lbn    

[h3]Store batch Named[/h3]
Instruction allows more precise control over which devices are affected by the store instruction based on their name hash.
sbn    

[h3]Load Batch Slot[/h3]
Instruction enables batch operations involving slots, streamlining the process of working with multiple devices.
lbs     

[h3]Select NaN (Not a Number)[/h3]
Instruction provides a way to check for NaN values in IC operations.
snan  

[h3]Select NaN Inverse[/h3]
Instruction is the inverse of the snan instruction, selecting non-NaN values.
snanz  

[h3]Branch NaN[/h3]
Instruction allows for branching operations based on whether a value is NaN or not.
bnan  

[h3]Relative Branch NaN[/h3]
Instruction is similar to the bnan instruction, but it branches relative to the current line number.
brnan  

These new instructions expand the capabilities of the IC system and provide greater flexibility and control for players when working with Integrated Circuits.
[h2]Improved Search Features[/h2]
The function help menu now has a search to be able to quickly find the instructions you're looking for.


Trader Improvements


[h3]Trader Navigation and Collision Fixes[/h3]
We've addressed issues with traders colliding with objects and not being correctly centered on the landing pad when loading the world. These fixes ensure a smoother experience for players interacting with traders and provide more accurate positioning for shuttles on the pad.

[h3]Economy Changes[/h3]
We've made several adjustments to the trader volumes, prices, and item availability to improve the balance and encourage player interaction with the trade system. These changes aim to enhance the in-game economy and provide a more engaging experience for players trading resources and items.

Performance Improvements

We're gradually making optimizations to devices that share like components, this time it's devices that have the animated import/export slots. This will help increase performance where there are a lot of these devices present. We've done this for a number of things, such as on/off switches, and we'll continue to work through them.

Localization Improvements

We've added new German translations and fixed some issues with slot names in non-English languages to provide a more consistent experience for all players. We're also working on adding more language support in the near future. To make this process smoother and more efficient, we're developing a new pipeline to allow the community to contribute to translations in an easy and organized way. This will ensure that updates and improvements to the game's localization can be integrated quickly and accurately, providing a better experience for players around the world.

Your support makes this possible

Over the last year, we’ve completely refactored the net code making multiplayer more stable, we’re continuing to improve the connectivity, and we’ve improved some big systems to allow us to bring you better content and new game loops. All this while transitioning to a weekly update cycle.

All the community support, feedback, and involvement have made this possible. So thank you!

[h3]If you like the progress we have made, please consider taking a moment to leave a positive review. This makes a huge difference to the project. We've been working hard for the last five years, and feel confident the game has substantially improved over this time. 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 DLC that we've made to allow those who enjoy the game to support us, and in return get something a little fun to use in-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/

[h3]Changelog v [/h3]
  • Fixed Inventory events were incorrect for some items. This could have caused inconsistent results for some inventory reliant functions. This bug will have existed for quite some time, so there is a chance this causes issues being fixed. Maybe however help with some obscure inventory related bugs.
  • Added extra non-shadow casting light effects to jetpack.
  • Fixed belts and other items causing weird shadow artifacts while a portable light was in the inventory.
  • Removed animators from Sound Cartridges, Research capsules and MKII toolbelt.
  • Replaced Animator on GasMixer with new anim components.
  • Changed OmniPowerTransmitter to use new animatorComponents.
  • Removed Animators from cooked food (added in error): CookedCondensedMilk, CookedCorn, CookedMushroom, CookedPowderedEggs, CookedPumpkin, CookedRice, CookedSoybean, CookedTomato.
  • Removed Animators added in error to some canned food.
  • Removed Animators from dynamic liquid tanks.
  • Deleted DynamicLightNetworkTest debug prefab.
  • Removed Animators from mining backpacks that were added in error.
  • Changed dynamicCrates to use new animation components.
  • Refactored script help search. Now correctly uses type hashes so that text can be matched in search. Also change formatting for colors in search to improve readability.
  • Added automation for setting up activate button prefab.
  • Removed animators from access cards.
  • Removed animators from music machines and replaced with animator components.
  • Removed Debug error print when pooled audio sources destroyed in editor.
  • Fixed TraderShuttles permanently removing AudioSources from the audio pool.
  • Changed Increased size of audio pool and audio collision pool.
  • Added IAudioParent Interface.
  • Refactored audio pool to use IAudioParent for sound positioning.
  • Added Transform Property to thing and removed it from child classes.
  • Changed StopAllAudio function on Thing returns any parented pooledAudioSources to the pool.
  • Implemented IAudioParent interface on trader shuttle.
  • Changed Trader shuttle sounds now send less signal to the reverb channel.
  • Fixed script help for variables was not sorted.
  • Changed Slot variable references for scripts begin with SlotType to be consistent with GasType.
  • Fixed a number of pipe devices not animating their lights correctly: PressureRegulator, BackPressureRegulator, PressureRegulatorLiquid, BackPressureRegulatorLiquid, LiquidVolumePump, Digital valve, LiquidDigitalValve, PipeAnalyser
  • Fixed Animations broken on some devices.
  • Added improved search handling to the variables page for script help.
  • Added enum references to variables page in script help. Now all constants, variables, and enum types that can be used are shown in the variables page. Entering the name directly, or its category directly (eg. "LogicType" or "LogicSlotType") will bring up the item or the category, respectively.
  • Increased number of Virtual and Real voices in the scene, helping to fix audio issues in large bases. This may mean for large bases there could be some performance impact. If so, optimization will follow. Currently the audio was being silently ignored.
  • Removed many coroutines across the project that were generating memory garbage.
  • Refactored GameAudioSource to remove all Coroutines and replaced with UniTasks. This reduces the memory garbage generated with fading and playing audio effects. This is a pretty significant change so any sound exceptions please report. Additional code pass to cleanup and making the process of fading audio cleaner and simpler.
  • Fixed some game sounds stop playing after playing for a while. Pooled audio sources were not being protected from deletion. This means if an object was playing sounds while it was destroyed it would delete the audio source, and it was no longer available in the pool. Eventually when this pool was empty, no more sounds could be played for that pool type. Took the pooling system from Art of the Rail and applied it to Stationeers. This is an efficient and protected generic system that we can use for pooling any objects in the game, not just audio.
  • Changed chute outlet to use new animation component.
  • Fixed some items using animation component not having their state synced when first built.
  • Fixed portable lights and road flares would cast weird shadows when on a local player. Now when on a local player, their local player shadows will be turned off. This means that they will still cast shadows, but not on the first person player (and their helmet) themselves.
  • Changed SBD Silo to use new animation component system.
  • Moved stationpedia page and other classes out of stationpedia
  • Changed ChuteBin to use new AnimComponents.
  • Fixed volume text not showing on stationpedia
  • Changed Sorter to use new animation components.
  • Fixed config cartridge showing wrong logic types
  • Swapped out unity animator of custom components on unloader.
  • Fixed HASH(..) IC preprocessor was occurring on the IC, not before being handed to the IC. This was causing inconsistent results when spaces were in the hash, as the IC has no ability to understand a space is not part of syntax. There were multiple other bad things about the previous implementation. Now the HASH(..) is executed before being handed to the IC, meaning as far as the IC concerned it just receives an integer. This is consistent with the IC architecture, as well as avoiding a serious of other bugs and issues.
  • Added `lbn` IC instruction, `load batch named`. This instruction runs the same as the `lb` load batch command, with the additional step of testing against a hash of the name of the devices. The load instruction will only be applied to devices that have a name hash that equals the one provided.
  • Added `sbn` IC instruction, `store batch named`. This instruction runs the same as the `sb` store batch command, with the additional step of testing against a hash of the name of the devices. The store instruction will only be applied to devices that have a name hash that equals the one provided.
  • Fixed HASH(..) failed to mask where the encapsulated string contained spaces. Now an entire string up until a quotation mark will be hashed. You cannot hash a quotation mark, even if it is escaped. Doing so will at best halt execution.
  • Added IC instruction 'lbs' which load slot variables as a batch. This means you can pass in a device hash, a slot index, and the variable, and depending on the batch mode, you can conduct a math operation and get a value of a batch of things.
  • Cleaned up how instructions are displayed in the Script Help. Now there is a standardized system for displaying the instruction parameters with better information to make it clearer what you need to input.
  • Added depreciated instructions and variables are displayed in the editor. Now they are shown with 'strikethrough' to indicated they are depreciated and should not be used. They are also not shown in the help files.
  • Added ChuteImport Export bin prefabs.
  • Added Lever Animation component
  • Removed unity animator from stacker and replaced with animator components.
  • Added Automation for setting up animator components
  • Updated thumbnails for high volume has canister and extra large wireless battery
  • Added Abstract class InteractableAnimComponent.cs
  • Refactored ExportAnimationComponent to use InteractableAnimComponent class.
  • Added ImportAnimationComponent.
  • Added ImportBin and ImportBinHazardStripes prefabs.
  • Changed Solid fuel Generator to use new import component and removed unity animator.
  • Fixed Error spam when trying to merge insulated pipe with normal pipe.
  • Added Type Name and Type Hash to Reagent entries in stationpedia. Click on their values to automatically copy them to clipboard.
  • Removed Reagent Referencing in IC instruction 'lr' using localized string for lookup. This is a BREAKING change. If you previously wanted to reference a reagent in IC as part of the 'lr' instruction, you had to enter the localized word for that reagent in your language. However, this would break in multiplayer if the players were running different languages, or if the localized text changed even slightly at a later date. See addition in changelog below for how to use the new syntax that replaces this.
  • Added hashed value for 'lr' command. Now to reference a reagent in the 'lr' command you must pass in a register. This brings the instruction in line with others. The syntax is now 'lr '. You can generate the hash using the new HASH(..) preprocessor, such as 'HASH("Iron")' or lookup the hash on the Stationpedia.
  • Added special tradeable items (first pass)
  • infinite filter, extra large gas canister and extra large wireless battery.
  • Fixed Error spam when trying to place a structure somewhere that was blocked by an existing frame.
  • Fixed Could place walls and floor pieces on the internal faces of the Stairwell piece, it was designed to only allow placement of wall pieces on exterior faces (like a frame).
  • Fixed Comms motherboard contact resolve bars behave incorrectly when dish is rotating.
  • Adding comments to help in the creation of world log event types
  • Made world log sync to clients
  • Cleaned SmallGrid Connection Validation function and removed debugging logs.
  • Added LineNumber Logic Variable. Allows the logic system to query the current line number of a integrated circuit executing on a circuit housing. Useful to query the current state of an executing system. You can also write this value using the logic system, but use with caution as change of this value is not expected by the processor architecture, and it will attempt to honor the changes you make and may cause unexpected results. The processor housing will make best efforts to clamp your values to acceptable ranges but you may be able to halt execution when doing this incorrectly.
  • Added `snan` instruction for select 1 to register when provided value is 'not a number', 0 when false.
  • Added `snanz` instruction for select 0 to register when provided value is 'not a number', 1 when false.
  • Added connections section to Stationpedia pages. This will list all connection information for any device that supports connections. This means any chute, pipe, or cable openings on the device. This include includes a number that is the connection "index", which is used for referencing that connection with the new device network syntax on Integrated Circuits.
  • Added a preprocessor macro to IC processor to allow the generation of hashes at compile time. Using this you can automatically generate PrefabHashes using human readable text, that will be compiled into a hash before execution. To use this, surround the prefab name in the words, and in quote marks for example: HASH("PrefabNameHere"). Note that the HASH and the contents of the string are case sensitive. Using a different case inside the string will generate a different hash.
  • Refactored MIPS processor constants. Now have 'nan', 'pinf', 'ninf', 'pi', 'deg2rad', 'rad2deg', and 'epsilon'. These can be used anywhere you can use a number.
  • Added processor constants to be included in script help function area. Autogenerating their descriptions and values, and searchable.
  • Remove old prefab file for GasTankAir that had been unused for many years and was causing errors.
  • Fixed Slots not having the correct name in non English languages
  • Added new German Translations
  • Added Structures and devices now show helpful error tooltips when they can't be built. Previously the tooltip system would fall back to the "requires support" message which was often incorrect and misleading.
  • Added Second pass of the Device Network Referencing for MIPS instructions. Now correctly able to load and store from the 'Channel0' to 'Channel7' variables. 'Setting' variable is no longer supported as it was from first pass.
  • Added entering a command or variable name exactly as it is spelled and pressing enter on script reference screens will now bring up that entry. So entering 'l' and pressing enter, will show the 'l' instruction.
  • Added 'bnan' MIPS instruction that branches when provided value is 'not a number'.
  • Added 'brnan' MIPS instruction that relative branches when provided value is 'not a number'.
  • Added log panel to comms motherboard
  • Missing file from prior commit
  • Added Export Animation component. Removes need for unity animator on new devices with export slot.
  • Added ExportGate prefab.
  • Changed Deep Miner swapped out unity animator Export handling with new component as test case for new system.
  • Refactored help for Slot Variables, Variables, and Functions within the IC Editor. Now uses a threaded text search system and updated the UI to match the stationpedia UI. Uses the same search options as stationpedia (separate blocks to search using comma, etc...).
  • Added First pass of Device Connection Referencing for Integrated Circuits. Currently load and set support use of : where conn is the connection index for the device. This then attempts to set or load on that network. Cable Networks now implement ILogicable, meaning they can have data stored or read from them. They are, however, volatile. They should not be considered to exist always and should be used for data transmission rather than a reliable data store. By default their data will be NaN. Future functionality will make it easier to check NaN inside IC code.
  • Optimized Device connection registration to cache their connection data for cheaper checking for open ends. May provide minor performance improvements when editing very large cable, pipe, or chute networks,
  • Fixed Text parsing bugs with IC editor related to device and register referencing. Additional optimizations for text parsing IC scripts were also applied, but unlikely to be significant enough to notice in the brief time parsing occurs.
  • Added logging system to keep track of trader events
  • Decreased T1 traders to have 75% volume, down from 100%, on bulk tradables
  • Increased T3 Traders to have 150% volume, up from 120%, on bulk tradables
  • Fixed ship fuel purchase text not mentioning that it is x100 mole.
  • Increased Chance a ship wishes to buy fuel to 1/2, from 1/5
  • Increased volatile ice sale price from .5 to .75 on the ore trader
  • Decreased oxite, and volatile ice trader volume by 75% on the ore trader
  • Decreased volatile gas sale price from 10 to 7.5, and increased trader volume from 1000 mole to 2000 mole from the gas trader.
  • Decreased volatile ice buy price from the gas trader from 1 to .8.
  • Decreased all max ice purchase volumes from 1000 to 600 on the gas trader.
  • Fixed shuttle position not being correctly centered on the pad when loading world if the pad is evenly sized
  • Tweaked large shuttle size and collider size so they no longer collide with walls in a 6x6 hangar
  • Fixed logic transmitters getting added to the transmitters list twice making cycling though active transmitters get stuck
  • Fixed logic transmitters list not being cleared between loading worlds
  • Fixed bug where trader contacts would get stuck on the comms terminal after departing mid approach or being destroyed
  • Fixed gas trader will buy used filters
  • Fixed missing thumbnail on 'ship fuel' trade item
  • Added missing fertiliser slot name to localisation
  • Made hydroponics tray and tray device fertiliser slots use the same scaling
  • Fixed a few null ref exceptions that could occur with comms motherboard when disconnecting landing pad
  • Fixed bug where item counts in vending machines could be higher than expected if more than one device is connected to the landing pad.

Performance Power-Up

Performance


In this update, we've focused on performance, specifically for players with large automated bases experiencing lower frame rates. Key improvements include optimizing physics and chutes, reducing physics update tick time by 50% through better caching for dynamic objects in slots, and improving server tick for bases with many chutes and chute devices.

Additional enhancements encompass streamlining the decay tick, Trading Motherboard Computer screen interface, Satellite Dish scanning logic, and the Computer screen render optimization. These performance updates aim to provide a smoother, more responsive gaming experience, particularly for players with complex bases.




Hem Droid Quality of Life Improvements


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

We've added some quality of life improvements for those who own the Hem Droid DLC. Although these have been designed for the Hem Droid the Disposable Battery Charger can be used by other species as well, to recharge their suit battery.




[h2]Hem Droid Sleeper[/h2]

While regular sleepers have catered to the other species, Hem Droids have been missing a dedicated option. The Hem Droid Sleeper is specially designed for Hem Droids. As long as it has the required power it will keep Hem Droids batteries charged.

[h2]Disposable Battery Charger[/h2]

For emergency situations we've introduced the Disposable Battery Charger that can partially recharge your battery immediately. When used it is consumed but will recharge the battery of your suit, or if you’re a hem droid, the battery in your suit.

[h2]HEM-Droid Repair Kit[/h2]

The HEM-Droid Repair Kit has been added to the game for players using Hem Droid characters and functions as the heal pill does for the other species.


Self Contained Stairwell


We've included a 3x1 stairwell to offer a more compact option for moving up and down your base. This new stairwell design aims to optimize space and improve navigation within your Stationeers base.



Localization and Voice Packs


We're actively working on improving our localization from multiple angles: Ensuring more of the game is localizeable, having the game localized for some languages, as well as improving the pipeline, both for us as well as for community translations.

We are paying for languages to receive a full new pass of translation, and then will accept community suggestions for better localization. This should help provide cleanup on the current messy state where some English strings were changed, but not retranslated.

[h3]Chinese Voice Pack added[/h3]

The voice pack we're adding this week is Chinese! You can also select the voice pack independent of the localized text. This means you can have your suit voice pack warnings in German, Russian, or Chinese, while still having the text in English. More voice pack languages will be added in the future as well.



Your support makes this possible

Over the last year, we’ve completely refactored the net code making multiplayer more stable, we’re continuing to improve the connectivity, and we’ve improved some big systems to allow us to bring you better content and new game loops. All this while transitioning to a weekly update cycle.

All the community support, feedback, and involvement have made this possible. So thank you!

[h3]If you like the progress we have made, please consider taking a moment to leave a positive review. This makes a huge difference to the project. We've been working hard for the last five years, and feel confident the game has substantially improved over this time. 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 DLC that we've made to allow those who enjoy the game to support us, and in return get something a little fun to use in-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/


Change Log v0.2.3920.18842
  • Added vertical sleeper variant for robots. Will regenerate robot battery or suit battery if present. Will damage non robotic entities.
  • Added HEM-Droid Repair Kit. Fully repairs HEM-Droid character. Created at Tier 2 electronics printer.
  • Added 1x HEMDroid Repair Kit to Starting load-out for HEM-Droid characters.
  • Added DisposableBatteryCharger. Disposable single use chemical battery that will partially recharge a HEMDroid battery or Stationeer suit battery.
  • Added stairwell variants to stairs kit
  • Added Chinese voice language pack
  • Added countanimator command.
  • Added debounce to server search
  • Fixed incorrect slot names for sleepers and cryo tubes
  • Update description for stairwells and droid sleeper
  • Fixed bug where you could call down the same trader to multiple landing pads. Now, when trader begins approach, the land button will be disabled. Also added a safety check so stop this behaviour if called by other means.
  • Changed sleeper and cryo tube behaviour with regards to robot batteries. Now, robot batteries will continue to drain inside regular sleepers and cryo tubes. To maintain robot batteries when offline, use the 'droid' variant of the sleeper.
  • Updated droid sleeper to use more power when charging
  • Fixed bug where you could call down the same trader to multiple landing pads. Now, when trader begins approach, the land button will be disabled. Also added a safety check so stop this behaviour if called by other means.
  • Changed sleeper and cryo tube behaviour with regards to robot batteries. Now, robot batteries will continue to drain inside regular sleepers and cryo tubes. To maintain robot batteries when offline, use the 'droid' variant of the sleeper.
  • Updated droid sleeper to use more power when charging
  • Fixed GrowLights that are turned off when game saved stop working on reload.
  • Changed GrowLight light radius to more closely match area of effect on plants.
  • Fixed DisposableBatteryCharger sounds not playing sounds when charging another player.
  • Fixed Emissive material on DisposableBatteryCharger, now show blue emissive when charged and red when discharged.
  • Fixed Can use DisposableBatteryCharger when it has been discharged.
  • Fixed Some issues around grow light plant lighting.
  • Made trader shuttle collision box a little smaller. Tweaked how often collisions can occur by adding a debounce time.
  • Fixed Laptop positioned incorrectly in right hand.
  • Refactored set hand position function to make it more flexible.
  • Changed data and power cable lists on device from fields to properties
  • Fixed fertilizer not affecting plant yield
  • Re added changes from rev. 18797 and fixed a few bugs where batteries and apcs weren't supplying power correctly
  • Fixed bug where devices connected through power port only would be accessible by logic. Now, devices will only be accessible by logic when their data port is connected.
  • Fixed Clients see airlock control as disabled when joining.
  • Fixed AdvancedAirlock doesn't update PressureExternal and PressureInternal values on clients.
  • Fixed Settings would get saved when game was paused. Possible cause of access violation error when saving game bug.
  • Changed moved sound mixer channel volume management out of the Settings.OnValueChanged Function to AudioManager.
  • Fixed Changing music volume setting would reinitialise main menu scene.
  • Fixed Chinese Suit Voice assets too loud.
  • Fixed Voice assets to use Compressed in Memory LoadType.
  • Fixed A number of sounds not playing (regression rev. 18757).
  • Fixed server list search
  • Fixed bug where all tablets in the world would receive scroll events regardless of whether they were in your hand
  • Fixed no server password icon displaying on the server List
  • Fixed none of the filters on the server list working
  • Optimised ServerTick. Bases with lots of chutes and chute devices should see a small fps gain.
  • Optimized Decay tick. Now runs on threaded game tick rather than blocking main thread.
  • Fixed dead bodies still being able to be moved around in some instances
  • Optimised Trading Motherboard Computer screen interface. Reduced time to refresh the screen from 5ms to 0.2ms.
  • Made some visual tweaks to the plant analyser cartridge to make it more consistent with the other cartridges
  • Fixed incorrect capitalisation of kPa in some instances
  • Fixed IC motherboard dropdown not matching the correct chip holder
  • Fixed IC motherboard connected devices displaying wrong code
  • Fixed spelling mistake in plant analyser cartridge
  • First pass on tidying up tablets/cartridges
  • Made scrolling better (still have yet to find the cause of scrolling not working sometimes)
  • Removed paging from network analyser as regular scrolling is now more usable
  • Replaced much of the plant analyser cartridge object with prefabs
  • Changed font for plant analyser and config cartridge
  • Moved Satellite Dish scanning logic onto the power tick.
  • Fixed Computer screen render optimisation was turning on when any player was in view screen is now only rendered when local player is in view.
  • Optimized Physics caching for dynamic objects in slots. Result: 50% reduction in physics update tick time. Players with lots of physics items in slots should notice a small fps improvement.
  • Fixed a few issues around dropping suits and uniforms which could cause bodies to disappear for clients
  • Fixed Using screwdriver on power-tool to remove battery be would actioned even when interaction was aborted.
  • Fixed bug where starting/ending a game quickly would leave the screen faded to black
  • Fixed TransformerMedium Reversed not registering its lower half on the small grid.
  • Fixed Laptop rotates 90degrees when dropped.
  • Tweaked wording in one particular hydroponics tutorial stage
  • Fixed battery/motherboard drop position when removed from laptop.
  • Cleaned up chat canvas code
  • Potential fix for chat bubbles not billboarding
  • Removed ping column until we can provide that information
  • Removed GetIntegerSafe Function as it was causing a lot of GC allocation and general slow down.
  • reverted some changes to chat causing a potential build error

Hotfix v0.2.3893.18771

This hotfix is for the programmable chip motherboard matching the incorrect devices to the displayed items

The Multiplayer Update

We will be getting back to the larger themed updates soon but for now, we’ve been focusing on two main things: Improving multiplayer through the addition of Steam P2P, and bug fixing and improvements.

Steam P2P




[h3]Why was it removed in the first place?[/h3]
When we prioritized the low-level changes during the multiplayer refactor, we had to temporarily remove the existing implementation of Steam P2P. Now that we've completed that work, Steam P2P has been re-enabled.

[h3]What does this mean for you?[/h3]
Previously, hosting a game required enabling upnp on your router or manually port forwarding, which could be difficult or impossible on some networks. However, with Steam P2P, all the tunneling is handled automatically, so you can connect to the host using your Steam ID.

If Steam P2P is not available for some reason, the game will fall back to direct connect, or you can manually enter the IP and Port.



[h3]What's next?[/h3]
This now puts multiplayer Stationeers in the best state that it's ever been. Earlier today we had a 10-player play test that went very smoothly. If you've been holding off playing due to connection issues preventing you playing with your friends then perhaps now is a good time to try again.

Of course we'll continue to harden and polish multiplayer but we are very happy with the progress over the last 12 months.

Plants and Hydroponics

This patch we’ve been focused on finding and fixing a number of bugs and UX issues associated with growing plants. We’ve improved the UX of the plant analyser cartridge to clearly show when a plant is deficient in either light or darkness. Time spent in a light or dark deficient state will cause the plant to accumulate illumination stress which will slow down growth speed.




Bug Fixes and Improvements

We’ve done a lot of bug fixing to address some issues that have come up from the last updates, as well as a few older bugs. Next update will contain more of this kind of work as we take a step back to harden before we start work on the next big packet of work.

Your support makes this possible

Over the last year, we’ve completely refactored the net code making multiplayer more stable, we’re continuing to improve the connectivity, and we’ve improved some big systems to allow us to bring you better content and new game loops. All this while transitioning to a weekly update cycle.

All the community support, feedback, and involvement have made this possible. So thank you!

[h3]If you like the progress we have made, please consider taking a moment to leave a positive review. This makes a huge difference to the project. We've been working hard for the last five years, and feel confident the game has substantially improved over this time. 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 DLC that we've made to allow those who enjoy the game to support us, and in return get something a little fun to use in-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/


Change Log 0.2.3888.18748
  • Fixed missing 'seeding' logic slot description in stationpedia
  • Fixed missing emissive material on centrifuge info panel
  • Fixed incorrectly coloured thumbnails for turbo pumps
  • Fixed erroneous EndConnection method call in Client.Disconnect
  • Added delay after disconnect handshake
  • Changed Extracted P2PSession request processing into its own function.
  • Changed Ordering of Disconnect handshake message.
  • Removing incorrect log saying the steam lobby was instantiated incorrectly, but it wasn't
  • Removed some unnecessary steam p2p debugging logs
  • Fixed Clients pass in host steamId 0 when calling P2P disconnect.
  • Added Separate Client/Server logic for p2p Disconnect.
  • Added ClientDisconnected Callback to on Client.cs when client Disconnects from steam p2p.
  • Cleaned up logging for DeleteOutOfBoundsObjects.
  • Fixed floor grating kit collider size
  • Fixed drain switch collider size
  • Fixed dynamic gas canister tooltips not appearing when the canister is wrenched to a connector
  • Fixed Broken Build State Prefab errors on centrifuge devices.
  • Improved Error handling when loading devices with build-state errors.
  • Fixed advanced composter not restarting processing when loading save
  • Added "DeleteOutOfBounds" Command. Removes everything that is more than 8km from world origin.
  • Added When Loading a game everything further than 8km from world origin will be deleted.
  • Fixed Index out of range exception on Atmospherics thread caused by atmospheres outside of playable area.
  • Adding steam lobby setup - waiting for invite acceptance to be fixed before enabling this
  • Fixing steam p2p disconnections
  • Fixed race condition breaking steam lobbies occasionally
  • Removed unused logs
  • Added Setting UseSteamP2P.
  • Removed Setting P2PHostEnabled.
  • Added Client side connection logic for using SteamP2P to connect via server browser. Client will attempt to connect using SteamId and if fail will fall back to using RocketNet direct connect. Note: currently disabled until Master Server is updated to serve SteamId in session data.
  • Added "SteamWorks" scripting defines to ProjectSettings.
  • Fixed an issue where wearing and removing a suit could cause your body to not be rendered when far away from the removed suit
  • Fixed Access Cartridge doesn't work on large fridge.
  • Added green/red colouring on plant analyser text for when required/toxic gases are in/out of range.
  • Fixed PlantAnalyser reads growth data from dead plants.
  • Fixed If GrowthEfficiency for plants became greater than 255% it would wrap around back to 0.
  • Fixed Wall heater incorrect colour when turned off.
  • Removed 'create character' popup when joining game
  • Fixed issue where after character is destroyed (e.g. via cleanup) you can't respawn and have to exit and rejoin
  • Fixed Logic memory and logic Dial tooltip showing setting as 32Bit floating point number.
  • Fixed Logic tooltips now show numeric values using correct culture.
  • Fixed build error from light blueprints.
  • Fixed light blueprints show broken models
  • Fixed Newly built lights have a lens flare effect even though they are turned off.
  • Fixed Blueprints showing flare on wall lights.
  • Fixed several places where values were not syncing on clients correctly
  • Fixed Tablet could only show Illumination stress up to 255%. (Illumination stress has no cap but will decrease faster the higher the value once the plant is no longer deficient).
  • Fixed Illumination stress value not serialized.
  • Fixed CarbonDioxide requirement percent display was show HydrationEfficiency value on plant analyser tablet.
  • Added HydrationEfficiency to Plant analyser tablet.
  • Changed Plants that are light or darkness deficient will recover x2 faster once put into the correct state.
  • Added Light/Darkness Deficient text now shown in red on plant analyser.
  • Fixed suit pressure and temperature setting not syncing for clients
  • Fixed missing tool names for some tooltips
  • Fixed Small colliders on Pipe Heaters.
  • Fixed Error when opening pipe heater placement blueprint.
  • Fixed Sometimes proximity sensor and occupancy sensor data-port would not connect to cable.
  • Fixed Sleeper "get In" collider size such that it doesn't block interaction with items in the sleeper.
  • Changed "get in" interaction time to 0.5s.
  • Fixed Labeller now accepts correct symbols for the users current Language Culture. (i.e German language users can now use the correct decimal point symbol "," for their region.)
  • Fixed ic motherboard arbitrarily ordering connected devices in its dropdown. Will now order alphabetically.
  • Fixed LogToClipboard command
  • Fixed spelling error in comms terminal.
  • Rounded wattage values in comms terminal
  • Fixed Hay not processable by recycler. Putting 1 hay in recycler now adds 1 Biomass to the recyclers internal reagent mix
  • Fixed some ic error tooltips not being cleared after errors are resolved
  • Adding Steam Peer-to-peer - currently disabled until steam's "Join Game" option from friends list is working
  • Fixed small collider on small battery charger.
  • Fixed Plant analyser works when unpowered.
  • Fixed Some genetics value ranges were returning incorrect data for seeds when analysed with plant analyser.
  • Added missing tooltips to ic chips in laptop and aimee slots
  • Fixed a few IC issues. Previously chips would hold a single error state for both compilation errors and runtime errors. Have split this into two separate errors. Devices holding ic chips will now flash error if the chip has a compile error or run time error.
  • IC chips with compilation errors will now no longer execute
  • IC chips with errors should now show the correct tooltip when adding/removing them from slots
  • improved logging around upnp
  • Fixed inconsistent arrow key and return key behaviour in ic script editor when paused
  • Removed all functionality from deprecated landing pad.
  • Added More robust handling of spawning and de-spawning of trader pilot.
  • Fixed Trader Pilot could get left behind when ordering shuttle to depart before landing completed.
  • Fixed manufacturing devices showing the incorrect next item on the tooltip
  • Fixed misspelled prefab name in recipes
  • Moved prefabs from resources to assets/things attempt two
  • Reverted asset move
  • Moved all things in resources folder to assets/things
  • Fixed Client joining while in IC editing window puts input into an invalid state. Now when a client connects, if the player is using a UI window it will be saved (if applicable) closed.
  • Fixed Null Reference exceptions when shuttles crash into each other.
  • Consolidated some duplicate clean up code in shuttle movement Unitasks into a clean-up function.
  • Fixed Unable to connect to a server after a failed connection attempt has occurred.
  • Added RemoveMoles AtmosphericEventInstance function.
  • Fixed Watering plants with water canister added water at 0degrees kelvin.
  • Added Correct plant tooltip for when plant is dead.
  • Fixed instance where gas in a pipe network would not get saved during autosave, causing the pipe to be empty upon loading the saved game.
  • Added Autosave now schedules the Game Simulation Tick to pause at the end of the current execution and then awaits gameTick pause state before proceeding to copy the world data.
  • Added AutoSave will cancel if it detects atmospherics data modified during the save process.
  • Added If an AutoSave is cancelled due to invalid data it will reattempt to save again after a 2second cooldown.
  • Fixed LFO-Volume waveforms were not timed correctly on clients.
  • Fixed LFO-Volume settings not updating in multiplayer.
  • Fixed Light Round, Light Round Angled and Light Round Small not casting shadows.
  • Changed Several Plant Analyser Cartridge values to better inform the player of the plants light needs: Illumination Stress, Light Deficiency, Darkness Deficiency.
  • Light Deficiency and Darkness Deficiency will show "No Deficiency" if the plant has received enough light and darkness. Illumination stress will accumulate if the plant is deficient in light or darkness. When these deficiencies are resolved the stress will begin to reduce slowly over time. Illumination stress will reduce Light efficiency which is a multiplier to growth efficiency.
  • Fixed Light and Darkness accumulated values not being serialised for plants.
  • Fixed When a planter is lit by multiple grow lights turning off one grow light causes the plant to be unlit.
  • Fixed Plants could grow when they had no water.
  • Fixed dynamic hydroponics getting lit at 180% light intensity by grow light.
  • Fixed Plant analyser cartridge does not clear state when looking away from Plant.
  • Optimized Performance for grow-lights.
  • Changed Grow light emitter to point source, reduced radius of grow light emitter to match the current effective radius of grow light. Removed shadow casting from grow light.
  • Updated incorrect blueprint on refrigerated vending machine kit
  • Removed old Unity NetworkTransport networking method
  • Removed ROCKETNET and ROCKETNET_LOGGING defines since they are no longer needed
  • Fixed comms motherboard not correctly sorting landing pads in the same manner as Satellite Dishes.
  • Fixed saved landing-pads that did not have a centre or Gas storage would print an error on load.
  • Made custom project view fetch even faster
  • Fixed jetpack thrust settings not updating for clients
  • Fixed bug with overflow chute not overflowing when output end is blocked
  • Fixed landed shuttles not loading in at the correct rotation
  • Made custom project view fetch faster

The Trading Update V

New Traders


[h3]Shuttles[/h3]
Shuttles come in 6 types, including small, medium, and large variants, each with normal and gas options. Shuttles can use a runway or make a vertical descent and require a landing pad of different sizes: 3x3 for small, 5x5 for medium, and 6x6 for large. Supporting the requirements of different shuttle types means you’ll get to trade with more of the visiting Traders.



[h3]Space Planes[/h3]
There are two types of space planes, medium and large. Unlike shuttles, space planes cannot land vertically, require a runway, and only appear on planets with an atmosphere. Due to being designed to operate in diverse atmospheres, they are able to still land during storms, unlike shuttles. Space planes also need a larger landing pad size: 7x7 for medium and 9x9 for large. A minimum runway length of 15 and 20 is required for medium and large space planes, respectively.

Trader requirements are visually displayed when using the comms motherboard, and trader sizes can be accessed from logic.
https://sketchfab.com/models/5de5344d3fb74f09805cc269bb17c5a3/embed




Runways and Beacons

Vehicles entering the area from space have a long approach as they slow down from orbit. To better guide traders to the landing pad and avoid them crashing into mountains and buildings, you can use beacons and runway taxi pieces. Beacons can be placed and configured to guide traders through the air to the landing pad, while runway taxi pieces define the entry point of a runway and a path to the center piece.

Planes require a threshold piece and a runway to land. Additionally, Taxi Hold pieces can be used to stop traders on the runway until Activate is called on the landing pad center or via the activate button on the landing pad power data module.



Combining all these pieces allows you to fully customize the descent of the aircraft and may be required to prevent collisions. To make it easier to create a suitable landing area for traders, the landing pad pieces have been split into three new kits: Basic, Runway, and Atmospheric.

Environmental Requirements

Large shuttles and planes have a chance of carrying human traders. However, human traders require a breathable atmosphere before they will exit their craft and trade with you. To accommodate human traders, you'll need to build a hangar that can be pressurized.



Trader Interface

Options have been added to the Comms Motherboard to allow you to choose which landing pad and satellite dish will be used.



Trader Crashes

If you don't have a suitable landing pad and runway, traders will collide, cause damage, and explode. Be sure to create an appropriate landing area to avoid this from happening. Be especially careful of planes, if your runway is not long enough then they will overshoot and potentially crash.



Your support makes this possible

Over the last year, we’ve completely refactored the net code making multiplayer more stable, we’re continuing to improve the connectivity, and we’ve improved some big systems to allow us to bring you better content and new game loops. All this while transitioning to a weekly update cycle.

All the community support, feedback, and involvement have made this possible. So thank you!

[h3]If you like the progress we have made, please consider taking a moment to leave a positive review. This makes a huge difference to the project. We've been working hard for the last five years, and feel confident the game has substantially improved over this time. 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 DLC that we've made to allow those who enjoy the game to support us, and in return get something a little fun to use in-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/


Change Log v0.2.3860.18648
  • Increased medium and large plane runway requirements to 15 and 20 respectively.
  • Shuttles now can have individually overridden speeds.
  • Reduced size of planes and made their required landingpads larger to prevent collision happening when they're rotating to leave
  • decreased deorbit distance of some of the larger vehicles
  • made types for virtual landing pad center waypoint, and for deorbit waypoint.
  • landing pad height will now be used as a shuttle waypoint when coming from/to normal waypoints.
  • Updated chance for medium tier space planes to spawn.
  • Added if waypoints or hold points get destroyed mid transit trader will depart immediately if the can't find new a valid path.
  • Fixed required runway length for planes not being enforced
  • Fixed center piece vertical height setting not being used
  • Added Space-Planes are now able to land during storms. Normal trader shuttles are still unable to land during storms.
  • Updated shuttle audio fall-off to account for new approach profile
  • Fixed incorrect build state mesh on landing pad liquid input connector
  • Updated taxi piece corner prefab name
  • Renamed taxi corner piece and removed duplicate corner piece
  • Fixed issue where logic reads on dishes about best contact signal strength would not get a noise offset properly added, like the computer motherboard display.
  • Fixed trader getting left behind when departing via activate button
  • Fixed Trader shuttles deorbit at the incorrect rotation when landing directly on a landing pad.
  • Added "trader print" command
  • Fixed planes landing, and not going a minimum distance due to accidentally reattaching to their current point.
  • Deorbit distance and glideslope can now be customized on a per shuttle basis.
  • NOTE BETA USERS will need to completely reconstruct all threshold pieces on current saves updating to this revision.
  • Changed Updated threshold piece to have data port and onOff Switch.
  • Added landingPads can now have multiple thresholds but will be error if more than one threshold is turned on. Thresholds that are turned off will not form an approach path.
  • Changed landing pad taxi pieces and hold pieces now only flash if they form a valid path from a valid threshold to the centre piece.
  • Added data port for the threshold piece (first pass)
  • Fixed Immediately departing trader using activate logic variable can cause trader robot to be left behind.
  • reenabled deorbit waypoint
  • Fixed Autolathe Tier2 invisible.
  • Added landing pad taxi corner pieces
  • Fixed bug where shuttles would sometimes face the wrong direction
  • Fixed traders crashing in to ground when departing if there is no runway
  • Fixed bug where waypoints were sometimes not connecting correctly
  • swapped order of next and previous waypoint setting on shuttle approach
  • Fixed connection rotations on Landing pad taxi pieces.
  • disabled deorbit fake waypoint for debugging.
  • Changed Lading Pad Data piece to return Activate state of center when queried via logic.
  • Changed Name of Kit (Landing Pad Waypoint) to Kit (Landing Pad Runway).
  • Changed planes landing behaviour so that if the runway is long enough for the plane to land without going over the center piece then the plane will not need to return to the threshold before making its way to the center piece
  • Changed ActivateButton animation speed.
  • Fixed Code clean-up Atmospherics Controller.
  • Added Activate button to Landing Pad data piece. Pushing the activate button will depart a landed trader or order a trader waiting at a hold piece to progress down the taxi way.
  • Added Activate Button prefab.
  • added virtual waypoint to shuttles first waypoint to represent a deorbit approach.
  • Added Sounds to space-planes.
  • Improved Space-plane land and depart animation.
  • Fixed Incorrect Material on space plane engine plumes.
  • Fixed size landing pad requirements for space-planes. Medium 7x7, Large 7x9.
  • Fixed shuttles for clients not spawning in with the correct rotation
  • Fixed traders clipping in to their shuttles when they hop out
  • Fixed Mode not being set on load for landing pad center.
  • Fixed large plane pad size requirement
  • First pass on planes requiring runway
  • Fixed Incorrect hashed value of Mode Interactable on LandingPadCenter.
  • Fixed Depart uni-task switches to main thread if called from thread.
  • Added Writing Activate to LandingPad Data-Power piece will depart a landed trader.
  • Fixed render distance on small lights.
  • Made shuttle movement more smooth
  • Removed trader ready checks from depart command
  • Added trader depart console command "trader depart " or "trader depart" to depart all
  • Committing missing GameStrings from previous commit.
  • Labeler can now be used to set waypoint height.
  • Changed Waypoint height screw to have min of -100, and max of 100.
  • Changed waypoint height screw alt click to decrement by 1.
  • Waypoints now default to a height of 3.
  • Waypoint visualizer holograms only stay active for 15 seconds now.
  • Moved shuttle audio code into its own class
  • Removed some unneeded serialized fields from shuttle classes
  • Added animation events to cargo planes
  • Updated suntime command, no parameters will default to early morning
  • Fixed Can't label LandingPadCenter (code removed in error rev.).
  • Fixed Error when LandingPadCenter deleted mid arrival/departure of trader
  • Fixed shuttle doors not opening/closing when atmosphere requirements are met/not met
  • Updated trader land command to allow for selecting a contact: 'trader land '
  • Added Kit (Landing Pad Basic). Creates: Centre Piece, Power Piece, Straight Piece, Diagonal Piece, Cross Piece.
  • Added Kit (Landing Pad Atmospherics). Creates: Gas/Liquid Storage, Gas Output, Gas Input, Liquid Output, Liquid Input.
  • Added Kit (Landing Pad Waypoint). Creates: Threshold Piece, Taxi Piece, Taxi Hold Piece, Waypoint.
  • Updated Start conditions to use correct landing pad kit.
  • Fixed StructureTraderWaypoint power/data input collider incorrectly rotated.
  • Fixed Error with StructureTraderWaypoint blueprint.
  • Enabled collision between trader shuttles
  • Fixed multiple explosion code paths not correctly merging.
  • Shuttles now configure various crashing values based on type.
  • Added crashed shuttles result in a gas explosion.
  • SatelliteDishes wont return a Contact's pad requirements until after interrogation.
  • Updated shuttle animations to be slightly lower while taxiing to help with fitting into hangars
  • Fixed Trader Bot having the wrong rotation
  • Updated medium cargo plane animation
  • Added cargo plane traders
  • Fixed Compile error due to merge conflict.
  • Fixed Shuttle Engine sounds not playing on clients.
  • Fixed Traders with an Environment requirement now go back inside shuttle if the requirement is no longer met.
  • Fixed If landing pad centre is destroyed by damage or deconstructed the associated trader will attempt to depart.
  • Fixed Landing pad Cross piece doesn't show destroyed state.
  • Fixed Error when trader shuttle is destroyed by collision during landing or take-off.
  • Updated landing pad threshold model
  • Fixed beacons not being able to switch between center and threshold when modifying landing pad network
  • Updated how trader shuttles find taxi paths. You will no longer need to have a straight line of taxi pieces from threshold to center for taxiing to work.
  • Removed unused field on shuttle animation handler
  • Added Human Trader model for traders that require atmosphere
  • Fixed several instances where rotatables could become stuck, especially at high framerates.
  • Rotatable no longer instantly rotate when occluded.
  • Fixed large SatelliteDish having fast rotation speed set.
  • Fixed trader shuttles not disappearing when destroyed for clients
  • Fixed null reference exception if a trader shuttle explodes while leaving
  • Cleaned up TraderShuttle.cs
  • changed shuttle explosion to used previously cached center instead of calculating it
  • fixed the explosion position to be the center of the ship instead of the pivot position
  • Fixed exception on comms motherboard from contact items not being cleared properly
  • Refactored how client shuttles are synced
  • Fixed Error on server when landing pad center deleted.
  • Added Sounds to large trader shuttles.
  • Added trader shuttle collision with terrain
  • Added mesh collider and rigid body to all trader shuttles for collision detection
  • Fixed Broken shuttle prefabs
  • reverted threshhold piece directionality requirement
  • First pass on ship collision (WARNING: trading shuttles will now collide and destroy structures. After 20 collisions the trader will explode causing a lot of damage)
  • Added missing field to shuttle animator
  • Fixed missing ref on shuttle prefabs
  • Added new explosion algorithm option which can more controllably scale damage, and define spreading/blocking behaviour.
  • Changed explosion class to use unitasks vs coroutine.
  • fixed issue preventing uneven sized landingpads with one even dimension from atempting to find a valid offset.
  • Added Engine sounds for large trader shuttles.
  • improved even sized landing pad offsetting.
  • Updated threshold pieces to only connect one way. This is to stop approaches direct to the threshold piece entering in the opposite direction to the runway
  • Fixed shifting logic for even sized landing pads.
  • Stopped shifting logic from running on odd sized landing pad dimensions.
  • Trader character now uses pad offset
  • WIP work on shifting rotation of pad offset
  • Added sounds for medium shuttles.
  • Fixed trader shuttle movement not syncing for clients
  • Fixed waypoint visualiser not updating for clients
  • Added virtual waypoint above landing pad center for use when landing directly on pad. Can adjust the height using the 'Vertical' logic setting. Useful for landing on underground landing pads.
  • Fixed Dead player characters sometimes still receive partial key input after respawn.
  • Fixed Input and output network logic vars of devices that accept IC chips not showing up in stationpedia.
  • Fixed thruster material on small shuttle
  • Fixed Logic variables for input and Output network atmospheres only show as able to be read on Atmospherics devices when pipes are connected.
  • Added hold functionality for trader shuttle. Shuttle will now wait at hold pieces until the landing pad data connection piece receives an activate signal.
  • Added swapping trader models based on trader type
  • Fixed trader shuttle engine effect material
  • Fixed NRE in trader regenerate/land commands
  • Added sounds for Small Shuttle.
  • fixed error when trader species type is not specified
  • Added support for different species of traders(no new species added yet)
  • Added interactables and logic handling to the landing pad data connection piece
  • Added ability for landing pad to attempt to shift center landing point virtually half a square, to support even size pads.
  • Removed safety checks, preventing shuttle depart, and land from being called if pad is obstructed.
  • Fixed issue with landing pads not converting pad net iteration correctly into world space.
  • Integrated IsObstructed function as an optional param on the pad check functions.
  • Added Sounds for small Gas shuttle animations.
  • Added other shuttle types and animations
  • Fixed trader shuttles not entering at correct angle when landing directly on landing pad
  • Tweaked trader waypoint so that you can not point to landing pad taxi pieces, you can only point to the center piece or other waypoints
  • Fixed long standing bug, where room generation was inappropriately checking CanAirPass instead of the internal concept of CanGravityPass. Rooms again can be generated when frames are at their 2nd build state.
  • Added build and broken states to landing pad taxi pieces
  • Fixed waypoint beacon grid position
  • Added waypoint type to waypoint interface
  • Updated shuttle land animation speed to be 1
  • Fixed Player unable to pick up small items next to landing-pad structures. LandingPad connection colliders are now om ignore Ray cast layer.
  • Added basic lerping to shuttle landing/leaving
  • Changed The selected LandingPad and Satellite dish are now highlighted in green on Comms-Motherboard UI.
  • Added LandingPad center piece can now be re-named with labeller.
  • Fixed Comms motherboard screen not refreshing when traders regenerate
  • Updated trader pool prefab to use new shuttle
  • Added new trader shuttle animations to work with new waypoint system
  • Fixed Clients not being able to interrogate trader on comms motherboard.
  • Fixed A number of items not syncing to clients on comms motherboard screen.
  • Fixed Satellite-dish scanned contacts not synced to clients.
  • Fixed Interrogation and contacted status of trader contacts not synced to clients.
  • Added separate voice notification setting so that they are no longer tied to the text language
  • Added Comms motherboard can now select which dish to scan with and which landing pad to call the trader to. A Comms motherboard can support a maximum of 8 dishes and 8 landing pads.
  • Added Required pad size to Trader contact UI.
  • Added Runway requirement to trader contact UI.
  • Added Oxygen requirement to trader contact UI.
  • Added Function to return trader size based on shuttleType.
  • Added toggle helper UI classes.
  • Fixed incorrect structure bounds on trader waypoint beacon
  • Updated blueprints and thumbnails for the landing pad taxi pieces
  • Refactored how trader waypoints are iterated over.
  • Pointing a waypoint beacon to the landing pad will now auto link it to the landing pads connected threshold piece. If no threshold is present the trader will land directly at the pad center
  • Added landing pad taxi pieces
  • Tweaked shuttle approach to follow taxi pieces after waypoints
  • Added localization wordcount command
  • Fixed reference to removed animator on small satellite dish
  • Added Logic variables to satellite dishes to assist with automating interrogation and landing of traders via logic.
  • Added Setting Activate to 1 on satellite dish now attempts to interrogate the closest contact. If the contact has been fully interrogated it will call the trader to land.
  • Added TargetPadIndex logic variable: select the landingPad on the dishes data network to call the trader to.
  • Added InterrogationProgress logic variable. progress this dish has made on interrogating the closest contact.
  • Added SizeX, Y & Z logic variables. Size of object in meters.
  • Added MinimumWattsToContact logic variable. Minimum number of effective watts of signal power hitting the contact to begin interrogation. (It will read -1 if contact is not resolved)
  • Added WattsReachingContact logic variable. The actual number of effective watts of signal power hitting the contact from this dish. (It will read -1 if contact is not resolved)
  • Changed Moved Satellite scanning logic to Server Tick.
  • Refactored Server tick to parse through deltaTime since last tick.
  • Refactored ScannedContactDataCollection to allow for removal of a number of locks.
  • Fixed waypoint visualiser sometimes pointing the wrong way
  • fixed typo in tier 3 trader slot definition
  • Fixed Can't read internal atmosphere of combustion centrifuge via logic.
  • Fixed incorrect uv on trader waypoint beacon
  • Decreased trader downtimes.
  • Increased tier 3 trader lifetime.
  • Increased tier 1 trader contact time, and decreased max required wattage.
  • Decreased tier 2 trader max contact time, and max required wattage.
  • Decreased tier 3 trader max required wattage.
  • Fixed trader beacon lights not being affected by powered state
  • Added definitions to trader to mark some goods as bulk, which will let larger trader ships exchange larger quantities.
  • Fixed Europa gas trade exchanging far too much gas.
  • Added Contacts now have minimum wattage to see. Generally, if wattage was so low that resolve would take several minutes, then the dish wont be able to detect the contact at all.
  • Fixed tier 3 trader contact slot incorrectly setting its resolve wattage.
  • Added visualiser to waypoint. Can now toggle on arrows which point to the waypoints target.
  • Fixed null exception caused by all waypoints list not being initialized
  • Removed References to CommsMotherBoard from TradeDataHelper.
  • Refactored Helper functions for trading items moved from comms-motherboard to land-pad-network class
  • removed erroneous Clear command.
  • Added error state to waypoint beacon. Will now flash error when its next target is already linked to something else.
  • Fixed bad uvs on waypoint beacon light
  • Fixed trader shuttles not clearing correctly when exiting world
  • Fixed prefab error with landingpad crosspiece
  • Fixed LandingPad Blueprint turns yellow when it will connect to another landingPad.
  • Added trader waypoint beacon system (first pass). You can now build beacons for the trader to follow when landing/departing.
  • Added bulk definition to stock values for tradableItem.
  • Added tire texture for trader airplane (Art update)
  • Added Some tier3 Traders now require a pressurized hanger. Trader will land but not exit the shuttle until the atmosphere is breathable for humans.
  • Added ContactGeneration Data to Tradables Xml. generation rules for contacts are now defined in xml data.
  • Added Backend support for traders requiring runway and or pressurized landing-pad.
  • Added Logic to select the most appropriate ship model from the trader data instance.
  • Added Downtime between trader re-generation.
  • Removed 2x2 landing pad centre piece from kit
  • Changed landing pad pieces to not duel register and allow construction to intersect so that airlocks can be constructed through runways