Rust Dedicated Server

From Valve Developer Community
Jump to: navigation, search

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

Installation

  • 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)
+rcon.ip 0.0.0.0 Sets the RCON IP.
+rcon.port 28016 Port to listen to for RCON.
+rcon.web 0 If set to true, use websocket rcon. If set to false use legacy, source engine rcon.
+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 8000)
+server.seed 50000 Is the map generation seed.
+server.saveinterval 600 Time in seconds for server save.
+rcon.password "YourPassword" Sets the RCON password
-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 - Don’t display a crash dialog. Useful if you wan't the server to restart automatically after a crash.

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: 10th March 2017

> Commands

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 - 8000. 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.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.

Linux Scripts Resources

LGSM rustserver

Linux Game Server Manager

Part of Linux Game Server Managers scripts, rustserver is a command line tool for quick, simple deployment and management of a Rust Linux dedicated server.


Main Features

  • Server installer (SteamCMD).
  • Loads of default start parameters
  • Start/Stop/Restart server.
  • Server console.
  • Server monitoring (including email notification).
  • Server update (SteamCMD).
  • Server backup.
  • Logs management.


Compatibility

The Linux Game Server Manager is tested to work on the following Linux distributions :

  • Debian based distros (Ubuntu, Mint etc.).
  • Redhat based distros (CentOS, Fedora etc.).


Get the script at gameservermanagers.com.

Get more info : Github Wiki.

Get help : LGSM Steam group.

Windows scripting

[This solution requires payment to a 3rd party]

[Free 3rd party program]