Rust Dedicated Server: Difference between revisions
UltimateByte (talk | contribs) (Added commands + reorganizing RCON.) |
UltimateByte (talk | contribs) m (corrected link) |
||
Line 294: | Line 294: | ||
Get the script at [http://gameservermanagers.com/lgsm/ | Get the script at [http://gameservermanagers.com/lgsm/rustserver/ gameservermanagers.com]. | ||
Get more info : [https://github.com/dgibbs64/linuxgsm/wiki Github Wiki]. | Get more info : [https://github.com/dgibbs64/linuxgsm/wiki Github Wiki]. |
Revision as of 18:28, 9 March 2016
Attention! The following installation instructions will supply legacy (the main version) as well as the experimental branch's server files when downloading on Windows. Since the legacy server software is Windows only, it will not be included when downloading on Linux, leaving only the experimental server software. More information on this tweet from Garry .
Please note that at this current time, the Rust dedicated server is not being built for linux as part of the regular Rust build process and therefore is unavailable. Please see the issue ticket on Facepunch support.
Dedicated server
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 -beta legacy validate
to download the old legacy Rust Dedicated Server (rust.legacy) - Or Run:
app_update 258550 validate
to download the new alpha version dedicated server (rust.alpha)
- Log in with a Steam account or anonymously:
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
|
IP to listen to |
+server.port
|
28015
|
Port to listen to |
+server.tickrate
|
30
|
Server refresh rate (min acceptable 15, max 100) - Increasing this value increase CPU usage |
+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
|
Max amount of players your server can handle. Max : 500 or more |
+server.wolrdsize
|
4000
|
Defines the size of the map generated (min 2000, max 8000) |
+server.saveinterval
|
600
|
Time in seconds for server save |
+rcon.ip
|
0.0.0.0
|
IP to listen to for RCON |
+rcon.port
|
28016
|
Port to listen to for RCON |
+rcon.password
|
"YourPassword"
|
RCON Password. If you remove it after setting it up, your server won't start. |
-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. |
For example:
-batchmode +server.ip 0.0.0.0 +server.port 28015 +server.tickrate 30 +server.hostname "Your Server Name" +server.identity "your_server_identity" +server.maxplayers 50 +server.worldsize 4000 +server.saveinterval 600 +rcon.ip 0.0.0.0 +rcon.port 28016 +rcon.password "Your_Rcon_Password" -logfile logfilename.log"
Settings
Here is a RAW list of available settings. You can put them either in your server.cfg (then reboot the server), or input them using RCON, then save it using the command
server.writecfg
(If somebody's willing to add descriptions for everything, you're welcome mate !)
> find .
Variables:
ai.think no description (True)
ai.move no description (True)
ai.sensetime no description (1)
ai.frametime no description (5)
ai.tickrate no description (5)
antihack.enabled is antihack enabled at all (True)
antihack.admincheat are admins allowed to use their admin cheat (True)
antihack.objectplacement use antihack to verify object placement by players (True)
antihack.playerdamage use antihack to verify damage caused by players (True)
antihack.userlevel 0 == users, 1 == admins, 2 == developers (2)
antihack.enforcementlevel 0 == no enforcement, 1 == kick, 2 == ban (DISABLED) (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 == raycast, 2 == spherecast (2)
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 (4)
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 (4)
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 (DISABLED) (1)
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 (4)
antihack.flyhack_forgiveness distance threshold to assume flyhacking, lower value = more false positives (2)
antihack.debuglevel 0 == silent, 1 == print max violation, 2 == print every violation (1)
batching.colliders no description (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 no description (True)
construct.frameminutes How many minutes before a placed frame gets destroyed (30)
craft.instant no description (False)
decay.scale no description (0)
decay.debug no description (False)
env.time no description (15.47127 the time in hours)
env.day no description (5)
env.month no description (7)
env.year no description (2024)
fps.limit The maximum number of frames to render per second (256)
gc.interval no description (-1)
global.safemode no description (False)
global.debugmode no description (False)
global.maxthreads no description (8)
global.perf Show frames per second (fps) (0)
global.timewarning no description (False)
global.developer no description (0)
heli.lifetimeminutes no description (15)
heli.guns no description (1)
heli.bulletdamagescale no description (1)
heli.bulletaccuracy no description (2)
net.visdebug Turns on debug display of network visibility (False)
net.log no description (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.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.sounds no description (False)
pool.decals no description (True)
pool.effects no description (True)
pool.skins no description (True)
pool.trees no description (True)
pool.decor no description (True)
sentry.targetall target everyone regardless of authorization (False)
server.ip no description (0.0.0.0)
server.port no description (28015)
server.maxplayers no description (50)
server.hostname no description ([XX] Your Server Name)
server.identity no description (rust-server my_server_identity)
server.level no description (Procedural Map)
server.seed no description (1)
server.salt no description (731364870)
server.worldsize no description (6000)
server.saveinterval no description (300)
server.secure no description (True)
server.tickrate no description (30)
server.entityrate no description (16)
server.official no description (False)
server.globalchat no description (True)
server.stability no description (True)
server.radiation no description (False)
server.itemdespawn no description (180)
server.pve no description (False)
server.description no description (Your Description\nLine2\nLine3\nEtc...)
server.headerimage no description (http://www.yoursite.com/img/rust-banner.png)
server.url no description (http://www.yoursite.com)
server.eac no description (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.netcache Use network caching (True)
server.netcachesize Informational, the size of the network cache (in bytes) (3277638)
server.savecachesize Informational, the size of the save cache (in bytes) (2969138)
server.compression no description (False)
server.netlog no description (False)
spawn.min_rate no description (0.1)
spawn.max_rate no description (1)
spawn.min_density no description (0.1)
spawn.max_density no description (1)
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.triggers Show trigger entries (False)
xmas.enabled no description (True)
xmas.spawnrange no description (50)
xmas.giftsperplayer no description (2)
rcon.port no description (28016)
rcon.ip no description (0.0.0.0)
rcon.web If set to true, use websocket rcon. If set to false use legacy, source engine rcon. (False)
RCON
To use RCON (Remote CONsole), join the server and press F1 to open the console. Then type:
rcon.login <password>
Otherwise, you can use Rusty, a nice remote RCON client (very advised).
When the server is up and running, you can issue the following commands:
command | description |
---|---|
status
|
Outputs the general status of the server. Connected players etc. |
say <stuff>
|
Will speak something into everyone's console. |
find *
|
List all console commands |
rcon.password
|
Set the rcon password for clients to use (using rcon.login <password>) |
kick <username>
|
Kicks a user. Username can be the first few letters of a username, or a steamid. |
ban <username>
|
As above - but just bans the user from the server (doesn’t kick) |
banid <steamid>
|
Bans a userid from the server |
unbanall
|
Unbans everyone from the server |
server.hostname <hostname>
|
Sets the hostname |
server.clienttimeout <int>
|
How long until an unresponsive client times out (default 2 mins) |
server.pvp <bool>
|
Enable/Disable pvp mode (default true) |
sleepers.on <bool>
|
Enable/Disable sleepers (default true) |
quit
|
Quits the server nicely (saving the level and all avatars before leaving) |
Ban list
Banned users will be stored in cfg/bans.cfg
.
Linux Scripts Resources
LGSM rustserver
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]