about 11 hours ago - Errn - Direct link


PRIMITIVE GAMEMODE
The early game of Rust can be the most exciting, unfortunately players rush to fully automatic rifles as fast as possible to get an edge over their enemies. What if the early game could last forever....?

The primitive mode brings us to a distant future where the knowledge of high tech items have been lost, leaving the inhabitants of the island only able to make basic items.



The following changes apply to the primitive game mode.

Allowed Weapons
  • Melee
  • Bow, Compound Bow, Crossbow, Mini Crossbow
  • Speargun
  • Eoka
  • Beancan Grenade, Molotov
  • Flashlight Attachment
  • Shields
Restricted Armor
  • Removed Facemask
  • Removed Metal Chest Plate
Resources Changes
  • Less Sulfur Nodes Spawn (50%)
  • Increased Tech Tree Tax (2x)
Loot Changes
  • Jackhammer & Chainsaw (loot only)
  • New travelling vendor trades
Raiding Changes
  • Removed All Rockets & C4
  • Removed MLRS
Building Changes
  • Removed Metal Building Grade
  • Removed Armored Building Grade
  • Removed Armored Doors
  • Removed C4, Rockets & Explosive ammo
World Modifications
  • Removed Monuments (Oil Rig, Missile Silo, Excavator, Underwater Labs)
  • Removed Underground Train System
  • Removed Scientist NPCs (vendors remain)
  • Disabled Patrol Heli Event
  • Disabled Cargo Ship Event
  • Disabled Bradley APC
  • Increased Wild Horse Spawns (2x)
Travel Changes
  • Removed Helicopters (Minicopter, Scrap Transport Helicopter, Attack Helicopter)



SIEGE WEAPONS
Introducing 4 new vehicles: the siege weapons!



Designed for early game raiding, they're all craftable and deployable in the wilds. A great addition to your raiding and grubbing arsenal.

In addition to the cost to craft, building them will require extra materials and a hammer



They are both available in the primitive and vanilla game modes, from the workbench level 2.




CATAPULT
The catapult is capable of launching powerful projectiles with a large impact radius.



It comes with 3 new ammunition items:
  • Scattershot: multiple rocks in a spread
  • Firebomb: ignites on impact, spreading flames
  • Propane Explosive Bomb: high-damage explosives, damages construction

It can also launch players. Use at your own risk.






CATAPULT AMMO
You can also use the Firebomb and Propane bombs as a deployable raiding tool. Once deployed they will start to spark when they take any damage and explode after several seconds. When used in this way bombs will do less damage.







SIEGE TOWER
The Siege Tower provides a new way to get into compounds, high open windows or help with a raid. As the heaviest Siege Weapon, these towers lack some mobility, but make up for it in strength. Like the other Siege Weapons: The Siege Tower can be towed by a horse, or pushed to get it into position.



Each tower is 3 levels tall, with a drawbridge on each level. Use the drawbridge to provide some protection as you assault a base.




Each tower can have a door placed at the bottom for an added layer of security.




BATTERING RAM
The battering ram is a heavy fuel-powered vehicle you can drive around. Its reinforced arm can be used to destroy wooden and stone constructions





The ram takes damage with each hit and will need high-quality metal to stay operational.




BALLISTA
The ballista is a massive, wheeled crossbow designed for long-range combat. It can be deployed on terrain and towed by horses.




It can fire 4 new bolt items:
  • Pitchfork Bolt: large sweeping projectile
  • Piercer Bolt: penetrates armored vehicles
  • Hammerhead Bolt: heavy and solid, deals damage to doors
  • Incendiary Bolt: ignites on impact, spreading flames



A stationary version is also available, which can be deployed within your base for defensive use.



SHIELDS
Shields are a new backpack slot item that allows you handle frontal threats with ease. Simply equip the shield in your backpack slot and equip a compatible single handed weapon and the shield will automatically appear.



While holding a shield it takes over the function of RMB, so you won’t be able to aim down sights or throw weapons. Instead holding RMB will raise the shield in front of you, giving you more protection at the cost of reduced visibility and not being able to sprint.

You can only hold a Shield up for 4 seconds before having to put it back down, this is shown via a small progress bad near the crosshair (similar to the Compound Bow).



There are 3 shield variants, each with a different damage block amount. This amount is the percentage of damage that the shield absorbs from any incoming attack, the remaining portion will be received by the player holding the shield. While equipped you’ll see a new shield durability bar appear above your health bar, any damage a shield takes is applied to its durability and once broken the shield will be unequipped.

Items that are compatible with shields will mention this on their item information panel when selected.

When not in use Shields will appear on your back, note that while they are on your back they provide no protection. You will need to equip the shield in order to block any attacks.





4 SHOT MINI CROSSBOW
In the spirit of a primitive mode, we wanted to add another arrow weapon. The Mini Crossbow is a fresh take on the Crossbow. Providing 4 shots in a rotating barrel, at the cost of some damage and range.





The Mini Crossbow will not only be a great addition to the base game, but also the new primitive gamemode.



HORSES
Horses have been completely overhauled and should feel much better to play with.
  • They can now traverse most terrain types and monuments
  • New movement mechanics allow them to skid by pressing CTRL when galloping
  • They can swim, auto-avoid trees and be pulled when led



Horses can also tow siege weapons, including the catapult, siege tower, and ballista.



Additionally, their impact on server performance has been massively improved.



MEDIEVAL PACK DLC
This month, we’re introducing the new Medieval Pack DLC - a themed collection featuring 8 new items and skins consisting of the new Medieval Barricade, Knights Armour clothing skins, Medieval Large Wood Box skin, the Medieval Assault Rifle skin and Medieval skins for the Sheet Metal Door and Double Doors.

The pack can be purchased from the Rust Steam item store.

Knight Armour Set Arise a brave Knight with these chivalric skins for the Coffeecan Helmet, Roadsign Jacket and Roadsign Kilt.





Medieval Barricade Lay down this barricade to stave off the most ardent attackers, or augment the battlefield with its unique middle-age-themed visuals. Note that you will need to know the Barbed Wooden Barricade blueprint to craft this.





Medieval Assault Rifle Kingmaker or Kingslayer - you call the shots with this resplendent relic.





Medieval Large Wooden Box Every Lord needs a sturdy coffer to store their spoils of war. Look no further than this stalwart companion.





Medieval Sheet Metal Door & Double Door Survey your lands from behind these imposing castle doors, uniquely adorned with spikes to keep the p̶e̶a̶s̶a̶n̶t̶s nakeds out.




The pack can be purchased from the Rust Steam item store.



RAGDOLLS
Temporary player ragdolling has been added for bikes and horses.

Taking large amounts of collision damage on bikes and horses will result in the player being flung from their seat and eventually getting back up (assuming they haven't died in the process). Players can also be flung from the saddle of a horse if it's had too much airtime or has slid too far. Horses will ragdoll in these cases as well.



If you're unlucky enough to be used as ammunition for a catapult, you'll also ragdoll and are guaranteed to die on impact.

Collision damage on bikes has been re-balanced with ragdolls in mind, with the aim of making it less likely to instantly die from hitting obstacles on a bike.



FIRST PERSON ADMIN ESP
We've been slowly building up the feature set of our admin ESP system over the years, mostly due to the demands of various streaming events. This was restricted to using the debug/flying camera, it will now work as expected while in first person perspective spectating. Many server admins have asked for this to have better situational awareness while spectating players.

It uses the same convars as the normal ESP system so you shouldn't need to do anything new. All of the existing convars will apply, this includes:
  • ESPCanvas.MaxNameplates
  • ESPCanvas.OverrideMaxDisplayDistance
  • ESPCanvas.DisableOcclusionChecks
  • ESPCanvas.ShowHealth
  • ESPCanvas.ColourCodeTeams
  • ESPCanvas.UseRandomTeamColours
  • ESPCanvas.DisplayDistanceMultiplier
If there are further improvements that would help in live spectating, please let us know!



QUALITY OF LIFE CHANGES
Pickup sleeping bags
Players can now pick up any sleeping bag as long they are in TC range

IO Reskinning
Can now reskin IO deployables with the spray can without disconnecting it entirely

Phone names
Phones can now have names up to 30 characters long

Pumpkin Rolling
Dropped pumpkins no longer roll indefinitely

Backpacks on Weapon Racks
Backpacks and shields can now be used with weapon racks.




SOCIAL INTEGRATIONS
We're rolling out a social integration layer to Rust this month, no more messing around with overlays or alt-tabbing - you can now view, chat, invite, and add friends, all from right inside the game.



Your Steam friends list will automatically sync up in-game. No setup required. Prefer using Discord? No problem! All you need to do is link your account, and your Discord friends will be right there, ready to connect. This way, you’ve got the best of both worlds.

Give it a try, and as always, let us know what you think.



TWITCH DROPS - HOME BREWED 2
Twitch Drops are back! And from more of our favourite creators on the rise that you should definitely start to recognize!

Be sure to sync up[twitch.facepunch.com] at to claim your Drops after watching these fantastic creators on Twitch.





SERVER PROFILER - LINUX & REDUCED OVERHEAD
TL;DR - Shipping Linux binary; Server profiler should have less impact when idle and recording by gathering less data; if it fails to generate a snapshot, you can now export a debug binary snapshot and share it with us.

Linux Support This update will contain a library built for Linux environment. The library is a native recorder, so the interface (the "perfsnapshot" command) works the same.

The library has been built on Ubuntu 24.04.1 via GCC 13.3 in C++20 mode and it depends on POSIX utilities (dlopen, dlsym) - so it should be accessible everywhere.

Profiler Overhead Since the first release of our internal profiler, we got the opportunity to test it in the real world conditions. My first tests were rough (could only capture 1-2 frames worth of data before ballooning to multiple gigabytes of data) and I got feedback from number of server owners that not only it doesn't produce snapshots in some situations, it also has idle overhead - just enabling profiler can have a 5-10fps on a high-pop server.

I've spent some time this update cycle to to reduce this overhead, as in the current conditions it severely reduces the benefit we can get out of the tool. I've tackled it from a couple angles:

Reduced how much Code we capture The profiler works by annotating every code method that it encounters, wrapping it in a set of calls that dispatch to different Mono profilers. Comparatively, for complex and expensive methods these call are unnoticeable, but for small utility functions that do a trivial thing (change a bool, set a bit, append to a list, etc) the dispatching calls add massive overhead (we're talking 10x+ the cost of the utility function). Lastly, these dispatching calls are cheaper when the profiler is enabled, but not capturing - but they are still not free.

Originally I set up a number of annotation filters to exclude some known and safe code (stuff from System.Collections.Generic namespace, for example), but it still left a lot of "fat" that we could trim. Here's the before and after of the changes affecting our player processing loop:




As you can see there's much less of nested calls(reduced verticality), and instant calls (triangles, they take less than Perfetto is able to track) appear much earlier.

This update we no longer capture:
  • Hash functions
  • Casting & comparison operators
  • Property getters
  • UnityEngine.CoreModule related code
  • Enumerators
  • Anything Math related
  • Our internal collections (like BufferList)
  • Serialization code
There's more, but hopefully you see the principle behind the choice - anything small, trivial or reliable gets ignored.

This allowed us to massively reduce the amount of data we generate during capture - on staging server, we used to generate about 17MB of json per player, after these changes it's gone down to ~0.5MB of json per player. This should also reduce the "idle" overhead, since there's much less "dispatch code" that's scattered around.

Improved json generation logic One of the quirks that we have to deal with profiler-gathered data is that it doesn't know where the frame begins and ends - it's just a stream of "method enter/exit" records + "frame end" record that happens somewhere deep in the managed callstack. And since we want to display the data in a per-frame organized matter, we need to scan this stream to figure out how to partition all records.

Originally I implemented a less-efficient version of this because I assumed that there wouldn't be too much data to overwhlem this process. Since the previous section showed that I was wrong on the scale of data, I've also spent a bit of time to improve the export process - we now only need 2 whole-data-set scans to figure out frame grouping, instead of 3 originally, so using napkin-math, this gives us 33% export speedup.

Additionally, I've received reports that profiler can fail to generate snapshots. There are a couple scenarios in the above frame-reconstruction logic that can cause it to fail, so for these cases I've added the option to dump a binary debug snapshot - just run "perfsnapshot 1", and you should see a ".bin.gz" in "/server//profiler/" folder. I'll be able to inspect it in our internal tool to see what am I missing:



Future Plans I've been using this tool on the daily to inspect the state of our Staging servers, and I'm hoping to do the same with our medium and high-pop release servers as well. To squeeze out the most, there are additional improvements that I'd like to pursue when the time allows:
  • Continue trimming down on annotated functions - there's still plenty to reduce.
  • Need to expose the annotation filter to server owners - right now it's all hardcoded which is limiting
  • Need to expand allocation tracking - right now we just track how much we allocated on main thread. We could track allocated object types, and figure out a better way to display it on Perfetto.
  • Emit more metadata about the performance state - provide manual annotation tools to emit the scope of workload for our team, or to show cross-thread dependencies.
  • Explore automatic capture during frame spikes.




WELLIPETS


The wait is over!

The exclusive Rust x Wellipets[wellipets.com] wellington frog boots have started shipping, and codes for the in-game frog boot helmet are ready to redeem* from 11AM GMT on Friday 7th February.

Thank you again to everyone for taking part in this special collaboration, and don't forget to redeem your codes here[rust.facepunch.com].

*The digital item is complementary to the purchase and only redeemable for the PC version of Rust. A unique product key code will be sent after the delivery of your physical item. Should you wish to exchange sizes of the physical item, please refrain from submitting your digital keycode until you receive your exchanged sizes. Once the digital code is redeemed, you forfeit the right to return the physical item.



48 HOUR FLASH SALE!
To celebrate the release of this month's Primitive update, we're having a flash sale!
For the next 48 hours, Rust and all Steam DLC's will be 50% off.

Treat your new squad mate to a copy on Steam.