This Guide relies on the following previous guide to have been done/completed before moving onto this step, there is also a future guide included at the end which explains adding rules/filters for your server(s)
- Installation Pterodactyl on Ubuntu 20.04 (Also Carries over to Debian and Centos however some parts may vary) - Pterodactyl Panel Install - Ubuntu - Knowledgebase - ByteAnia
Installation a Rust server on Pterodactyl
We start by visiting the Admin Panel of our Pterodactyl Installation, then heading to Servers, then Create New button
Once there we can start dropping our settings in for our Rust Server, this relies on you having previously setup a Pterodactyl Node, and assigning Ports to that node.
To start with we have 3 Fields and one Option, Name, Server Owner, Description and Start server when initialized, they are all fairly simply options outside of server owner, this requires an assignment of the server to a specific user that exists in the database for Pterodactyl, you can use yourself for this.
We are then greeted by our IP and port assignments for this server, you will need to select the Node, the IP and the ports for this server for it to work, ytou should already have your IP assigned to your node, and in that same guide have assigned 3 ports to that IP, 28015, 28016 and your rust+ port, in this example I am using 10001 as my rust+ port.
The next part is optional Configuration Database Limit (Not generally needed, so I will be ignoring this), Allocation Limit (I will also be ignoring this) and Backup Limit, generally you will want to take backups of your server regularly, We advise setting this to 10, these are either manual backups, or configured with Schedules.
Moving onto the Resource Management Assignment, you have multiple fields, CPU Limit, CPU Pinning, Memory, Swap, Disk Space, Block IO Weight and Enable Oom Killer, we will only be making use of CPU Limit, Memory and Disk Space, We will be setting our CPU limit to 0, so that it can make full use of our VPS, however in most cases where you run multiple servers on one VPS/Box, you will need to be mindful of this option and set accordingly, rust can only ever use 2Cores once running, however it can utilize as many as possible to boot, keep that in mind, our CPU Pinning will be ignored, this option can work hand in hand with CPU limiting, Memory, we currently have 32GB available, as such I will assign 0 so that it may use what it needs, Swap will be ignored, Disk Space will be set to 0 so that it can take full advantage of my VPS servers available space, Block IO weight will be ignored, and enable oom killer will be ignored.
Nest Configuration is what allows us to select the Rust server installation, simple changing the Nest to Rust will move it to our required installation.
Docker Configuration can be ignored unless you are knowledgeable about this.
Startup Configuration can be ignored, this automatically pulls all of the Service Variables we are about to set, and defines them in the startup command, so do not make any manual modifications to this unless you are 100% certain about what it is you are changing.
Service Variables is our last stop before we create the server, I will run through the settings one by one.
- Server Name - This is your actual name of the server that displays Ingame, I will be using "Byteania Example Server"
- OxideMod - 0 = Disabled, 1 = Enabled, If you plan to have plugins on your rust server, you will want to set this to 1, if you plan on running vanilla rust, please leave this at 0, please bare in mind that should you wish to run mods, be vanilla, and appear in the community tab, you MUST follow the strict guidelines from facepunch with what plugins you are allowed to run, a guide about this can be found with a simple google, for now I will have this set to 1 as I create our guides for installing plugins.
- Level - Procedural Map, this can be left AS-IS
- Description - This is your server Description that is found when viewing a server from the rust server list, you can place Linebreaks in this by using \n, example: Welcome to Byteania Rust\n\n (This creates two breaks)Rules are as follows:\nNo Cheating\n\nThanks for playing Byteania Rust
- URL - This is what comes up when clicking the "Visit Website" button when you view a server from the server browser
- World Size - This controls the size of your map, you can go from 1000-6000.
- World Seed - This controls the Seed of your map and is reflected on by your Size+Seed, you can see examples/find example maps at https://rustmaps.com, Leaving this empty will set the map World Seed to 1337
- Max Players - This controls how many players can play on your server at any given moment (Excluding the que, you can que up to 1000), Depending on your VPS / Dedicated server this can be a very hard thing to judge, and it may take you some time to find the sweet spot, unfortunately not something we can advise you on, however Our 11900k's have been proven to run 700 Players at any given time with no Oxide installation.
- Server Image - This option is for the Header Image that displays above your server description on the server browser, this is ideally set as a .JPG url, and the size restrictions are 512x256, This image quality is based off your graphics settings, the lower the settings, the worse the image looks.
Configurations so far are the following.
Moving on to the next Variables
- RCON Port - This is the port we have already assigned for Rcon, 28016, however what you set here may be different, it is just what we have chosen.
- RCON Password - This is the password used for RCON access, this may be used by an external third party, examples are Battlemetrics, Tebex, CraftingStore, RCON.io and many more, Be sure to set a STRONG password, Alpha+Numeric, certain special characters DO NOT WORK, and will cause an endless connecting to RCON cycle on boot.
- Save Interval - This decides how often your server saves, the quicker the saves, the more backups of your instance there are, however for large servers, the quicker the save, the more often the server will ramp and use more resources, It is advised to have this anywhere between 60 seconds, to 15 Minutes (In Seconds)
- Additional Arguements - If you know additional Steam arguements you can define them here, We will be defining Logging so that we get better logs of everything happening on our server all held in the /logs folder and date named, for this we will put the following
-logfile "$(pwd)/logs/$(date +'%Y-%m-%d-%H:%M:%S').log"
- App Port - This is the port defined for Rust+ Companion App, we have chosen 10001 as our Rust+ Port and will modify what is there from 28082 to 10001
- Server Logo - This is the logo shown on the Server Browser, as well as the Rust+ Companion app, We will leave this empty, however you can set this to make your server more appealing in the Menu/App
- Custom Map URL - We will be ignoring this, however you can use any external map URL, example Discord, Github and dropbox, because we will be using Procedurally generated maps we will ignore this.
Config so far:
Now, Simple hit Create Server.
Your browser will reload, and you will receive the following message
We will also be able to see certain things about our server
We can see that our server is Installing, It's IP/Port to connect, The manage Tab to modify provides Administration options for the server, Should you wish to reinstall, change it's status or Transfer it from 1 Node to another.
Once the installation is complete, you will be provided more options in the Navigation, However those are irrelevant for Daily use, All we wish to do is view our newly installed server, so we will head the arrow to leave the admin panel and visit the server
Once clicked you will be sent to your servers installation, Where if you selected "Start Server when Installed" button at the start, your server should already be booting.
Because we defined Additional Arguements for logging, We are not seeing the full RCON stream when the server boots, With this you can now Start/Stop/Kill the server, View it's RCON output, see it's Memory Usage and CPU Usage, however we have gained multiple sections of navigation, Console, File manager, Databases, Schedules, Users, Backups, Startup, Settings and a button to visit the admin panel for the server, Once your server is booted, you Will see the following console Messages: Steamserver Initialized, Server Startup complete, So we will check our settings by typing "serverinfo" into the console, that will display our settings.
If we head over to the File Manager Tab, we will find a folder called "Logs", Inside this will be the logs for our server, the reason we do this is so that should we ever need the logs, they are saved rather than lost on Restarts/Crashes/Stops.
So let's go find our rust server!
We can see from the Main console what our connecting IP:port is, as newly started servers may not be visible from the rust server browser, and empty servers DO NOT appear, so for this instance we are going to forcefully connecting from the f1 console, you can copy that IP:port by clicking it.
Once sent you are connecting!
This info will also be noted in the RCON of the server, typing serverinfo will let us know that there is 1 Player joining.
Once that player has connected, the console will inform us they have made it into the server.
We can also now see our server in the server browser with all of the details we put in!
And that's it!, to further your protection of your server, you may also wish to setup firewall rules/filters/edge Rules+filters from path.net, you can do so on our Guide: Configuring Firewall rules and Filters for Rust - Edge / Ubuntu 20.04
The tabs in the Pterodactyl server Explained.
Console - Shows the server console, Resources, IP, start/stop/restart/kill Buttons
File Manager - Access to the file structure of the server
Databases - Assigned Databases, creation, deletion, Modification
Schedules - Setup schedules for this server
Users - Assign a specific pterodactyl user access to this server (If you do not have an SMTP Server setup for pterodactyl, you will need to create the user in the admin panel, THEN assign them)
Backups - Create/View/Delete server backups
Network - View Network assignments for this server
Startup - View/Modify the Server Variables, Name/Description/Level/Size/Seed/Players
Settings - Settings of the server, SFTP Details, Server Name (Name for Pterodactyl NOT ingame), Debug Information, Reinstall server Button
- Sends you to the Admin panel for that specific server