What's New in Rust's "Devblog 173" Update
August 2017's Devblog 173 spread learnable recoil to the AK47, M92 and P250, restored heavy armor to 90% helmet damage reduction, cut armor crafting costs, moved Rust onto EAC API 2.0 and finally fixed the wipe-day spawn clustering problem.
Devblog 173 arrived on 17 August 2017 and it's the week the Bradley APC didn't quite make it out the door — though it got close enough that Helk was promising staging within days. What did land was the learnable recoil system spreading to three more weapons, a serious armor rebalance aimed at gear nobody was using, another round of garbage collection surgery, and a fix for the wipe-day problem where everyone spawned in the same handful of places.
Bradley: close, but not shipping
Helk's summary was blunt — a huge amount of progress, not enough to be shippable. His estimate was 1-2 weeks before it went live, but definitely on staging the following week.
The work this week gave the Bradley APC a real brain. A connection of nodes and paths was set up at the launch site so it no longer blindly circles, with interest points it randomly patrols between while searching for targets. Once it finds one it engages, and if the target breaks line of sight it moves to the best position to re-engage. Tread and engine sounds are in, and the coaxial gun on the main turret is functional. A batch of movement bugs went too, with more still outstanding.
Remaining work: finishing the launch site path and increasing its resolution so players can't camp exploitable positions, teaching the Bradley to flee if a player does reach somewhere unreachable, handling edge cases like speed limits in tight areas, and implementing multi-target engagement across its various weapons. Plus missiles. ptrefall also chipped in a little A* pathfinding assistance for it.
Armor gets cheaper and heavy armor gets its teeth back
Some armor sets simply weren't being used, so Helk made them more accessible:
- Bone armor and its helmet now require cloth instead of rope.
- The riot helmet no longer costs a sewing kit — Helk noted that roughly 5 are crafted across an entire server per month.
- Plate armor protection was increased.
The bigger swing was heavy armor, which Helk admitted had been nerfed too hard. The helmet now blocks 90% of bullet and arrow damage, and the chest and legs block 75% of bullet damage. His justification: between the vision obstruction and half movement speed you're going to eat more shots anyway, so the numbers may not be as wild as they read.
Learnable recoil expands to the AK, M92 and P250
Feedback on the LR300 changes from the previous week had been mostly positive, so Helk pushed the system further. The AK47, M92 and P250 (SAP) all received learnable recoil patterns, with their aimcones reduced by 80% to match the LR300 and MP5 treatment.
Recoil compensation was disabled entirely on any weapon using learnable recoil — it was buggy and had really been intended for consoles anyway. The usual disclaimer applied: the patterns aren't set in stone and could change, though Helk felt they were close to where they'd eventually want them.
Spawns, resources and fog
Andre spent a chunk of the week on world-level annoyances. Player spawn areas were, in his words, bad — you almost always spawned in the same 2-3 areas of the map, which got genuinely chaotic on wipe day. The selection logic was improved to qualify more areas around the map for spawning, particularly larger coastal areas.
Resource spawning got a set of outstanding issues addressed, so trees and other resources distribute much better around the map. Most of it isn't immediately obvious, but one change definitely is: wooden log spawn density was cut by about 30% because they'd become annoying.
And distance fog: less blue tint across the map in clear weather, with fog density down by 25-50% under those conditions.
EAC API 2.0
Andre worked with the EasyAntiCheat team to move Rust onto their new anti-cheat API. The headline benefit is that all traffic now routes through the game server, with no direct connection between client and EAC — which means the "EAC Disconnected" error can no longer happen. If you can connect to a game server, EAC works. The new API also brought improved detection and prevention mechanisms that were set to roll out over the following weeks.
Garbage collection, part 3
The GC campaign continued, with Andre restating why it's the top priority: garbage collections cause frame rate drops and are one of Rust's biggest performance problems. This week's targets were prefab instantiates, effects and sounds.
First he eliminated a number of memory allocations that fired whenever an effect spawned or a sound played — which is essentially constantly. A follow-up profiling pass revealed that one of the biggest remaining culprits was strings: prefab names, rig bone names, effect paths and surface type queries. He implemented caching and lookup mechanisms so those strings are held in memory exactly once rather than being repeatedly allocated and freed. The gc.interval convar was removed in the process.
Rendering and texture packing
Diogo had to clean up after himself: the previous week's terrain texturing tweak caused shimmering and aliasing artifacts in motion on slopes and other low-resolution terrain areas when anisotropic filtering was set to 1. Retuned textures fixed it across all anisotropic levels.
He also returned to material and texture packing, fixing issues, adding tools and resuming the packing itself. Packing quality improved, packed maps take less project space, and generation time dropped. He packed 26 materials this week across buildings, animals, props and items, deliberately at a slow pace to make sure the tools were solid and nothing still depended on unpacked maps. The projected payoff if it all holds together: around 1 GB saved in system and video RAM.
Monuments, models and assets
Vincent moved the gas station on considerably from last week's greybox — most surfaces are now textured, with a geometry damage pass and material wear pass still to do before moving on to smaller props like the pumps.
Damian polished the supermarket's main building to a mostly finished state, with damage details like broken floor and wall tiles and collapsed ceiling panels planned for later. The supermarket shelves are done, with store counters, cash register and newspaper stands next.
Pilgrim finished the makeshift backpack and moved onto the Geiger Counter, completing the high poly model and getting halfway through the game-ready low poly version — modelled straight from reference rather than concept.
Taylor Reynolds continued fixing the new player models, still targeting the next wipe. Alongside new heads there's a general pass over the model: added geometry in sparse areas, skinning tweaks, and repairs to eye movement and blinking, which had broken somewhere along the line. He'd also been working with Matt on hair prefabs — functional hair remained a way off, but getting them merged alongside the skin updates would show how much work was left.
AI and sound
ptrefall hoped this was the final navmesh grid optimization week: navmesh generation now runs without spikes on his development branch. He also worked on getting all NPCs to spawn at valid navmesh positions so none of them stand frozen in place, and got scientist populations spawning at monuments — still testing only.
Alex R polished pitch tracking and engine cycle detection until it worked across the entire long engine recording, only to find that slight tonal variations between the different acceleration ramps stood out badly when cycles were spliced together. Not wasted work — the improved tracking still benefits the shorter single-ramp recording and successfully handled other engine recordings it had never seen — but it means repetition reduction at static RPMs needs a different approach. The plan: grab cycles from nearby RPMs and pitch shift them slightly. He'd found 6-7 cycles at a given RPM sounds natural, every group already has 2-3, so nothing would need shifting more than about 5% — small enough to avoid artifacts. Failing that, the existing spectral data could synthesise variations. He'd also wired the current system to the tank in-game for the first time, and because the throttle reacts to the physics simulation it rarely sits at static RPMs, so it already sounded good enough that he'd almost ship it as-is. Next up: faking the RPM revs and dropouts from gear changes, and separate recordings for deceleration.
The rest of the changelist
A flare was added to the ceiling light, and a new authtimeout server convar appeared. Fixes covered player names not appearing on skulls, duplicate ore nodes around radtowns (requiring two server restarts to take effect), material LOD pop-in on cliffs and rocks, a show texel density exploit, fuzz in the cloth shaders, and an OSX/GL gamma darkening bug. Max draggable was removed from items apart from liquids.
With the gas station and supermarket both on track for the next wipe and the Bradley promised for staging, the following week was shaping up to be the interesting one.