Facepunch Api

I’ve been coding a backend site for us to use to manage our projects. Not a project management site, but a central location for the shit we’re doing. If you follow the Rust sites you’ve already seen this. It’s what powers the new Rust website. Here’s a look at what it does right now. Front […]


I’ve had a fun week. What started off as a bit of a side project exploded into a big thing and I learned a bunch of stuff. So here’s a blog. What is Aggregation Taking a bunch of smaller stuff and putting into bigger chunks. Like what So imagine you want to track visits to your […]

The curse of Early Access

We know the positives of Early Access. You can release your game early, you can get regular feedback, you can iterate and improve the game with the community. We’re three years in with Rust’s Early Access. We’ve put out updates every week for over 150 weeks, and the community have come to expect them. The […]

Jenkins Library

Jesus fuck I hope this is the last Jenkins blog I do. As part of our switch to Jenkins I wanted to define a bunch of common function that all of our scripts could use – without copy and pasting them. To do this I defined a global Jenkins library. Everything you read about this […]


I wanted to explain how to write Jenkinsfiles in my last post but I blurted on too much. So here we go. Pipeline vs Scripted When you read the official docs about writing Jenkinsfiles you get confused because there’s two versions. The newer version starts with “pipeline”. This is the one they want you to […]

Unity 2017 Changelist

We do a thing in Rust’s subreddit where we get people to post their ideal changelog. I find these threads a lot more useful than reading people’s dissertations on what they want changed. They’re brief, skimmable, and they’re not full of justifications, speculation and predictions. So here’s my changelist for Unity in 2017. Removed deprecated […]

Binding Steamworks SDK

I’ve been working on Facepunch.Steamworks in the background while doing Rust’s workshop integration. Just Prerelease branch is shipping with it now. The challenge was to make a c# library that works under Unity (and not) without recompiling, and on a bunch of platforms. Here’s everything that sucked about it. Pack Size All the structs in […]