Server performance, weapon refactor, stability, and building skins
2:47pm EST - Welcome to a fresh week in Rust development! The team has started off strong and I’m hoping we see a client / server update in the next day or two. Before I get into today’s updates, I’d like to share a theory I have around server the performance dips...
Server Performance and the new build system
Since the new build system came out the other week, server performance has been dropping significantly anywhere from 3 to 30 hours after a wipe. Yesterday, I had to wipe 4 times because of performance. I've been trying to isolate the specific cause of these performance dips. It’s strange how sometimes we can last over a day then other times just a couple hours, all with no drastic change in server population.
Each building block of the new build system has a timer on it (for gaining / losing health over time). My theory is performance nose dives when there is too much building happening too quickly. Timers are a very inefficient when it comes to programming (read more, yes, I know this isn't talking about Unity or C). If too many timers are introduced at once, it would make sense that the server would have trouble processing other requests. This would explain things like doors lagging out, player lerp going to shit, the sun bouncing around the sky and why restarting / loading the map doesn't fix anything.
This also explains why yesterday, after some idiot told the whole server how to dupe items, performance went to shit within and hour because everyone started building huge shit with duplicated wood.
Granted, this is just a theory of mine, I could be mistaken. Either way, I request you build slowly, not laying out more than 10 or 20 building parts at a time. I am not going to put a limit on building size because that doesn't seem to be the cause. Just please, build slowly if you're going to build big!
Hopefully this gets fixed soon. In the mean time, be it 2 or 20 hours, I will wipe when performance goes to shit. I know it sucks to lose your progress and, trust me, I don't enjoy wiping and getting reamed out by people. That being said, smooth gameplay will continue to take priority over people keeping their things. If losing your shit drives you completely nuts, I recommend playing on a much less populated server, they are able to go for longer between wipes.
Weapon refactor
Garry is continuing on the weapon refactor branch. It looks like most of the commits are in the realm of clean up and launch preparation. As Garry mentioned in the Friday devblog, it’s almost ready to go so hopefully we'll see this update launch in the next day or two.
Stability system
Another fix on the weapon refactor branch is the stability system has been made more stable. I’m excited to see this in action because it is really frustrating to put a wall up to have it fall down immediately. Even more frustrating is putting 1 wall up and having 3 on the other side of your house fall down.
Mac / PC differences
As I mentioned in my post on Friday, there are some stark differences between the terrain for Mac and PC users (and maybe even different versions of Windows). Monuments, rocks and caves are often in different places depending on the seed. This is pretty game breaking, and thankfully, it looks like Andre is working on it. He's added some checksum logs on the terrain generation and doing some other things to hopefully track down and fix the issue. Read more on these support tickets and the reddit conversation.
Building skins
Vincent is continuing work on the wood log building skins. It looks like he has the exterior and interior wall pieces in. This also contains the doors, windows and frame pieces. Building should be looking more like the above picture soon!
Updated map buildings
Daniel is continuing his work on the updated map buildings. He posted a new work in progress shot today:
Battle server update
We started our first modded server on Saturday. It is a battle server running on the redux of RustEssentials. It provides armor, guns and ammo as the default loaded (meaning you spawn with it each time). We had some hiccups on Saturday as expected. People were experiencing FPS drops, doors were being knocked on when you tried to open them and sleepers couldn't be killed. MistaD (developer of RustEssentials) has fixed all these issues and we're running smooth now. Please check out the server if you get a chance, we're looking to stress test it and make sure performance holds up as we get more people.
To join: client.connect 8.2.120.16:28017
Tip of the day
Tools and weapons are currently linked to FPS. That means if your FPS is low, your swings are slower. When gathering, it helps to look up as high as possible. Crouch and look up if necessary, your FPS will go up and your gathering will go a lot faster. Thankfully, this tip won't be necessary for long as Garry made a commit today which made weapons independent of framerates again.