How to Setup RUST Server with Plugins?

15 May 2014

A short guide on how to setup a RUST server, with mods and plugins to enhance the game.

This guide shows you how to start a RUST server for other players to join, as well as to show you how to install plugins. A normal RUST server without any mods or plugins is difficult to play because of its early development stage; for example, there will be no welcome message for new players and killing somebody does not display anything. Adding plugins helps make the game better such as by announcing server messages, protect and reserve in-game names, spawning NPCs, allowing admins to manage and destroy buildings easily, change most of the gameplay and so on!


Note: This guide is for setting up the SERVER, not for playing the game as a CLIENT. To see how to install and play the game, refer to this guide.






Steps

1. Get RUST Client and Server
Currently, most people are playing on version v25, which you can get here.


2. Install RUST server and start the server once.
Run the RUST Server Installer and install the server (if you installed RUST Client, do not overwrite the client files, make sure your server is installed in a separate folder). Once that is done, go to the folder where you installed it and run "Run Server.bat" to start the server, which brings up a console. Type in "config.save" in the console, then close it. This creates initial server files needed in future. If you do not wish to add mods or plugins to your server, you can stop here. Any commands to set the server name and rcon password can be configured in /serverdata/cfg/server.cfg. A list of server commands can be seen here. As a minimum, the server.cfg should contain something like this:

rcon.password mypassword
server.hostname "My Server"
server.maxplayers 24


3. Download and install Magma.
There are other popular mods such as Oxide, but Magma is an excellent framework which allows users to create plugins using JavaScript, which is easy as pie if you have any knowledge on programming, giving you a great deal of control and modification for your plugins. It is important to note that newer versions of Magma do not support the current v25 RUST, so I provided a download link for the correct Magma version here. At the top-left corner of Google Drive, click File > Download. Then, extract its contents to where you installed your RUST server.


4. Configure Magma.
Go to /save/Magma/Rust++/Rust++.cfg and configure important settings such as sleepers. If sleepers = true, then the server spawns a sleeping body whenever a player disconnects. These bodies can still be killed, so it forces players to find a safe place to disconnect. Other settings such as message of the day and notices can be configured here.


5. Make yourself the master admin of the server.
If you're going to play in your own server, you should make yourself the master admin. There are two ways you can try, or you can just do both. The first method is to join your server, bring up the console with F1 and type "rcon.login [password]", replacing [password] with your rcon password set in server.cfg as mentioned in Step 2. Then, type "/setmasteradmin" in chat (NOT CONSOLE).

The second method is the best method, which is to go to /save/Magma/Rust++ folder and edit the admins.xml. It should contain this code, but make sure you replace DisplayName with your nickname and UserID with your player ID number (this can be seen in the server console when you join the server as a client):

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfAdministrator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Administrator>
<DisplayName>Lemoney</DisplayName>
<UserID>76561198120464074</UserID>
<Flags>
<string>CanKick</string>
<string>CanBan</string>
<string>CanUnban</string>
<string>CanTeleport</string>
<string>CanLoadout</string>
<string>CanAnnounce</string>
<string>CanSpawnItem</string>
<string>CanGiveItem</string>
<string>CanReload</string>
<string>CanSaveAll</string>
<string>CanAddAdmin</string>
<string>CanDeleteAdmin</string>
<string>CanGetFlags</string>
<string>CanInstaKO</string>
<string>CanAddFlags</string>
<string>CanUnflag</string>
<string>CanWhiteList</string>
<string>CanKill</string>
<string>CanMute</string>
<string>CanUnmute</string>
<string>CanGodMode</string>
<string>RCON</string>
</Flags>
</Administrator>
</ArrayOfAdministrator>




To make other players as admin, you can just use the "/addadmin [playername]" chat command, but if you want to manage your admins better, you should edit the admins.xml file manually. You can add new admins by copy-and-pasting the whole Administrator element. See the number of things the admin can do under the Flags list, such as CanGodMode? This means that this admin can use the "/god" chat command to make himself invulnerable. So, when copying this admin code for other admins in your server, you may want to remove some of these flags so that they do not have full access.




6. Adding Plugins
Adding plugins is very simple in Magma. To install plugins, simply extract the plugin folder to /save/Magma. You can find plugins for Magma in their forums here, but you may need to register for an account. For your convenience, I have compiled a bunch of useful plugins that should be used on most servers. Some of the plugins have been modified by me to prevent same names and have some funny death messages, so this is a little extra that could not be found in the forums. Extract the plugins to /save/Magma.

USEFUL WORKING PLUGINS FOR MAGMA v1.1.3






Common Questions

Why can't people can't join my server?
Make sure they are using RUST v25. Also, make sure your firewall allows the connection between the server and clients, make sure the ports are forwarded.

How do I detect hackers?
There is no real way to detect hackers, but you can reduce it. If you used the plugins pack that I provided here, it should include a HackAutoBan plugin which will automatically kick anyone suspected of hacking (it checks for players killing people farther than the weapon's effective range). There is also a Vanish plugin which allows admins to use the "/vanish" chat command to turn invisible. This, along with the "/tpto [playername]" command, admins can teleport and check on players, but the admin's name will still show even if invisible, so I suggest admins to use a hard-to-see name like "." or something.

Can I create my own plugins? How?
Magma works by simply reading the JavaScript file in the plugin folder you put in /save/Magma. You can take a look at the plugins created by others as an example. THIS LIST provides a documentation on classes, events and hooks which you can use to program the game's behaviour.