在本指南中,我们将在 Windows 和 Linux 上下载、安装并配置一个 Rust 游戏服务器。
本指南主要介绍如何搭建一个原版服务器,但会附带链接到其他讲解如何安装模组和插件(如 uMod,原名 Oxide)的指南。
环境要求
- 一台至少有 9 - 10 GB 可用空间的服务器或电脑。
- 一台至少有 8 GB 可用内存的服务器或电脑(具体取决于世界大小、玩家人数等)。
- 你也可以使用这个实用工具,根据服务器的地图大小、玩家人数等来估算所需的内存!
- 具备基本的文件夹和文件操作能力,并知道如何执行命令。
- Windows:使用 PowerShell 和/或命令提示符。
- Linux:通过终端使用 shell 命令。
虽然不是必须的,但强烈建议你在 Windows 或 Linux 上创建一个单独的用户来运行 Rust 服务器,以提高安全性。
下载服务器文件
首先,你需要使用 SteamCMD 下载游戏服务器文件。
我专门写了一篇关于如何下载和使用 SteamCMD 的指南。如果你不知道如何使用它,请在下方阅读该指南。在阅读之前需要注意,Rust 服务器在 Windows 和 Linux 上的应用 ID 均为 258550。
https://moddingcommunity.com/blog/how-to-download-run-steamcmd/
下载服务器完成后,导航到包含以下可执行文件的文件夹或目录。
- Windows:
RustDedicated.exe - Linux:
RustDedicated
启动服务器
到此为止,你应该已经在包含 Rust 服务器可执行文件的文件夹中了。我们首先在系统的 shell 中执行启动命令,然后创建一个脚本来自动启动服务器。
启动命令
在继续之前,我想先分解并解释一下必需的启动命令。这些命令在 Windows 和 Linux 的 Rust 服务器上是通用的。
| Command | Default | Description |
|---|---|---|
server.ip |
0.0.0.0 |
服务器绑定的 IP 地址。使用 0.0.0.0 可绑定到所有 IP 和网络接口(最常见)。 |
server.port |
28015 |
服务器绑定的 UDP 端口。 |
server.tickrate |
10 |
服务器运行的刻率。增加此值将消耗更多资源。如果不确定,请使用 10。 |
server.hostname |
N/A | 用户在服务器浏览器(或通过 A2S 查询)中查找服务器时显示的主机名。 |
server.identity |
N/A | 在 servers/ 文件夹内创建的文件夹名称。该文件夹包含额外的配置文件、地图存档、玩家数据等。 |
server.level |
Procedural Map |
服务器运行的关卡(地图)。 |
server.worldsize |
4000 |
生成新世界时的世界大小。 |
server.seed |
8675309 |
生成新世界时使用的种子。 |
server.maxplayers |
200 |
服务器上同时允许的最大玩家数量。 |
rcon.ip |
0.0.0.0 |
RCON 监听器绑定的 IP。使用 0.0.0.0 可绑定到所有 IP 和网络接口(最常见)。 |
rcon.port |
28016 |
RCON 监听器绑定的 TCP 端口。 |
rcon.password |
N/A | 使用 RCON 所需的密码(请确保它足够安全,且至少为 8 个字符长!)。 |
此外,运行服务器时必须加上 -batchmode 标志。-nographics 标志可确保不会启动图形界面(虽然我认为在大多数情况下这个标志并非必需,但大部分人还是会包含它)。
注意 - 稍后编写主服务器启动命令时,你需要在每个命令前加上 - 或 +(最常见)。
注意 - 使用上面的种子和大小命令生成新世界时,我建议使用像 Rust Maps 这样的网站!
RCON 信息
RCON 用于远程在服务器上执行命令。你需要确保执行 RCON 命令的客户端可以访问其 IP 和 TCP 端口(你可能需要进行端口转发)。
请确保只将 RCON 密码提供给你信任的用户!
Windows
要在 Windows 上启动 Rust 服务器,你需要使用所需的启动命令来执行 RustDedicated.exe 可执行文件。
首先,打开一个终端并切换到 RustDedicated.exe 文件所在的 Rust 服务器文件夹。在文件资源管理器中,你可以直接在主文件夹中右键点击,会弹出一个菜单。点击其中的终端按钮,即可在该文件夹中打开终端。
以下是启动命令的基础部分。
.\RustDedicated.exe -batchmode -nographics
现在我们需要通过为每个命令插入 +<command> <value> 的方式,把上面所需的启动命令附加进去。
这里有一个示例!
.\RustDedicated.exe -batchmode -nographics +server.ip "0.0.0.0" +server.port 28015 +server.tickrate 10 +server.hostname "My Rust Server!" +server.identity "server01" +server.seed 793197 +server.maxplayers 200 +server.worldsize 600 +rcon.ip 0.0.0.0 +rcon.port 28016 +rcon.password "test1234"
根据你的需求修改启动命令的值并执行该命令!
根据服务器的配置、地图种子、世界大小等因素,这可能需要一些时间。
当服务器正式启动后,你会看到类似下面的消息!
SteamServer Initialized
Server startup complete
SteamServer Connected
创建启动脚本(Windows)
为了更方便地启动服务器,让我们创建一个自动启动服务器的 Batch 脚本。
- 使用文本编辑器(如内置的记事本或 VS Code)通过文件资源管理器创建一个新文件,并命名为
start.bat。- 确保该文件与
RustDedicated.exe文件位于同一文件夹中。 - 如果你无法编辑文件扩展名(
.bat),请参考这篇指南!
- 确保该文件与
- 将以下内容粘贴到文件中:
@echo off
setlocal
set RESTART_DELAY=5
:restart
cls
echo Starting Rust server...
echo.
.\RustDedicated.exe -batchmode -nographics ^
+server.ip "0.0.0.0" ^
+server.port 28015 ^
+server.tickrate 10 ^
+server.hostname "My Rust Server!" ^
+server.identity "server01" ^
+server.level "Procedural Map" ^
+server.seed 793197 ^
+server.maxplayers 200 ^
+server.worldsize 600 ^
+rcon.ip 0.0.0.0 ^
+rcon.port 28016 ^
+rcon.password "test1234"
echo.
echo Detected server stop or crash. Restarting in %RESTART_DELAY% seconds...
timeout /t %RESTART_DELAY% /nobreak > nul
goto restart
- 根据需要修改启动命令的值和重启延迟时间。
- 保存文件并退出。
现在双击该 Batch 文件即可启动服务器。此脚本还会自动
Linux
在继续之前,请确保你位于包含 RustDedicated 文件的目录中,并在终端中执行以下命令。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)
在许多 Linux 发行版(包括 Debian 和 Ubuntu)上运行 Rust 服务器之前,现在都需要执行上面的命令。否则,服务器很可能会因为链接器问题而崩溃。
现在,让我们开始启动服务器吧!
要在 Linux 上启动 Rust 服务器,你需要执行 RustDedicated 文件,并附带所需的启动命令。
以下是启动命令的基础部分。
./RustDedicated -batchmode -nographics
接下来,我们需要通过为每个命令插入 +<command> <value> 的方式,把上面说明的所需启动命令附加进去。
这里有一个示例!
./RustDedicated -batchmode -nographics +server.ip "0.0.0.0" +server.port 28015 +server.tickrate 10 +server.hostname "My Rust Server!" +server.identity "server01" +server.seed 793197 +server.maxplayers 200 +server.worldsize 600 +rcon.ip 0.0.0.0 +rcon.port 28016 +rcon.password "test1234"
修改完上面的命令后,你就可以执行它了。这将启动 Rust 服务器。
根据服务器的配置、地图种子、世界大小等因素,这可能需要一些时间。
当服务器正式启动后,你会看到类似下面的消息!
SteamServer Initialized
Server startup complete
SteamServer Connected
注意 - 你也可以通过服务器控制台执行和设置命令。如果你收到了响应,说明服务器已经上线。例如,服务器启动后可以尝试执行 status 命令!
创建启动脚本(Linux)
每次都要复制粘贴我们上面整理好的命令,会变得很烦人且繁琐。
为了简化操作,让我们创建一个用于启动 Rust 服务器的 Bash 脚本。
- 选择一个文本编辑器,比如
nano或vim,创建一个名为start.sh的新文件。- 确保该文件与
RustDedicated可执行文件位于同一目录中。
- 确保该文件与
- 将以下内容粘贴到文件中并进行修改:
#!/bin/bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)
RESTART_DELAY=5
clear
while :
do
echo "Starting Rust server..."
echo
./RustDedicated -batchmode -nographics \
+server.ip "0.0.0.0" \
+server.port 28015 \
+server.tickrate 10 \
+server.hostname "My Rust Server!" \
+server.identity "server01" \
+server.level "Procedural Map" \
+server.seed 793197 \
+server.maxplayers 200 \
+server.worldsize 600 \
+rcon.ip 0.0.0.0 \
+rcon.port 28016 \
+rcon.password "test1234"
echo
echo "Detected server stop or crash. Restarting in ${RESTART_DELAY} seconds..."
sleep $RESTART_DELAY
done
- 根据你的喜好修改启动命令的值和重启延迟时间。
- 保存文件。
- 使用以下命令让该文件对用户可执行:
chmod u+x start.sh
上面的脚本会启动 Rust 服务器,如果服务器崩溃或被关闭,会尝试自动重新启动服务器。
你应该可以使用以下命令来执行它。
./start.sh
使用 Screen
Linux 用户可能会觉得很烦人的一点是,在使用例如 CTRL + C 完全关闭 Rust 服务器之前,你无法在运行该服务器的同一个终端中执行其他命令。
为了解决这个烦恼,我建议安装并使用 screen 命令,大多数 Linux 发行版都可以通过包管理器安装它。
# For Debian/Ubuntu
sudo apt install -y screen
# For CentOS/RHEL
sudo yum install screen
接下来,在执行启动脚本时,在前面加上以下内容。
screen -S <name>
例如:
screen -S rustsrv01 ./start.sh
当你使用 screen 执行命令后,可以按下 CTRL + D 来分离当前的 screen 会话。
要重新连接到该 screen 会话,可以使用以下命令。
# Replace <name> with your session name above (e.g. rustsrv01).
screen -r <name>
你也可以使用以下命令列出所有会话。
screen -ls
想了解更多关于使用 screen 的信息,我建议阅读这篇实用指南!
额外配置
你可以在服务器身份(identity)对应的 cfg 文件夹中创建一个名为 server.cfg 的配置文件,用来设置额外的命令/ConVars。
从 Rust 服务器文件的根目录开始,cfg 文件夹位于以下位置。
.\servers\<identity>\cfg
例如,在本指南中我一直使用 server01 作为服务器身份(identity),所以我会在以下文件夹中创建该文件。
.\servers\server01\cfg
在这个文件中,理论上你也可以设置上面提到的一些启动命令的值,但据我所知,大多数管理员建议通过命令行来设置那些特定命令。和启动命令一样,额外的命令和 ConVars 也可以通过命令行来设置,但我个人认为使用专门的 server.cfg 文件会更简单、更清晰。
例如,如果你想为服务器设置一个 URL,可以在 server.cfg 文件中这样写:
server.url "https://rust.mydomain.com"
现在保存并重启服务器!你可以通过执行 server.url(或你设置的任何命令)来检查该值是否已更改,它应该会打印出新的值。
结语
到目前为止,你应该已经对如何搭建和配置 Rust 服务器有了基本的了解!
运行和管理 Rust 服务器对许多用户来说很有趣,但有时也会非常复杂,尤其是在安装和配置 mod 等内容时。
另请参阅
- Rust - Facepunch
- Rust - Steam
- RAM 计算工具
- Rust Maps - 用于为 Rust 服务器生成世界大小和种子。
- Pterodactyl - 一款用于管理 Rust 等游戏服务器和应用程序的热门面板。
如何安装 uMod
这是我制作的一篇关于如何下载、安装和配置 uMod(Oxide)的指南。
https://moddingcommunity.com/blog/how-to-install-umod-onto-rust-servers/
适用于 Pterodactyl 的 Rust 自动清档工具
我还为 Pterodactyl 制作了一款工具,可以根据 cron 任务自动清档 Rust 服务器。它带有许多功能!
如果你对本指南有任何疑问或反馈,请在其论坛主题这里回复!本指南将会持续更新和完善。
加入我们的 Discord 服务器!

