• Oxide - Rust Server Modding API
    372 replies, posted
[img]http://i.imgur.com/5MdeGLv.png[/img] [b]Prologue[/b] Rust is an amazing game with tonnes of potential maintained by great developers who have a very large todo list. Their image and idea of the final product is not yet known to us, but I can't wait to find out. But there are only so many hours in one day and a small team of developers can only do so much. Wouldn't it be so much easier and more fun if the players could modify and improve the game too? Well, now they can! Presenting Oxide, a serverside modding API for Rust based around - you guessed it - Lua. [b]About[/b] Oxide extends the Rust dedicated server by providing a means for simple Lua scripts, known as [i]plugins[/i], to modify the behavior of the game. A Lua plugin might provide an extra feature or modify an existing one. You could have a plugin which causes player death to spawn a load of chickens. You could have a plugin to modify the starting loadout, or a plugin that gives new players a helper package to get them started. You could have a plugin that enables PvP at night-time only. The best part is, as a server owner, you can simply choose which plugins you want to install and drop them in a folder - and the incredible functionality added by a crazy modder is only a single server restart away! [b]How it works[/b] To enable Oxide on their a server, a server owner (or hosting company) need run the Oxide Patcher. The Patcher will make modifications to certain serverside dlls through the use of IL injection, and will hook certain events. All that's left to do is drop some shiny new dlls alongside the patched ones, and walla! The server is Oxidized, ready to accept a multitude of powerful Lua plugins. [b]What can be done with Oxide?[/b] Oxide gives the modder full control over the functionality of the serverside - if the modder so desires. Currently Oxide is in it's early stages, so there aren't many plugins around, but here are some examples of what can be done. [i]Door Sharing[/i] [img]http://i.imgur.com/JjJTsee.png[/img] No more crazy door systems in your 10-man base, now you can share your doors with your friends while still keeping them secure from strangers! [i]Help and Chat Commands[/i] [img]http://i.imgur.com/Q4IinEh.png[/img] Welcome your players to your server! Let them know how to play! There is tonnes of potential for useful chat commands. You could have a /who command that lists all online players, or you could have a /pm command for private messaging. [i]Administration[/i] [img]http://i.imgur.com/xdiSnCu.png[/img] Your admins no longer need rcon access. A robust permissions system allows you to give your admins specific roles (they can kick and ban naughty hackers, but they can't spawn things in anymore!) And much much more... [b]Will I get VAC banned??[/b] Absolutely not. You only get VAC banned for cheating. This isn't cheating. You won't get banned for playing on a modded server... unless you cheat. [b]Where can I get it?[/b] Check out the [url=http://forum.rustoxide.com/]official Oxide forums[/url]! There are many GSPs offering Oxide on their servers. [b]What servers are running it?[/b] - [url=http://facepunch.com/showthread.php?t=1342147][EU] Official Oxide Server | Door Sharing | Rare military weapons[/url] [b]Who is working on it?[/b] [url=http://facepunch.com/member.php?u=159958]thomasfn[/url] [url=http://facepunch.com/member.php?u=242236]Dorkslayz[/url] aka Ryan [i]So guys and gals... what do you think? Please leave comments below![/i]
Very cool idea! May I ask why you chose Lua? Or is Lua used internally and this just extends that?
This is awesome, Bookmarked this thread to see future developments, most definetly what the community needs/wants. Keep up the good work
That is awesome. We hope to have a dedicated server soon. How have you tested this?
Meh, I'd only believe this if I see some working proof.
[QUOTE=Banana Lord.;43360320]Very cool idea! May I ask why you chose Lua? Or is Lua used internally and this just extends that?[/QUOTE] Lua is not used internally, I chose it because I liked it - it's simple to implement (the library I used automatically exposes all Rust classes and methods to Lua which saves me alot of time), works on linux too. Alot of budding Rust modders probably come from a Garry's Mod background too, so Lua should be familiar. [QUOTE=yubm;43360334]That is awesome. We hope to have a dedicated server soon. How have you tested this?[/QUOTE] I have a slightly old version of the server files which I hacked to make the newest client updates work with. It's a bit dodgy, but it allows me to test 95% of what I write. The Patcher should be able to patch Oxide into any new version of Rust instantly, so updating it to new versions won't be an issue. [editline]30th December 2013[/editline] [QUOTE=panicx72;43360365]Meh, I'd only believe this if I see some working proof.[/QUOTE] I'll see about putting a video together, maybe when I launch the public server later this week.
I hate /chat commands like poison
[QUOTE=garry;43360428]I hate /chat commands like poison[/QUOTE] So do I, but without means to present a UI to the client, it remains the fastest method of input ;)
This is friggin awesome! Door permissions is my group's number 1 pet peeve right now. I use HFB for my server. Is this something I can upload to my server and try? :-) I'm willing to be a scapegoat.
I'm looking forward to this.
I would love to run this on my server! I'm really looking forward to this!
This is a really,cool and interesting thing. I hope to see this on alot of servers.
Sounds good I would be interested in developing some mods using this system.
[QUOTE=thomasfn;43360372]Lua is not used internally, I chose it because I liked it - it's simple to implement (the library I used automatically exposes all Rust classes and methods to Lua which saves me alot of time), works on linux too. Alot of budding Rust modders probably come from a Garry's Mod background too, so Lua should be familiar. I have a slightly old version of the server files which I hacked to make the newest client updates work with. It's a bit dodgy, but it allows me to test 95% of what I write. The Patcher should be able to patch Oxide into any new version of Rust instantly, so updating it to new versions won't be an issue. [editline]30th December 2013[/editline] I'll see about putting a video together, maybe when I launch the public server later this week.[/QUOTE] That's cool. You alone are faster than a team of 3 developers to create shared doors. You sir, should be developing Rust. The current developers can better start modding rust.
It sounds like a great idea, I'd say we should just leave garry (and the team) to implement things instead of having too many chat based commands though.
Looking forward to the release of this. I have some interesting plugins planned for my server. [editline]30th December 2013[/editline] [QUOTE=Wilzi;43360758]It sounds like a great idea, I'd say we should just leave garry (and the team) to implement things instead of having too many chat based commands though.[/QUOTE] I don't think you quite understand what this does. It's not just creating chat commands, it allows for servers to actually script and add their own content to their server. This will allow for servers to be unique - similar to the way that CS:S has many different server types. This will allow for scripts to be created for Rust servers.
[QUOTE=Wilzi;43360758]It sounds like a great idea, I'd say we should just leave garry (and the team) to implement things instead of having too many chat based commands though.[/QUOTE] Until then.
[QUOTE=Wilzi;43360758]It sounds like a great idea, I'd say we should just leave garry (and the team) to implement things instead of having too many chat based commands though.[/QUOTE] When Facepunch Studios implement features that were previously made available by an Oxide plugin, they will most likely be infinitely better. I remember reading something about a combo-lock system with 4 digits for doors, that is a [b]far[/b] better solution to the problem than a /share chat command, and they'll get round to adding it at some point (I can't wait personally). Until then, Oxide will hopefully fill the void and provide the barebones functionality of highly-requested features, as well as some more obscure weird ones.
OMG I'm sweating this is too awesome. Thank you for this! ETA on when we can get this running on our servers?
Dude, this is awesome! :D
thomasfn: I love the work you're doing, I'd love to help you out get this thing properly working on official release. Sent you a pm with my steam/skype info.
[QUOTE=thomasfn;43360299][img]http://i.imgur.com/5MdeGLv.png[/img] [b]Where can I get it?[/b] Right now, you can't. I'm not going to release Oxide publicly until Facepunch Studios releases the dedicated server files for all to use. However, if you are a server hoster or are otherwise interested in using Oxide to enrich your player's experience, send me a PM and I'll be sure to let you know when something happens, or maybe include you in a secret beta test. [/QUOTE] I would hope server files aren't just released and given out. I currently Pay for a server because of this very reason..
[QUOTE=FatalNickle;43362680]I would hope server files aren't just released and given out. I currently Pay for a server because of this very reason..[/QUOTE] Why would you hope nobody can run a server for free?
[QUOTE=FatalNickle;43362680]I would hope server files aren't just released and given out. I currently Pay for a server because of this very reason..[/QUOTE] Distributing public server files give users more flexibility in the hardware their server runs on, can make it easier to setup a server without dealing with the hassles GSPs can come with, and ultimately gives the owner true 100% control over their server. Most importantly, you only have to pay for your own personal hardware and bandwidth, which is preferable for many people. It's completely understandable for Garry to not want to give those files out while the game is still being developed, but not releasing them at all can only harm the game's community. I've never seen a good, well thought out justification for withholding server files. The "game isn't done yet" excuse is only somewhat acceptable given that people could be testing the software while using it, but that's an argument for another time and place. I hope this API becomes something awesome OP.
i dont want a million shit servers going online hosted off peoples laptops or shitty internet where they have to turn it off at night. no thanks, stick to real servers.
[QUOTE=xEnt22;43366397]i dont want a million shit servers going online hosted off peoples laptops or shitty internet where they have to turn it off at night. no thanks, stick to real servers.[/QUOTE] That is one of the most stupidest things ive ever heard. There are quite a few of us who have private dedicated servers running all around the world. This happens with all games, you pick one you like and you stick to it. A rust server list with voting and ads on like planetminecraft would work well here.
[QUOTE=xEnt22;43366397]i dont want a million shit servers going online hosted off peoples laptops or shitty internet where they have to turn it off at night. no thanks, stick to real servers.[/QUOTE] if the server files are released its my intention to run a few servers of my dedicated server in Germany
Very nice man. Can't wait for the dedicated files to come out!
[QUOTE=thomasfn;43360372]Alot of budding Rust modders probably come from a Garry's Mod background too, so Lua should be familiar.[/QUOTE] Not to mention all the WoW modders too!
I would be very interested in using this :D I am up for testing it on my server if needed
Sorry, you need to Log In to post a reply to this thread.