Rust Dedicated Server

The following installation instructions will only supply the experimental (public) branch's server files since legacy got removed December 2016. (8 December 2016)
== Dedicated server ==
=== System Requirements ===
* System based on Windows, Linux or OSX
* 8 GB free RAM (6k map will use more)
* 8 GB free disc space (SSD/NVMe highly preferred)
To estimate server RAM requirements you can use this server RAM estimation tool created by Pine Hosting.
=== Installation ===
*Install SteamCMD
*Start SteamCMD
**Log in with a Steam account or anonymously: login anonymous or username
**Select install folder: force_install_dir PATH:\SteamCMD\rust_server\
**Run: app_update 258550 validate﻿ to download the public branch of rust dedicated server
=== Configuration & running ===
You can run the Rust DS with ./RustDedicated -batchmode (Linux) or rust_server.exe -batchmode (Windows).
==== Command line parameters ====
The startup command can be appended with the following startup parameters:
parameter 	default 	description
+server.ip 	0.0.0.0 	Sets the Server IP. Leave it to 0.0.0.0 unless you have multiple IPs.
+server.port 	28015 	Sets the port the server will use. (default 28015 UDP)
+rcon.ip 	0.0.0.0 	Sets the RCON IP.
+rcon.port 	28016 	Port to listen to for RCON.
+rcon.web 	1 	If set to true, use websocket rcon. If set to false use legacy, source engine rcon.
+rcon.password 	"YourRconPassword" 	Sets the RCON password
+rcon.ssl 	"/etc/ssl/websocket_cert.pfx"	(Required for secure websockets) Sets the path to the PKCS12 PFX container containing the certificate chain
+rcon.sslpwd 	"YourPfxPassword" 	(Required for secure websockets) The password needed to decrypt the private key within the PFX container
+server.tickrate 	10 	Server refresh rate - Not recommended to go above 30.
+server.hostname 	"Your Server Name" 	The displayed name of your server.
+server.identity 	"my_server_identity" 	Changes path to your server data rust/server/my_server_identity. Useful for running multiple instances.
+server.maxplayers 	50 	Maximum amount of players allowed to connect to your server at a time.
+server.worldsize 	3000 	Defines the size of the map generated (min 1000, max 6000)
+server.seed 	50000 	Is the map generation seed.
+server.saveinterval	600 	Time in seconds for server save.
-logfile 	gamelog.txt 	If you're using a script, you'd better put the current date as a filename, otherwise, it'll be erased on every start.
-silent-crashes 	- 	Won't display a crash dialog and will restart automatically if server is installed as service.
For example:
 -batchmode +server.ip 0.0.0.0 +server.port 28015 +server.tickrate 10 +server.hostname "Your Server Name" +server.identity "your_server_identity" +server.seed 793197 +server.maxplayers 50 +server.worldsize 3000 +server.saveinterval 600 +rcon.ip 0.0.0.0 +rcon.port 28016 +rcon.password "Your_Rcon_Password" -logfile "logfilename.log"
==== RCON ====
To use RCON (Remote console) you can either type directly in the CMD, or join the server and press F1 to open the console. (requires authlevel 1 or 2)
To add yourself as admin (authlevel 2) type "ownerid YourSteamId64" in the Command Prompt and re-join the server, or add it to the users.cfg located in ../server/serveridentity/cfg.
Otherwise, you can use RustAdmin, a nice remote RCON client (recommended).
When the server is up and running, you can issue the commands from the Server Commands list below.
==== Server Commands ====
Here is a RAW list of available commands. You can put them either in your server.cfg (then reboot the server), or input them using RCON.
If you want the values to be permanent then save it using the command server.writecfg
Last update: 31 August 2017
> Commands
 bradley.enabled If set to false (0) it will disable the APC. Default is (1)
 ai.think If set to False, bears and wolfs are only hostile on attack (True)
 ai.move If set to False, animals will stop moving (recommended for performance boost) (True)
 ai.sensetime It's no use to change this value (1)
 ai.frametime no description (5)
 ai.tickrate Changes the tickrate of animals (5)
 antihack.enabled Enables / disables antihack (True)
 antihack.admincheat Are admins allowed to use their admin cheat (True)
 antihack.objectplacement Use antihack to verify object placement by players (True)
 antihack.modelstate Use antihack to verify model state sent by players (True)
 antihack.userlevel 0 = users, 1 = admins, 2 = developers (2)
 antihack.enforcementlevel What happens if player is above 'antihack.maxviolation' - 0 = no enforcement, 1 = kick, 2 = ban (1)
 antihack.maxdesync Max allowed client desync, lower value = more false positives (1)
 antihack.relaxationrate The rate at which violation values go back down (0.1)
 antihack.relaxationpause The time before violation values go back down (10)
 antihack.maxviolation Violation value above this results in enforcement (100)
 antihack.noclip_protection 0 = disabled, 1 = ray, 2 = sphere, 3 = curve (3)
 antihack.noclip_reject Whether or not to reject movement when noclip is detected (True)
 antihack.noclip_penalty Violation penalty to hand out when noclip is detected (0)
 antihack.noclip_stepsize Movement curve step size, lower value = less false positives (0.1)
 antihack.noclip_maxsteps Movement curve max steps, lower value = more false positives (5)
 antihack.speedhack_protection 0 = disabled, 1 = enabled (1)
 antihack.speedhack_reject Whether or not to reject movement when speedhack is detected (False)
 antihack.speedhack_penalty Violation penalty to hand out when speedhack is detected (50)
 antihack.speedhack_forgiveness Speed threshold to assume speedhacking, lower value = more false positives (2)
 antihack.speedhack_deltatime Time interval to calculate speed in, lower value = more false positives (0.2)
 antihack.speedhack_tickets Required number of speeding tickets to trigger a violation (15)
 antihack.speedhack_history Speeding ticket history length (20)
 antihack.flyhack_protection 0 = disabled, 1 = simple, 2 = advanced (2)
 antihack.flyhack_reject Whether or not to reject movement when flyhack is detected (False)
 antihack.flyhack_penalty Violation penalty to hand out when flyhack is detected (50)
 antihack.flyhack_forgiveness Distance threshold to assume flyhacking, lower value = more false positives (2)
 antihack.projectile_protection 0 = disabled, 1 = speed, 2 = speed + entity, 3 = speed + entity + LOS (3)
 antihack.projectile_penalty Violation penalty to hand out when projectile hack is detected (0)
 antihack.projectile_forgiveness Projectile speed forgiveness in percent, lower value = more false positives (0.5)
 antihack.projectile_padding Projectile hit distance padding in meters, lower value = more false positives (5)
 antihack.projectile_serverframes Projectile server frames to include in delay, lower value = more false positives (2)
 antihack.projectile_clientframes Projectile client frames to include in delay, lower value = more false positives (2)
 antihack.projectile_tickets Required number of projectile line of sight tickets to trigger a violation (10)
 antihack.melee_protection 0 = disabled, 1 = initiator, 2 = initiator + target, 3 = initiator + target + LOS (3)
 antihack.melee_penalty Violation penalty to hand out when melee hack is detected (0)
 antihack.melee_forgiveness Melee distance forgiveness in percent, lower value = more false positives (0.5)
 antihack.melee_padding Melee hit distance padding in meters, lower value = more false positives (2)
 antihack.melee_serverframes Melee server frames to include in delay, lower value = more false positives (2)
 antihack.melee_clientframes Melee client frames to include in delay, lower value = more false positives (2)
 antihack.melee_tickets Required number of melee line of sight tickets to trigger a violation (2)
 antihack.eye_protection 0 = disabled, 1 = distance, 2 = distance + LOS (2)
 antihack.eye_penalty violation penalty to hand out when eye hack is detected (0)
 antihack.debuglevel 0 = silent, 1 = print max violation, 2 = print every violation (1)
 batching.colliders *EXPERIMENTAL* Rust batches colliders to get around the maximum collider limit. To improve server performance you can unbatch (batching.colliders 0) colliders until they reach 250k. (True)
 batching.collider_vertices no description (10000)
 batching.collider_submeshes no description (1)
 batching.verbose no description (0)
 chat.enabled Enable or disable chat displaying (True)
 chat.serverlog Enable or disable chat logging (True)
 construct.frameminutes How many minutes before a placed frame gets destroyed (30)
 craft.instant Enable or disable instant crafting (False)
 debug.checktriggers Debug triggers (False)
 decay.tick Larger amount increases the applied decay damage to entity. (600)
 decay.scale 1 = normal decay, 0,5 = 50%, 0 = turn decay off (1)
 decay.debug Debugmode (False)
 env.time Shows in-game time. If value declared, will change the server time (values: 0 - 24)
 env.day Displays the day of the month. Pointless to change this value (12)
 env.month Displays the month. Pointless to change this value (6)
 env.year Displays the year. Pointless to change this value (2024)
 fps.limit The maximum number of frames to render per second (256)
 gc.interval Changes the interval between garbage collects. (-1)
 heli.lifetimeminutes The amount of time the helicopter is allowed to stay in minutes. (15)
 heli.guns Enables / disables the helicopters minigun. If set to 0, the helicopter will shoot rockets only. (1)
 heli.bulletdamagescale Changes the bullet damage of the helicopter. Higher value = more damage (1)
 heli.bulletaccuracy Changes the accuracy of the bullets. Higher value = less accuracy (2)
 net.visdebug Turns on debug display of network visibility (False)
 physics.droppedmode The physics mode that dropped items and corpses should use. good, tempgood or fast. fast + tempgood might cause objects to fall through other objects. (good)
 physics.sendeffects Send effects to clients when physics objects collide (True)
 physics.bouncethreshold no description (2)
 physics.sleepthreshold no description (0.005)
 physics.solveriterationcount The default solver iteration count permitted for any rigid bodies (default 7). Must be positive (3)
 physics.steps The amount of physics steps per second (16)
 pool.skins no description (False)
 sentry.targetall Target everyone regardless of authorization (False)
 sentry.hostileduration How long until something is considered hostile after it attacked (120)
 server.ip Sets the IP of the server. Should be stated in the startup parameters
 server.port Sets the IP of the server. Should be stated in the startup parameters
 server.maxplayers Changes the maximum amount of player slots.
 server.hostname Sets the Servername. example: server.hostname "My Rust Server"
 server.identity Changes path to your server data. (my_server_identity)
 server.level Sets the map of the server (Procedural Map) values: Barren, Craggy Island, Hapis, Savas Island
 server.seed Sets the the map generation seed.
 server.salt Prints the server.salt
 server.worldsize Changes the map size (3000). values: 1000 - 6000. 3000 equals 9km². (3000m^2)
 server.saveinterval Interval between the server saves the map. (300)
 server.secure Enables / disables Valve Anti Cheat security. (True)
 server.tickrate Changes the server tickrate. Going higher than 30 is not recommended. (30)
 server.entityrate Tickrate. Recommended to leave it at 16. (16)
 server.cycletime no description (500)
 server.official Only whitelisted server by Facepunch can use this command (False)
 server.globalchat If set to false, only people within voice range can read each others messages. (True)
 server.stability If set to false, building blocks will have 100% stability no matter how high you build. (True)
 server.radiation Disables / enables server radioation (True)
 server.itemdespawn Time until an item despawn (180)
 server.pve Enables / disables PvE mode (False)
 server.description Command used to write a server description. Make \n to make a new line
 server.headerimage Sets the serverbanner - picture must be 500x256
 server.logoimage Sets the servers logo image - Image is shown in the server browser and rust+ app
 server.url Sets the server 'Webpage'
 server.branch no description ()
 server.eac Enables / disables Easy Anti Cheat (1)
 server.queriespersecond no description (2000)
 server.ipqueriespermin no description (30)
 server.meleedamage Changes the melee damage in percent - 1 = 100, 0.5 = 50%, 0 = 0% (1)
 server.arrowdamage Changes the arrow damage in percent - 1 = 100, 0.5 = 50%, 0 = 0% (1)
 server.bulletdamage Changes the bullet damage in percent - 1 = 100, 0.5 = 50%, 0 = 0% (1)
 server.bleedingdamage Changes the bleeding damage in percent - 1 = 100, 0.5 = 50%, 0 = 0% (1)
 server.meleearmor Changes the scale of protection against melee damage from clothing and armor in percent - 1 = 100, 0.5 = 50%, 0 = 0% (1)
 server.arrowarmor Changes the scale of protection against arrow damage from clothing and armor in percent - 1 = 100, 0.5 = 50%, 0 = 0% (1)
 server.bulletarmor Changes the scale of protection against bullet damage from clothing and armor in percent - 1 = 100, 0.5 = 50%, 0 = 0% (1)
 server.bleedingarmor Changes the scale of protection against bleeding damage from clothing and armor in percent - 1 = 100, 0.5 = 50%, 0 = 0% (1)
 server.updatebatch How many entity updates should we send per loop. Setting this > 1000 might cause lag when a player first joins your server. (128)
 server.planttick Plants tick every x seconds. This is how many seconds between ticks. (60)
 server.planttickscale Setting this to 2 will make plants grow, fruit and die two times faster than normal. (1)
 server.respawnresetrange Distance from sleeping bag to reset other sleeping bags/beds. (50)
 server.maxunack Max amount of unacknowledged messages before we assume we're congested (4)
 server.maxflood Max amount of ticks to receive per second before we assume a client is flooding us (1000)
 server.netcache Use network caching (True)
 server.netcachesize Informational, the size of the network cache (in bytes) (2214666)
 server.savecachesize Informational, the size of the save cache (in bytes) (2264944)
 server.combatlogsize The size of the combat log (100)
 server.idlekick Number of minutes until idle players are kicked (30)
 server.idlekickmode 0 = no idle kick, 1 = kick if server full, 2 = always kick (1)
 server.idlekickadmins 1 = admins can get idle kicked (0)
 server.maxreceivetime no description (20)
 server.compression no description (False)
 server.netlog no description (False)
 spawn.min_rate no description (0,2)
 spawn.max_rate no description (2)
 spawn.min_density no description (0,2)
 spawn.max_density no description (2)
 stability.verbose no description (0)
 stability.strikes no description (10)
 stability.collapse no description (0.05)
 stability.accuracy no description (0.001)
 time.fixeddelta Fixed delta time in seconds (0.0625)
 time.maxdelta The minimum amount of times to tick per frame (0.33)
 vis.damage Turns on debug display of damages (False)
 vis.attack Turns on debug display of attacks (False)
 vis.protection Turns on debug display of protection (False)
 vis.weakspots Turns on debug display of weakspots (False)
 vis.triggers Show trigger entries (False)
 vis.hitboxes Turns on debug display of hitboxes (False)
 vis.lineofsight Turns on debug display of line of sight checks (False)
 xmas.enabled no description (True)
 xmas.spawnrange no description (50)
 xmas.giftsperplayer no description (2)
 rcon.print If true, rcon commands etc will be printed in the console (False)
 find Search for a command
 status Print out currently connected clients
 stats Print out stats of currently connected clients
 kick Kicks a player from the server. usage: kick {playername} {reason} example: kick Frank "stop crying"
 kickall Kicks everyone from the server.
 ban Permanently bans a player from the server. usage: ban {playername} {reason} example: ban Frank "stop crying"
 moderatorid ( void ) no description
 ownerid ( void ) no description
 removemoderator ( void ) no description
 removeowner ( void ) no description
 banid ( void ) no description
 unban ( void ) no description
 players Print out currently connected clients etc
 say Sends a message in chat
 users Show user info for players on server.
 banlist List of banned users (sourceds compat)
 banlistex List of banned users - shows reasons and usernames
 listid List of banned users, by ID (sourceds compat)
 mutevoice no description
 unmutevoice no description
 mutechat no description
 unmutechat no description
 playerlist Get a list of players
 bans List of banned users
 serverinfo Get a list of information about the server
 batching.refresh_colliders no description
 batching.status no description
 chat.tail Return the last x lines of the console. Default is 200
 chat.search Search the console for a particular string
 console.tail Return the last x lines of the console. Default is 200
 console.search Search the console for a particular string
 data.export no description
 flushgroup Takes you in and out of your current network group, causing you to delete and then download all entities in your PVS again
 breakheld Break the current held object
 breakitem Break all the items in your inventory whose name match the passed string
 hurt Damage yourself
 entity.debug_toggle no description
 entity.nudge no description
 entity.create Create entities, you must be playing in the server, use F1 to open console. Example entity list: http://text-share.com/view/43244684
 env.addtime Add (in hours) time to spawn choppers / airdrops without changing the server in-game time
 gc.collect no description
 gc.unload no description
 global.restart Restart the server - with x seconds warning. If no seconds given, server restarts after 5 minutes. (300 seconds)
 global.quit Stops the server and closes the command prompt.
 global.report no description
 global.objects no description
 global.textures no description
 global.colliders no description
 global.error no description
 global.queue no description
 global.sleep no description
 global.injure no description
 global.spectate no description
 global.teleport no description
 global.teleport2me no description
 global.teleportany no description
 global.teleportpos no description
 global.cleanup no description
 global.version no description
 global.sysinfo no description
 global.breakitem no description
 heli.drop Spawns a helicopter at a specific players posititon (heli.drop <steamid 64 bit, steam name>)
 heli.calltome Forces a helicopter to spawn off map and fly to your position
 heli.call Calls in a helicopter to roam the map like normal
 heli.strafe Forces helicopter to target a specific player (heli.strafe <steamid 64 bit, steam name>)
 hierarchy.ls no description
 hierarchy.cd no description
 hierarchy.del no description
 inventory.give no description
 inventory.giveall no description
 inventory.giveto no description
 inventory.giveid no description
 inventory.givearm no description
 pool.print_memory no description
 pool.print_prefabs no description
 pool.print_assets no description
 pool.clear_memory no description
 pool.clear_prefabs no description
 pool.clear_assets no description
 server.stop Stops the server
 server.backup Backup server folder
 server.writecfg Writes config files
 server.fps Prints current server fps
 server.save Force save the current game
 server.readcfg no description
 spawn.fill_populations no description
 spawn.fill_groups no description
 spawn.report Prints some information about entities already spawned on the server
 weather.clouds no description
 weather.fog no description
 weather.wind no description
 weather.rain Modify rain intensity, values between 0-100 (auto)
 xmas.refill no description
 global.dump no description
==== Ban list ====
Banned users will be stored in cfg/bans.cfg.
== Cross Platform Resources ==
===AMP [Commercial Software]===
AMP (Application Management Panel) is a simple to use and easy to install control panel and management system for hosting game servers. It runs on both Windows and Linux and requires no command line knowledge to get started. Everything is managed via its web interface. Most of Rust's settings are accessible via AMPs friendly web interface so you don't have to mess around with configuration files or command line flags (Unless you want to, it won't stop you if you need to do anything custom!)
====Features====
* Simple, automated installer that requires very little admin knowledge.
* Responsive interface to access your servers from your mobile device.
* Friendly, straightforward web interface with a built in tutorial to help you get started.
* Live console and player lists to interact with your server and players.
* Advanced scheduler to automate tasks such as backups, broadcast messages, restarts or wipes.
* S3 Support for offloading backups and cloud storage.
* Event-driven scheduler which can respond to in-game events. For example, sending a discord message when someone joins the server.
* Automated installation and updates with the click of a button.
* High level of security, supporting Authenticator apps, as well as fingerprint scanners and other security devices.
* Built in SFTP server and web-based file manager to easily manage files and configurations.
* CPU and RAM resource limit controls via Docker (optional)
* Automatic firewall management (optional)
====OS Support====
* Windows 10/Server 2016 or Newer (64-bit only)
* Debian 10/CentOS 8/Rocky 8 or Newer (64-bit only)
* Most other modern Debian/RHEL/Arch Linux distributions
====Links====
Main Site: https://cubecoders.com/AMP
Support: https://support.cubecoders.com/
=== GameAP ===
GameAP is open-source game servers management panel. Easy to install and use.
The panel offers comprehensive support for servers running the Rust game, encompassing management of players.
====Features====
* Start/Stop/Restart server
* Install, Update game server (SteamCMD and repositories)
* Console, Player management (kick, ban, messages)
* File management
* Tasks scheduler
====OS Support====
* Windows 10/Server 2016 or Newer (x86, AMD64, ARM)
* Debian 10/Ubuntu 18/CentOS 8/Rocky 8 or Newer
* Most other modern Debian/RHEL/Arch Linux distributions
====Links====
Main Site: https://gameap.com
Documentation: https://docs.gameap.com/en/tutorials/rust.html
GitHub: https://github.com/gameap
== Linux Scripts Resources ==
===LinuxGSM Rust Server===
right|thumb|370px|Linux Game Server Managers
LinuxGSM is the command line tool for quick, simple deployment and management of dedicated game server, using SteamCMD.
====Features====
* Backup
* Console
* Details
* Installer (SteamCMD)
* Monitor
* Alerts (Email, Pushbullet)
* Update (SteamCMD)
* Start/Stop/Restart server
====Supported Servers====
There are now 70+ different game servers supported and rising. For a full list visit the website.
====Links====
Website: https://linuxgsm.com/lgsm/rustserver/
GitHub Repo: https://github.com/GameServerManagers/LinuxGSM
== Windows Resources ==
=== Rust Server Manager [PAID] ===
Rust Server Manager is a premium tool to help you create and manage your dedicated Rust Servers. It provides you with all the tools that you need to set up and manage your rust server.
Features
* Graphical Config Editor with more server options.
* Server Installer (Multi Branch support).
* Server Updater (Update your server manually or automatically).
* Server Verify (Verify your server files if you think something is missing).
* Wipe Manager (Wipe your server along with the chosen data to wipe).
* uMod / Oxide support.
* Full uMod / Oxide Control (Config editor, plugin editor, plugin config editor).
* Plugin Updater.
* Joining List - Get and manage a list of player joining your server.
* Queued List - Get and manage players in queue to join your server.
* Player Manager - Manage online and offline players
* The list of features are too long to add here but there is a (probably outdated) list on the website: https://rustservermanager.com/
Compatible With:
* Windows 10, 8.1, 8 and 7.
* Windows Server 2016, 2012 and 2008. (2008 untested)
Buy Here: https://rustservermanager.com/
=== Other ===
Facepunch's online rcon client
* https://facepunch.github.io/webrcon/#/home
Category:Dedicated Server