Wew lad, it's been a while. Aside from this post, I've got two neat little things to show off to you guys. But between then and now, I figured it'd be a good idea to make a short, boring old little post documenting the minor changes, updates, and revisions I've made to the project since the last time. One of those includes adding the project to source control, which means it'll now be much easier to track changes and updates I make over time. Go DevBlogs!
The end goal of this project/platform is to be able to gain full control over the game, both server and clientside. In order to achieve this, we're going to need to be able to load mods a bit more complex than DizzyHack. One on of the main steps here is the ability to load custom Unity assets. Let's jump in and see how we can achieve this using features built in to Unity, and a 3rd party program or two.
Be ready to expect a series of smaller bite-sized updates (compared to my previous "book") as I catch you all up on the current progress of the Clientside Modding project. I'm going to write each post as if I had just created each piece, to keep it all consistent. In this post, I'll take a minute to talk about the compiler running server side.
The Great Beginnings
If I had one of those great American bucks for every time @DraB had asked me some mundane question about whether or not I'd be able to add a great Apache Attack Helicopter to Legacy, just like those fancy ones we have in our Lord and Savior of all games, Rust Experimental, I'd probably have enough bucks to buy the source code for Legacy, and more Apache Attack 'Choppers than the US Army.
You see, adding a new asset into an already-compiled and shipped game without access to the source or a Unity editor is about as hard as it sounds. In Legacy (along with almost all multiplayer games) there are two parts to the game: the client, and the server. If you want to spawn a helicopter, you have to spawn it on both the client and the server. One of which (the server) we have control over, and one of which (the client) we don't. Yet. In theory, all we'd need is to be able to run a few bits of code on the client, and all of a sudden we'd have more ladders and gun skins than CS:GO and your local hardware store combined. To make this good though, we're gonna want to have full control over the mods - we'll probably want them streamed from the server. Join me in my journey, and we'll see what we can do here...
Hey, I'm PsychoTea (aka Ben). I'm the main plugin developer here at LegionRust, and the lead developer on the Clientside Modding project.