Rust Marque Logo

Modular Turrets

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.

06 February 2020
Devblog
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!
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.
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.
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.
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.
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%.
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. Some stats:
  • 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.
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.
I added a few new server commands for server 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
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.
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).
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.
add_circle

Features

  • Added .mid file support for instruments.playrecording
  • Added stats to death screen
  • Added support for Steam Rich Presence
  • Added support for Steam Friend Groups
  • Added support for MIDI sustain pedal input
  • Added global.teleport2owneditem to teleport admin to a players items
  • Added player.wakeupall command to wake up all sleepers (cinematography)
  • Added player.copyrotation to copy the rotation of a player to a target player (cinematography)
  • Added player.mount to mount a given player to the target mountable (cinematography)
  • Added two lane ring road
  • Added Modular Turrets
  • Added save cfg on exit
  • Added Message of the day (motd convar)
  • Added Support for temporarily banning players (s,m,h,d,w,M,y)
  • Added Allow typing when the console autocomplete is active
arrow_circle_up

Improvements

  • Improved placement logic for tree hit markers
  • Changed supermarket, gas station and warehouse to roadside monuments
  • Only spawn prefab mountains on 5k maps or larger
  • Can no longer build or deploy on roads
  • Introduced sane upper limits for monument and cave counts
  • Reduced object count on 5k maps or larger (server performance)
  • Abandoned cabins is now a tier 0 monument
  • Use morphed custom meshes for roads and rivers
  • Cull river and road meshes at 1000m distance
  • Much cheaper and more effective Horse Armor
handyman

Fixed

  • Fixed SAM sites in monuments not regenerating if server restarts while the site is destroyed
  • Fixed player not being able to wake up if they died while the chat box was open
  • Fixed "Musical Maestro" achievement not unlocking correctly (play an instrument to trigger it)
  • Fixed several vehicle parenting trigger bugs and exploits
  • Fixed road mesh normals
  • Fixed Auto Turret bounds so they can no longer be hurt through walls
  • Fixed players being able to lag out the server with 1000 fireworks
  • Fixed sleeping bags taking 4 days to decay outdoors
  • Fixed Quit button delay
  • Fixed autoturrets retaliating against SAM sites when they accidentally get hit
  • Fixed an item being lost when a corpse with full inventory despawns, the item that can't fit into the backpack will get thrown onto the floor now