Hey guys, another Friday Devblog.
I’m going to try to keep this one short and sweet. Sorry – turned out neither short nor sweet.
As you’ve probably noticed we’ve had to turn the comments off. It was fun while it lasted, but eventually someone spoils it for everyone. This time it was spoiled by someone posting hundreds of erotic stories into the comments. So comments are gone and they’re probably not coming back, sorry.
We use uLink in our current implementation of Rust. We have been mostly happy with it.
We had issues when we first launched with DDOS attacks. Servers could be taken down really easily with just a few packets. When we mentioned it on this site we were surprised by how reactive the uLink guys were. A few DDOS exploits were fixed, and more were discovered and fixed. Eventually everything was fixed, we all agreed that their support was top notch and we were very happy.
Then a couple of weeks later the CEO emailed me asking to ‘help correct some mistaken information’. He also mentioned that they were changing their EULA so that if we made another post about bugs that hadn’t been fixed they’d revoke our license. From our point of view the only reason these exploits were eventually fixed was because we made that post. We could have easily posted a ticket and waited over two months with no resolution again – but in the meantime no-one could play Rust.
Then a few weeks later we got another email asking us if we’d like to buy a yearly support license. It cost 25 times more than our existing yearly license.. or we could buy a yearly full source license, for 50 times our existing license fee. I asked what we were paying our existing license fee for. We don’t want to pay them for access to their source code so we can fix it for them. But on balance even though it did feel like a bit of a shake-down we decided that we’d made enough money from Rust so far that we could justify the ‘support license’, especially with how much their engineers helped us over the holidays. At this point we got distracted with a bunch of other issues.. then one of their engineers made it clear that they’ve been told not to help us with any of our issues until we have a support agreement, because they have to “prioritize on tasks that are economically sensible”.
So we decided to write our own networking library. Don’t get me wrong, the decision wasn’t totally based on pettiness and spite. We also have a few technical reasons to do this. To do what we want to do we need more control. Don’t worry, this isn’t something we decided yesterday. We decided it a long time ago. And the good news is that the new implementation is pretty much finished and ready to be tested. (I don’t like announcing intentions, I like announcing results)
We’re obviously not going to inflict this change on everyone without testing it properly, so some time in the next couple of weeks we’ll have an experimental build up on Steam for people to help test it so we can iterate and evolve.
Oh and because we’re awesome this new implementation lets the server and client co-exist in one build. So you can make listen servers, and single player versions. We’re not totally sure whether that’s something we’re going to make available straight away.. but it not having to compile/create/join a server every time you change code sure makes development a billion times faster.
Here’s what the artists have been up to.
When is the next update?
So what’s likely to happen is this. Some time in the next 2-3 weeks a new branch will appear on Steam. The community will be split in two. New and old.
We’re not going to take the old branch away from you until everyone is in universal agreement that the new branch is the future. And even then we’ll probably keep the old branch anyway – just for a laugh.