Rust Dedicated Server

From Valve Developer Community
< Zh
Jump to navigation Jump to search
Info icon
This page documents information about a third-party game or which is distributed on Steam but is not related to Valve's games, engines, or Wikipedia icon intellectual property. Nonetheless, it has existed on this wiki for a long time, and is being kept in the meantime due to having a significant amount of information.
English (en)中文 (zh)Translate (Translate)

以下安装介绍只支持正版新版服务端的安装,旧版已于2016年10月移除。 (8 December 2016)

译者前言

本译文结构和内容较原文有所改善,以便照顾国人阅读习惯。如果你认为有应当补充的内容,请直接进行修改,并在结尾留下你的名字。请尊重他人的工作成果,感谢做出贡献的人!

下载、设置与运行服务器

下载服务器的方式有两种,我们推荐你使用第一种,因为它更简单。两种方式的效果是完全相同的。

方式一:使用脚本一键完成下载

方式二:使用steamcmd手动下载

  • 下载 SteamCMD(en)
  • 运行 SteamCMD
    • 等待它自动于当前目录下载所需文件,显示Loading Steam API...OK后进行下一步。
    • 您可以使用steam账户进行登录,也可以使用公共账户登录,请输入指令:Log in with a Steam account or anonymously: login anonymous or username
    • 选择安装文件夹:force_install_dir PATH:\SteamCMD\rust_server\
    • 运行: app_update 258550 validate来下载服务端数据。

设置 & 运行

您可以启动参数./RustDedicated -batchmode (适用Linux系统) 或 rust_server.exe -batchmode (适用Windows系统)来运行服务器

可选启动参数

启动参数如下:

参数 默认设置 功能描述
+server.ip 0.0.0.0 设置服务器的IP地址,除非你有多个IP地址,否则请保持0.0.0.0。
+server.port 28015 设置服务器的端口号,默认为28015。
+rcon.ip 0.0.0.0 设置RCON连接IP。
+rcon.port 28016 设置RCON端口。
+rcon.web 0 如果设置为1,就是使用新的websocket rcon连接方式。如果设置为0,就是使用传统rcon连接方式。
+server.tickrate 10 服务器刷新频率,不建议设置为30以上。
+server.hostname "Your Server Name" 服务器的名称。
+server.identity "my_server_identity" 设置服务器数据文件夹的名称,默认路径为server/my_server_identity,对于同时运行多个服务器很有帮助。
+server.maxplayers 50 最大玩家数量。
+server.worldsize 3000 设置地图大小,最小1000,最大6000。(译者注:原文此处是8000,但实际游戏中最大已经改为6000)
+server.seed 50000 地图种子代码。
+server.saveinterval 600 服务器自动保存间隔,单位是秒。
+rcon.password "YourPassword" 设置RCON的密码。
-logfile gamelog.txt 设置日志文件名称,如果你使用脚本来运行服务器,最好以当前日期来命名,因为每次重启服务器它都会清除默认文件名的日志。
-silent-crashes - 不显示崩溃窗口,如果你希望服务器在崩溃后自动重启,这个功能会很有用。

举例:

-batchmode +server.ip 0.0.0.0 +server.port 28015 +server.tickrate 10 +server.hostname "你的服务器名" +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 "你的rcon密码" -logfile logfilename.log"

RCON

要使用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.cfg里,然后重启服务器,或使用RCON来输入它们。

如果你希望这些参数是永久性的,那么使用指令server.writecfg来保存它。

最后更新日期:2017年3月10日。

> 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

封禁名单

封禁的用户名单存储于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]

专用服务器