Place any gun in your turret to defend your base, A new ring road around the island to lead you to your favourite monument, Steam Rich Presence on your friends list and life stats added to the death screen as well as various other optimizations and improvements.
Auto Turrets have been modified to accept almost any projectile weapon the player wishes it to use, Be it an Eoka or an M249, simply open up the Turret's loot panel and add the weapon and the associated ammo and it's good to go.
This means a few things. Firstly, autoturrets are now cheaper as they don't require the HQM for the inbuilt assault rifle. They'll need to reload when the weapon's magazine is empty, This means the M249 will last 100 bullets and a Thompson only 20. You can also use any kind of ammunition the weapon can accept ( Incendiary, Explosive, HV) and the turret will utilize any attachments on the weapon. I'm excited to see which combinations are most effective, perhaps a silenced, pump action w/ slugs? or maybe an MP5 with incendiary, the choice is yours.
The Death Screen has received a new set of stats this month to better track the adventures you went on during your life. Time spent in various activities, kill counts, resource counts and more are all available to browse. There is also a per-weapon breakdown of shots fired and hit with accuracy percentages so you can finally settle who handles the AK the best in your clan.
Let us know if there's more stats you want to see here in future updates!
Steam Rich Presence
We've added support for some of Steam's new Rich Presence functionality this month. Your friends will now be able to see when you're exploring the wilderness or inside a monument at a glance from their friends list. We've also added support for grouping, so when in a team with some friends you will appear grouped together in the Steam Friends list.
The information that we show to your friends list is purposefully vague to limit the potential for griefing (we only show if you are in the menu, in a monument or in the wilderness), but the feature can be disabled entirely with the "global.richpresence" convar.
MIDI Sustain Pedal Support
We're introducing experimental support for MIDI sustain pedals this month - allowing more complex instrumentation when using MIDI inputs. This is enabled by default in the Experimental options area, since we encountered some differences between the pedal implementation among the piano players here at Facepunch. It looks like different devices send the sustain signal in some varying ways, so we've attempted to cater to the obvious implementations. If you have issues be sure to let us know on the Discord!
General MIDI support seems pretty stable, so that's been moved out of the Experimental section and into the Gameplay menu in the Options screen.
Vehicle Parenting Rewrite
There have been many bugs and exploits related to our vehicle parenting system on the hot air balloon and scrap transport helicopter. The problem was that the entity parenting triggers started out as a fairly hacky short term solution for the cargo ship and over time had to handle more and more complex scenarios like nested triggers or trigger exclusion zones. To address all of these issues I did a complete rewrite of the underlying trigger management to handle all of those complicated situations in a robust manner. Let's hope it fixes things once and for all.
In preparation for vehicles I rewrote our road generation algorithm.
As you can see instead of a spider net of roads that connect the individual monuments we now start out with a large ring road around the entire island. From there small roads then branch off to connect nearby monuments to the main ring road. The ring is a two lane road suitable for faster driving and the side roads are similar to the old single lane roads and require some more careful navigating.
We're now also using a custom artist-driven road mesh that is curved slightly to prevent terrain clipping issues and blends with the terrain a lot better than the previous iteration. Intersections, while not the focus of this work, also tend to look significantly better now but will need some further work in the future to iron out some edge cases.
Lastly, as part of this transition I changed the existing supermarket, gas station and warehouse monuments to be placed along the ring road. These monuments always tended to have dead end roads lead up to them which looked and felt very out of place. Now they smoothly blend into the bigger picture.
Large Map Optimizations
As another preparation for vehicles I have continued with my optimizations to large maps beyond the current 4k map default size. The focus this time has been to reduce the object count as the map gets larger to improve server performance. I did this by adding an increasing percentage of plains the larger the map gets that spaces out the areas with a high density of trees and rocks. I also introduced sane upper limits for the monument and cave count on the map instead of letting the algorithm fit as many as it can on a 5k or 6k map. And lastly we now cull road and river meshes at 1000m distance to reduce their performance impact on the client.
In sum these improvements have reduced the number of objects on a 5k map by 20% and on a 6k map by 30%. This means that a 6k map now has less objects than a 5k map had before the changes.
To test these larger maps we are now running two official servers with 5k maps. We also switched both of our staging servers to 5k maps. It doesn't make too much sense to play on a 5k map instead of a 4k map without vehicles but feel free to check them out and help us ensure it's all working smoothly.
Building Blocked On Roads
This one may be controversial, but with vehicles on the horizon we had to prevent people from blocking roads with their buildings. Roads now prevent building in a volume around them that is one foundation in width and 3 walls in height.
Spawning and dressing players in Rust is a very heavy process and one of the things that can cause stalls during gameplay. To try to combat this, I've been through and improved as much of the process as possible.
Impovements since December patch:
- Reduced the cost of dressing a player by 25-30%.
- Less garbage produced when dressing a player.
- Also reduced the cost of spawning ragdolls.
These increases in performance are from the last patch. Since the October patch, player dressing costs have been reduced by around 65%.
Hit Detection Optimizations
Whilst I was working on the skeleton optimizations, I noticed that there was a lot of room for improvement in our hit detection code. It was relatively slow, overly complex and produced garbage.
- The overall cost of a player has been reduced by approx 5% - 10% (mostly animation).
- The cost of performing hit detection has been reduced by approx 30% - 40%.
- Hit detection is now garbage free.
- Reduced player dressing costs by a further 10%.
Note that these figures are taken from our benchmarks, they are situational and will depend on your hardware.
Horse Armor Cost Reduction
People aren't using Horse Armor enough so I've incentivized it by decreasing their crafting and acquisition costs. I've also increased the rider protection by 10% on both types. This should result in mounted players having quite an advantage over people on foot.
Wow you guys went crazy with the fireworks, setting off beautiful 1fps slideshows for the entire server. This has now been fixed via firework limiting. How it works is by increasing the fuse length for fireworks lit beyond a certain threshold, resulting in a maximum amount of fireworks at any given time, This won't be an issue even for big firework shows but it'll prevent people from abusing them.
New Server Commands
I added a few new server commands for server player admins to use (and play around with):
- Temporary banning: ban and banid take a new, optional parameter for the ban duration specified as a number of days, weeks, etc (for example 3d, or 2M)
- Message of the day: new convar motd sets the message of the day text for the server. This message will be displayed to players when they connect to the server
- Spawning: new admin commands spawnat and spawnhere are simpler alternatives to the existing spawn command. spawnat is basically the same but requires the rotation along each axis instead of a vector. spawnhere spawns it a distance from you, with the same.rotation you're facing
Fixed Freeze on Quit
I fixed the issue where the game freezes when you try to close it. Now it should almost immediately close without requiring you to go into Task Manager and end the Rust process.
.Mid File Support
It's been great seeing all of the music videos that have been made with last year's Instruments DLC, clearly you all had a lot of musical talent deep down! It's also been awesome to see the various tools that have cropped up to play music in a more reliable, automated manner by loading .mid files, so this month we looked at how we could improve that process.
To minimise the number of extra programs required you can now load .mid files natively in Rust. This means that you can use the instruments.playrecording command to play .mid files with no other programs required. To use the new feature, just drop any .mid files you want to play in your "instruments" directory in your game install and type "instruments.playrecording FILENAME" in the console (with no extension).
Crashes Shortly After Joining A Server
We're currently aware a large number of players are experiencing crashes shortly after joining the server. We are actively investigating this issue and hope to deploy a fix as soon as possible.
A possible workaround for this issue appears to be playing at a lower resolution for the first few minutes of connecting to a server then switching back to your normal resolution.