Rust Dedicated Server
以下安装介绍只支持正版新版服务端的安装,旧版已于2016年10月移除。 (8 December 2016)
译者前言
本译文结构和内容较原文有所改善,以便照顾国人阅读习惯。如果你认为有应当补充的内容,请直接进行修改,并在结尾留下你的名字。请尊重他人的工作成果,感谢做出贡献的人!
下载、设置与运行服务器
下载服务器的方式有两种,我们推荐你使用第一种,因为它更简单。两种方式的效果是完全相同的。
方式一:使用脚本一键完成下载
方式二:使用steamcmd手动下载
- 下载 SteamCMD
- windwos系统:https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
- 完成后解压
- 运行 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
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]