July 24, 2026·RustProfit Team

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

Devblog 99 added the reactive target for building killhouses, got Linux servers working out of the box, replaced RCON with a websocket version any browser can talk to, and made the kill command actually kill you.

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

Devblog 99 landed at the end of February 2016 and is a mix of server-side wins and quality-of-life fixes. Linux servers finally work, RCON got a websocket version any browser can talk to, the reactive target went in for target practice, and the kill command stopped messing you around.

Reactive target

The reactive target deployable is in. It's not a game changer, but it's a genuinely fun toy for anyone building a killhouse or shooting range. It requires the same damage as a player to be knocked down, and the bullseye registers headshot-equivalent damage with a special particle effect so you know you hit it. Once it's down, press E to raise it back up.

Linux servers work

Following the previous week's groundwork, community contributors got the Linux server working and the changes were merged into main. You can now download the Linux server and run it out of the box. One official server had been running on Linux for a week and appeared just as stable as Windows - no confirmed memory or CPU benefits, since a fresh server is hard to compare fairly. The clear benefit is cost: Linux is free, which adds up quickly depending on how many servers you run and where you host them.

Websocket RCON

Rust's RCON worked like the Source Engine protocol so existing tools would function with it. Websocket RCON is the replacement: functionally the same, except any browser can talk to it directly. That means a full RCON tool can be a single HTML file with no server back-end at all.

Importantly, it replaces the old system rather than running beside it, so it's disabled by default - add rcon.web 1 to your command line to enable it. The stated hope was a simple open source web app on GitHub Pages that the community could contribute to and anyone could use from any device or OS.

Kill means kill

The kill console command used to injure you the first time and only kill you on the second entry, meant to discourage constant use. It didn't change anyone's behaviour and was simply annoying, so kill now kills you immediately. If you liked entering the wounded state deliberately, there's already a command for that: injure. While in there, a related annoyance was fixed - your active item now drops when you die without entering the wounded state first, so you're no longer sometimes hunting for a weapon on the ground and sometimes not.

XP system on prerelease, and what happens to looting

The XP system went live on the prerelease branch, with Garry describing it in fairly unvarnished terms - it's rough, it's on the Unity 5.4 beta, and it's particularly crash-prone. The expectation was that Unity would stabilize 5.4 around GDC the following month, with Rust's crash reports helping both products.

He also addressed the biggest fear about the system: that unlocking blueprints through XP removes the reason to loot. He conceded that's largely true as designed, and explained the counterweight - making loot relevant through crafting components instead. Right now most things are crafted from raw resources like wood and metal, which isn't especially logical. Under the plan, crafting something like the Tuna Can Wall Lamp would require finding an actual fork and an actual tuna can. You can't conjure those, so sophisticated late-game items become genuinely precious because they depend on rarer found components.

Server performance

The stability warmup on server start has been completely retired. Stability serialization arrived a couple of weeks earlier and already sped up startup, but an initial stability check was kept around as a safety net and to handle old save games with no serialized stability values. With that gone, server restart times improve considerably.

The client-side load balancer - which spreads deferrable work across multiple seconds so no single frame takes too long - got smarter. Its backlog queues could grow enormous on older hardware, especially when flying around in admin mode. It now takes more time per frame the longer the queues get, which should make huge backlogs a thing of the past.

Ambient occlusion

Screen-space ambient occlusion was reworked to integrate properly with Unity's physically-based lighting and stop overshadowing directly lit surfaces. SSAO is now merged with texture-based AO at the appropriate stage of lighting, since the two represent the same effect at different frequencies. A welcome side effect: the persistent grass darkening is gone.

Dungeon art: sewers and pipelines

The sewers set was completed this week, along with the pipeline set. A few things still need solving before the interiors can get proper atmosphere: a decal shader that reads scene shadowing to avoid odd lighting on decals (which would also reduce the z-fighting the decal meshes currently produce when depth buffer precision runs out), and vis-area volumes to cull exterior meshes while you're in tunnels, since direct light currently passes through the terrain into the tunnels and looks terrible.

Player model and female clothing

A female Asian head variation was finished, close to ready pending some texture tweaks and a broader look at how eyebrows are handled across all heads. The new player model also got a new set of teeth. More significantly, the female clothing system was implemented, so female players get their own versions of certain clothing items. It's subtle, but it makes player silhouettes more recognisable and stops it looking like they're wearing body armour under their t-shirts.

Entity destruction tracking

A developer-facing addition that came out of a painful debugging week. Unity has a single destroy method for everything - game objects, components, scripts, sometimes prefabs and assets - and because it's static, you can call it in misleading ways with no error. Texture.Destroy(gameObject) silently works, and GameObject.Destroy(this) destroys the script component rather than the game object. When a project layers its own networking and custom events on top, it typically needs a Kill() method that cleans up before OnDestroy() runs - and the moment someone calls Destroy() instead, you get a bug with no usable stack trace, because OnDestroy() is delayed until after all frame updates. Facepunch hit exactly that the week before, so Rust now has its own destruction methods that raise errors the moment incorrect code hits the dev servers.

Fixes

  • Fixed Thomson skin icons
  • Fixed armored foundation steps removing the sides of attached foundations
  • Fixed game object hierarchy errors caused by pooling when disabling player models
  • Fixed trees, ores, barrels and collectables sometimes spawning midair near rocks
  • Fixed cargo plane propellers not fading into fog
  • Removed dynamic memory allocations from the deferred decal refresh, and added a decal.cache convar
  • EAC updated

Concepts

Concept work looked ahead to food preservation with an icebox, a paintable wall mounted spinner intended purely as a tool for the games players invent for themselves, and a Bigfoot creature built around urban myth rather than the usual ape look - a humanoid enlarged and made hairless by radiation and toxic chemicals, carrying the same night-visible inner glow marking its weak points that the other irradiated creatures were being designed around.