August 15, 2026·RustProfit Team

What's New in Rust's "Devblog 165" Update

June 2017's Devblog 165 was an optimisation week with one standout: fully asynchronous texture loading finally removed the framerate cost of workshop skins, backed by networking fixes, better DOS protection and the completed Tier 3 Workbench.

What's New in Rust's "Devblog 165" Update

Devblog 165 landed on 21 June 2017 and it is a performance patch, headlined by Andre finally solving the workshop skin problem that had been dogging Rust for months. Around that sit networking optimisations, tuned DOS protection, the completed workbench set and progress reports on the Launch Site and Hapis Island.

Asynchronous texture loading

Promised the previous week, delivered this one. Andre implemented fully asynchronous texture loading from PNG, including DXT texture compression and mip map creation. Everything that has to happen when a new skin is downloaded and its texture cache is built now runs on a thread with no impact on frame rate at all.

The heavy lifting was implemented in native code specifically so it could chew through skin textures fast enough even when several skins need processing simultaneously. The result is that skin loading now has next to no performance impact. Andre was particularly happy with the API wrapped around it - as easy to use as Unity's WWW class, without the massive framerate drops that came from blocking the main thread. His recommendation was blunt: if you had been playing with skins disabled, turn them back on and try again.

Networking optimisations

Aside from skins, one of the biggest performance problems around entities streaming in and out of the world was the client-side method for fetching every entity belonging to a given network group. That query is used to destroy all entities in a network group when you leave it, and it was expensive: a 30ms spike for every network cell left, with as many as 15 leaving at once.

Andre rewrote it into a clean, efficient query, eliminating those spikes. Garbage collection allocations from client-side entity group switching were reduced in the same pass.

He also increased the number of entities sent per server frame when someone spawns or respawns, which speeds up the "receiving data" step of the loading screen - controlled by a new updatebatchspawn convar.

Flooding protection

After the previous weeks of packet-based DOS attacks, a new server flooding protection configuration was tested on the official servers and tuned. The result is more secure against a DOS attack while producing fewer false positives, and it went live to all servers with this update. Concretely, maxtickspersecond dropped to 300 from 1000 and maxpacketspersecond rose to 1500 from 1000.

Rocket Factory grounds

Damian kept polishing the grounds around the rocket factory. Most of the area he had been working on is now fully dressed, with overgrowth placed, ground meshes vertex painted and various dressing props added. The remainder of the week went into polish before handing the map over to Vince, leaving only LOD and collision models, bug testing and loot spawns. Barring surprises, the area was on track to release in the next forced wipe.

Hapis Island plans

Petur confirmed Hapis work was on schedule for a big July update. He was also revisiting the island's lighting, which had deteriorated lately along with what he described as neon grass, and hoped to bring in proper lush trees before the wipe so the island could finally leave its all-pine era behind.

The more interesting note is that he and Buck were working on backstory for Hapis Island, including naming everything on the island, with those names visible on the in-game map. The intention was to translate that approach onto procedural maps in the near future.

Tier 3 Workbench

Pilgrim finished the Tier 3 Workbench, LODs and gibs included, ready for implementation. With that done, all three tiers of workbench are complete - a point he made specifically for the people asking about it on reddit.

Animation and audio

Player animation work resumed after time on another project, focused on third-person animations. Arm sway was added when the player runs, the player now lowers his gun to a more natural position when walking - assuming he has not fired recently - and the walk animation was tweaked to read as more distinct from the run.

Alex R spent considerable time on listening tests with random intensity fluctuations, fixing issues as they came up. Most were small, granular changes, like extending a note to fill a spot that felt off when the drums drop out. He also found occasional sync issues with clips that fade in partway through playing, and concluded the playback portion of the new music system needs reworking - with a couple of approaches in mind that would give sample-accurate timing on all music clip playback.

Two smaller music wins did land: separate menu and in-game volume sliders are working, and the music volume sliders now have a much more sensible maximum, so turning them all the way up lets music sit alongside the rest of the game audio instead of drowning it. Asked repeatedly when the music update would ship, Alex was clear he had hoped to be done already but wanted it right before pushing it out.

On general audio, another round of mix tweaks and polish went in, most noticeably on the inventory UI sounds, with levels smoothed out across various other bits. He also worked through his backlog of raw recordings to get them library-ready.

The changelist for this one is short by design - it is an optimisation week. The only notable fix is bright code lock lights showing even when off and indoors, alongside additional detail added to the combat log when attacks are rejected.