ICARUS

Icarus Week Fifty Nine Update | Dedicated Server Search Results revamp

Week Fifty Nine is here, and we’ve focused this update on multiple dedicated server and core game bugs and improvements that have been reported and ticketed over the New Year period.

The Dedicated Server search functionality has received an overhaul, with new ways to tag and sort your favourite servers, and faster load times with more details to make scanning results simpler and more efficient.

A large number of core game bugs were reported to us by our player base, and we’ve addressed the majority of them this week. Check out the long list below, with more in the patch notes.

Finally, we’ve gone into depth about our strategy for dealing with ongoing performance issues and the five key areas that build our approach.



Dedicated Server Fixes



We’re improving the Dedicated Server search results functionality this week, taking on considerable community feedback and data to improve the UX for players.
  • Added the ability to search for servers via IP address, with its own ‘Direct Connect’ tab
  • Disabled the engine LAN search option for Steam's LAN searching instead due to the game crashing while switching search types
  • ‘Game Version’ on Dedicated Server results that are out of date are now easier to read
  • Added ‘Friend' and 'History’ tabs to the server browser - Joining a server will now add it to the History tab
  • Increased max server results to 10,000
  • Servers will now show up as they appear without the need to refresh the list or restart the game
  • Servers can be marked as ‘favourites’ and will show up in a ‘favourites’ tab
  • Added ability to connect via ‘Lan’ for local connections, with its own ‘Lan’ tab in the table
  • Server tabs are now ordered ‘Internet - Favourites - History - Lan - Friends - Direct Connect’


Core Game Fixes



Alongside our Dedicated Server search results improvements, we’re addressing a range of core game issues that were raised over the Christmas period.
  • Fixed an issue where clients were unable to place or rotate wall signs
  • Fixed an issue where clients using the glassworking bench, were not being correctly displayed the ‘yellow’ border around an item when water was added, signally the item would be ‘reinforced’
  • Fixed 'Out-of-bounds' check not occurring when the player was seated on mount
  • Investigated and Fixed Issues with Healing Module not always applying the Aura
  • Fixed an issue where enzymes geysers were spawning each time you started a session making it seem like their count was resetting
  • Fixed an issue where killing animals with your mount could fail due to a bug
  • Fixed an issue where the UI was allowing players to deploy items in the space station
  • Fixed an issue where the fridge/icebox were displaying incorrect spoilage timers for clients and causing issues with spoilage
  • Fixed a bug that was causing sort options to not work on containers
  • Fixed an issue where modifiers would sometimes fail to clear in the UI when timed out
  • Fixed a bug where players would unexpectedly lose an attachment when removing multiple from an item
  • Fixed an issue where people could lose items in space by ‘control-clicking’ in some circumstances
  • Fixed an issue where the grace period was not being applied while seated in the dropship for some players
  • Fixed an issue where item spoil timers wouldn't take into account the proper multiplier stats when combining stacks or removing from stacks. ‘Sturdy Stalks’ talent, for example, should now work as expected.
  • Damage Types and Colors have been revamped, with new damage types being added for future content. Felling damage is now displayed when cutting down trees instead of melee damage.


Performance


For new players and old, performance is a frequent topic of conversation, and we’re aware of how important it is to you all. At this time, we have half of the Icarus Tech Team dedicated to this task.

While we are doing our best to get these fixes to you as fast as we can, changes related to performance require thorough investigation and careful consideration before any decisions are made. Rushing headfirst in often causes more damage than good.

We are currently focusing our efforts on five main areas:

Engine Performance

Many of the systems we use in Icarus are provided to us as part of Unreal Engine. Our philosophy has always been not to fight the engine, but at times we have found it necessary to tweak the way some of the systems work in order to achieve some of our goals.

Game Systems

In many of our weekly updates, we do our best to bring you new gameplay features that add dozens of hours to your gameplay experience in Icarus. At the same time, we are doing our best to continue to profile the game, in order to minimize the number of operations that need to occur on each frame.

Memory

Loading gameplay features into memory has a knock-on effect - the loading of one object can trigger a long chain of other objects to load alongside it. In order to prevent this chain reaction from using up too much memory, one of our focuses is to scrutinize the dependencies that form between objects and remove them wherever we can.

Stutters & Garbage Collection

One of the many features of Unreal Engine is automatic garbage collection. Convenient as it is, it can sometimes result in stutters during gameplay when large amounts of memory are reclaimed at once. We are investigating different ways to work with the engine to better minimize the impact of this step.

Connection

There is no “silver bullet” when it comes to optimizing networking - it mainly comes down to the continued efforts to profile the multiplayer experience, reduce the size of the network packets we send, and reduce the number of packets we need to send each frame.


As we continue forward we will continue to make small improvements every week to address all the issues mentioned above. These fixes and optimizations are cumulative, with the improvements in performance in the last 12 months a reflection of this ‘piece by piece’ approach.



Changelog v1.2.34.106680



Fixed/QoL
  • Fixed a few typos in names and descriptions
  • Update dropship text to clarify that workshop items in inventory are returned to the station as well
  • Remove old Waternode assets
  • Delete unused mountain heightmap images
  • Move PFS out of root content folder into FOL/Spawners folder. Left redirector in place for now
  • Move AC_Plant assets out of root FOL folder and into AC sub folder. Fixed filenames
  • Clean up FOL folder assets
  • Move MF out of random ENV/GEN folder and into MAT/MF folder
  • Fixed a few typos in dialogue subtitles
  • Adding new music cues to the correct group routing so the music slider adjusts their volume
  • Fixes for Grass filenames and texture settings, deleted unused content
  • Fix proxy meshes for Drying Rack not showing for Giant Steak or Leather. Fixed asset filenames. Fixed recipe name typo
  • Adding custom shield break audio
  • Add GFur to Shield
  • Fix Shield LODs
  • Delete Shield BP from ITM folder
  • Added new 'Bounds Mask' EQS test that can be used to query whether a generated EQS location is outside of current Terrain/Prospect bounds mask if applicable
  • Swapping Enzyme Geyser to be a FindOnly Reload Resolve Policy, prevent duplicate geysers from spawning and preventing the resetting of the completion count on load
  • Fixed issue where animals would bug out when killed by a client's mount while they were riding it
  • Fixed 'Out-of-bounds' check not occuring when player seated on mount
  • Enable logging in UnrealTargetConfiguration.Test (internal dev change only)
  • Changed space loadout tab to be view only. This fixes the case of control clicking items into a non-existent player loadout from your space inventory. The regular loadout screen is unaffected
  • Can no longer sort inventories marked as 'remove-only' (Overflow bags, NPC corpses, etc.), fixes bug where trying to sort one of these inventories would remove all contents
  • Attachments that are removed from items on the Alteration bench are now moved to main inventory when modified item is shifted
  • Fixed a bug where in certain circumstances the shield wouldn't be deleted and would be stuck to the players arm
  • Fixed bug where initial name given to mount wasn't displayed until closing then re-opening mount inventory screen. Fixed bug where clients aren't able to set name or access behaviours of tamed mount they've just claimed without re-opening mount inventory screen
  • fixed validation error. meshable unsaved changes
  • Ensure that modifiers that are in the process of being garbage collected are factored in to removal logic
  • Rework modifier UI to be event driven (and not to fire every frame) for performance
  • Ensure mission timers show the correct value when previewing a local save (load button UI)
  • Removed unncessary eating GOAP action from Juvenile setup, fixes log spam regarding missing 'FoodContainer' BB Key
  • Player footstep noises are now tagged correctly so NPCs can differentiate them from other noises
  • Fix sorting by tag on containers
  • Moved inventory tag queries from an array on BP_IcarusPlayerControllerCharacter to a new datatable SortTypePriority
  • Change EnzymeGeyser ToggleEditorLocator function into separate Enable/Disable functions for multi-select purposes. Hide locators in Styx
  • Added code include to AfflictionChance to fix compile errors
  • Added QueryPort value to session result data to retain any needed information to favorite a server on steam
  • Added OnFindSessionResult callback to engine code so servers can be displayed on screen as they are received instead of waiting for thousands of results
  • Steam server searching can now accept filter queries, allowing players to specify a specific IP to search
  • Added server browser tabs for Favorites/LAN/Direct Connect
  • Fixed a bug where deployable placement would become desynced between server/client sometimes
  • Fixed issue where deployables supporting custom rotation weren't guaranteed to have the same custom rotation when trying to deploy on server/client
  • Removed Server versioning debug logging from Matchmaking Subsystem
  • Changed server result logging in Matchmaking Subsystem to verbose
  • Removed old Crafting Recipes for the old fishing rod and trap as these are now no longer valid
  • Disabled the engine LAN search option for Steam's LAN searching instead due to the game crashing while switching search types
  • Fixed clicking on server results not opening the join prospect window after favorites system was added
  • Game Version on Dedicated Server results that are out of date are now easier to read
  • Added Friend and History tabs to the server browser
  • Joining a server will now add it to the History tab
  • Increased max server results to 10000
  • Added user facing log overlay
  • Fixed a bug where clicking on 'deploy' in space will softlock the UI/game. Deploy button no longer appears in space
  • Improved stability of several account migration steps
  • Re-balanced how footstep noises are perceived by aggressive NPCs; footstep noise slowly builds up NPC aggression based on distance rather than triggering detection on the first footstep heard.
  • Balance changes to aggressive AI slightly increasing time to detect players.
  • Corpses currently held by player are no longer valid targets for carnivorous NPCs looking for food
  • Inventory spoil rate is now replicated to clients correctly, fixing issue where remaining seconds before spoil wouldn't update correctly for clients
  • Fixed issue where item spoil timers wouldn't take into account the proper multiplier stats when combining stacks or removing from stacks; Sturdy Stalks talent should now work as expected
  • Split Peer to peer and dedicated server searching so one can run without the other, allowing peer to peer players to never query dedicated server until needed
  • Added localization text for server browser
  • Added possible crash fix during server browser displaying servers as they appear
  • Removed friend count/filter on server browser since that's now managed by it's own tab
  • Fixed compile errors in old tutorial screen
  • Fixed a bug where when using a glassworking bench with a connection to water, the client would not get the updated icons for altered glass objects
  • Direct Connect no longer shows all servers if no IP was entered
  • Improved the look of the server name search box to make it more obvious that it's a search box
  • Fixed crash when refreshing results in the server browser
  • Fixed issue where the dedicated server browser wouldn't clear it's results before refreshing, causing duplicate results
  • Changed steam listing parameters from Unreal Test to Icarus so server results can be viewable in the steam client browser
  • Exposed Steam AsyncTaskTimeout as an OnlineSubsystemSteam engine config, so servers can increase the default 15 second timeout if needed
  • Changed the item mesh in 'Mesh_Item_Shield_Wooden' from a static mesh to a skeletal mesh
  • Removed the old 'back context' mesh and EquipBackMesh BP
  • This fixes the BP code not being called, therefore fixing the hit audio not playing and also the shield mesh not being deleted
  • Fixed repair actions not being available on space inventory screen
  • Added extra logging to steam package flag fetching process, should help debug issues players are having when unsuccessfully trying to access Supporter's Edition content.
  • Package flag fetching process will continually retry while in the main menu in the event of a failure.
  • Added additional Sentry Event tags to help with searching for specific bugs in web interface
Future Content
  • Adding 2 Fishing rods, 2 Fishing Traps, 1 Lure, 1 Wall Mount, 1 Aquarium, and the Fishing Bench Talents, Blueprints, Recipes and Unlocks
  • Setting up Fishing Alterations and Lures, adding new gameplay tags and fishing inventory setup
  • Setting up new fishing deployables
  • Setdressing Pass On New Large Ice Cave, AC_MED_010, Prometheus
  • Placed Cliffs around lave river in Phase 2 Area on Purple Quad, DLC Map
  • Created extra rock formations and placed Cliffs around lave lakes/rivers in Phase 2 Area on Purple Quad, DLC Map
  • Landscape and Decal Pass in pt2, added cliffs and riverbanks, Part2, Purple Quad, DLC
  • Adding spider events and anim notifiers. Unique whoosh sound and data table entries etc
  • Replace SW_GroundCoverB references to use v2 models
  • Adding spider attack audio
  • Adding spider death vocalisation and flinch also short attack whoosh
  • Setdressing Pass On New Large Ice Cave, AC_MED_010, Prometheus
  • Created Transition Caves Entrances to Red Quad from P2 Area & Add Transition Caves from P1 to P2 Area on Purple Quad, DLC Map
  • Landscape and Decal Pass in pt2 around cliffs and riverbanks, Part2, Purple Quad, DLC
  • Adding spider roar / spot sound
  • Adding Lava River audio and data table entry
  • Landscape/Decal Painting in P2 Area & Added Terrace Pools in P2 Area on Purple Quad, DLC
  • Setdressing, CaveWorm and Voxel Pass On New Large Ice Cave, AC_MED_010, Prometheus
  • Adding spider move sound and other small adjustments ot the spider distance filtering for the footsteps
  • Landscape and Decal Pass in pt2 around cliffs and riverbanks, Part2, Purple Quad, DLC
  • More updates to the spider. More vocalisations added to anims and also added a shoot web sfx
  • Added proper Destructible mesh for CF_Berry_Bush_01 as it was originally using BushA_01
  • Small reduction in volume of spider and other balance tweaks
  • Adjust Lava Lake material and tweak colors to match Lava River Material
  • Adding Rockdog enrage sizzle layer
  • Add Prometheus AI spawn setup. Reorganized AISpawnZones DT
  • Added Exotics to All New Ice and Tundra Caves and Did a Polish Pass On AC_MED_007, Prometheus
  • Landscape/Decal Painting in P2 Area & Added Terrace Pools in P2 Area on Purple Quad, DLC
  • Landscape and Decal Pass in pt2 around cliffs and riverbanks, Part2, Purple Quad, DLC
  • Balance adjustments to needler and a few other creatures. Slightly lower volume. Less spawn rate
  • Adding another swamp ambient creature and fine tune and adjustments to spawn rates of other creatures
  • Added option to turn on/off geothermal vfxs on BPs
  • Assigned correct Destructible meshes for both GL and TU Tussock Assets, which included creating the associated DM BPs and materials
  • Small adjustments to spider balance. Also added click ambient creature to lava biome when around foliage
  • Adding new Damage Types (Shatterring, Felling, Frost, Electric, Explosive, Wind)
  • Seperating Melee & Projectile Damage types from Physical (Still Stat Driven)
  • Added a new datatable to define various damage information such as damage stats, resistance stats and various tag queries
  • Replaced various damage calls to use the new damage types
  • Adding new stats, both damage and resistances for each of the new damage types
  • Adding Sledgehammer description & lore
  • Fixing up payloads which where using old damage types
  • Small volume adjustments to grasslands and swamp biome. Increasing slightly to keep in closer line with other biomes while still maintaining unique feel
  • Small increase to overall tundra biome volume and subtleties
  • Fixing up Shattering Stat Calculations
  • Fixing Hittable Rock Behaviour so Breakable rocks only take shatter damage
  • Landscape/Decal Painting in P2 Area, Enabled Stream Geo Pools in P2 Area & Blocked Out Transition Cave on Purple Quad, DLC
  • Finished Two New Small Ice Template Caves and Added 3 Large Caves to Blue Quad for Inital Testing, Blue Quad, Prometheus
  • Delete unused Spider assets
  • Fix Spider texture filenames and settings
  • Unified Spider GFur settings
  • Added Lava VFXs, Bubbling/Smoke/CoolDown/Splash/Lavafall
  • Adjustments to Lavafall Material and WT
  • Landscape and Decal Pass in pt2 around cliffs and riverbanks, Part2, Purple Quad, DLC
  • Adding spider shake booty sound and adjustments to snow striker animation notifier timings
  • Adding sledgehammer whoosh to animation and also various new creature reverb adjustments and spacial tweaks
  • Submitting Mini Lava Bomber and textures
  • Setting Meshes for Raw and Clean Exotic Resources
  • Adding Recipes & Talents for Exotic Harvester and Processor
  • Setting up Exotic Tree Node and Harvesting Device
  • Adding Exotic Processor Mesh and Setting up Actor States
  • Setting up t3/t4 Mission Communicator Meshes and Setting up Actor Camera Views
  • Setting up Prometheus Open World and enabling selection in the menu (Feature Locked)
  • Removed whoosh from sledhgehammer impact sound and added unique whoosh to sledgehammer animation. Slight adjustment to sledgehammer impact spacial
  • Fixing Raw Exotic Resource Mesh
  • Added description and flavour text for brick tier items
  • Added Exotic and Mission Communication Icons for 1.3.0 and added to datatable
  • Adding Deployables to the prebuilt structure system
  • Fixing Electric Extractor Mesh which was swapped out accidentily in a previous commit
  • Adjustment to striker reverb send, fixed wrong fooptstep anim notify on leopard / snow leopard and fixed timing of anim notify
  • Landscape/Decal Painting in P2 Area & Blocked Out Transition Cave on Purple Quad, DLC
  • Setup 3 new caves for Inital Testing, Blue Quad, Prometheus
  • Clean up of spawned resources and painted LC foliage, in P2 Purple Quad, DLC
  • Placed Procedural foliage volumes and spawned resources, Pt2 Purple Quad, DLC
  • Adding Basic Fishing Data Structures, Stats, Spawn Config and Zones, and Library functions to catch Fish
  • Adding Cheat to quickly catch fish without the required items for testing various spawn zones, weightings and stat assignments
  • Adjustment to spider whoosh
  • Adding new Fishing Cheat for Quickly Fishing in Different Zones & Other Functions to the Fishing Library
  • Added Basic Fish and Fish Chunks Items for Testing, these are seperate from the existing fish items
  • Fixed Fish Weight & Length stats being the opposite of what they where
  • Add FarShadow settings to Styx persistent blockers to improve distance shadow casting visuals
  • Adding new stats which effect various stats of fish which are caught
  • Modified Fishing Library functions to take in a generic actor as the 'fisher' so objects other than the player can fish (Fishing Traps for example)
  • Added basic stats to the Fishing Rod
  • Building Transition Cave from P1 to P2 Area on Purple Quad, DLC Map
  • Added ITM_Ingot_Obsidian to replace DEP_Furnace_IngotObsidian
  • Delete V1 brick kit assets deprecated by V2 assets
  • Added Color control to NS_Meta and Emission Colorto MA_meta
  • Fixed waterfall seam on Green Quad, Added Mage Tree Roots on Blue Quad, DLC Map
  • Foliage Pass of LC foliage, in P2 Purple Quad, DLC