Rust服务器端口号设置的核心就是三步:修改配置、放行防火墙、完成端口转发。如果你自己搭过Rust服务器,大概率碰到过端口相关的问题不是进不去,就是列表里刷不出来,别慌,这篇文章就是专门把这些端口问题拆开揉碎讲清楚,按下面的顺序一步步来,基本都能搞定。
Rust服务器端口怎么改?默认端口和配置文件先搞懂
很多新手一上来就乱改文件,结果越改越乱,其实Rust服务器的端口管理非常机械,只要知道去哪里改、改什么值就够了。
默认端口是多少
Rust服务器默认使用三个端口,各自职责不同:
- 28015:游戏主端口,玩家连接服务器用的,走UDP协议
- 28016:查询端口,用于Steam服务器列表显示服务器信息,同样走UDP
- 28017:RCON管理端口,用于后台远程管理,默认不开启,走TCP协议
这三个端口里,28015和28016是必须开放的,28017看你是否需要远程管理,如果只用服务器本机操作,不开也行。
在server.cfg里修改端口
Rust的端口配置不在启动命令行里,而是写在服务器根目录下的 server.cfg 文件中,操作路径如下:
- 打开Rust服务器目录,找到
server.cfg文件 - 用记事本或Notepad++打开
- 检查是否有以下三行配置,没有就手动添加:
server.port "28015"
server.queryport "28016"
rcon.port "28017"
保存文件,重启服务器让配置生效
这里有个常见误区:很多人只改了server.port,却忘了同步修改server.queryport,结果就是游戏端口能通,但Steam列表里永远刷不出你的服务器。两个端口要同时改,并且不能一样。
Rust服务器端口被占用或连不上?挨个排查这几处
端口改完了,问题往往出在”连不上”上,这种情况通常有三个原因:端口被占、防火墙拦截、路由没转发,下面分开说。
Rust服务器端口被占用怎么解决
如果你启动服务器时提示Address already in use,说明端口被别的进程占了,解决办法很简单找到占用端口的进程,结束它或者换端口。
Windows系统下,打开命令提示符,执行:
netstat -ano | findstr 28015
输出结果最后一列就是进程PID,然后打开任务管理器,找到对应PID的进程,结束任务,如果找不到是哪个程序,可以用:
tasklist | findstr PID号
Linux系统下用:
lsof -i:28015
看到PID后用kill -9 PID结束进程,如果这个端口被系统预留了,最省事的方法就是换一个端口,比如改成28025,配置文件里同步改就行。
防火墙没放行,端口改了也白搭
很多人的服务器是Windows系统,自带防火墙默认会拦截外部连接,你需要手动放行UDP和TCP端口。
Windows防火墙操作路径:
- 打开”高级安全Windows Defender防火墙”
- 点击”入站规则” → “新建规则”
- 选择”端口”,下一步
- 输入要放行的端口号,比如28015-28016
- 选择”允许连接”
- 应用到”域、专用、公用”全部勾选
如果你用的是云服务器,光改系统防火墙还不够,还得去云服务商的控制台,在安全组规则里放行对应端口,很多人忘了这一步,最后才发现是安全组在拦路,业内专家指出,云服务器端口不通的事件中,安全组未放行是最常见的原因。
家里的服务器还要设置路由器转发
如果你是用家里的电脑开服,那么路由器端口转发是绕不开的一步,具体操作:
- 浏览器进入路由器管理后台(通常是192.168.1.1或192.168.0.1)
- 找到”端口转发”或”虚拟服务器”选项
- 添加转发规则:外部端口和内部端口都填28015-28016
- 内部IP地址填你电脑的局域网IP,比如192.168.1.100
- 协议选择UDP,保存并重启路由器
注意:Rust游戏端口走UDP,查询端口也走UDP,但RCON走TCP,如果你要用RCON,记得单独加一条TCP转发规则。
Rust服务器游戏端口和查询端口区别一张表看懂
很多玩家把这两个端口混为一谈,其实它们分工完全不同。
| 端口类型 | 默认端口 | 协议 | 用途 | 不开放的后果 |
|---|---|---|---|---|
| 游戏端口 | 28015 | UDP | 玩家直接连接游戏世界 | 玩家无法进入服务器 |
| 查询端口 | 28016 | UDP | 向Steam列表提供服务器名称、人数、延迟等信息 | 服务器在列表里刷不出来 |
| RCON端口 | 28017 | TCP | 远程执行服务器管理命令 | 无法使用外部管理工具 |
游戏端口不通,玩家会卡在”连接中”然后超时;查询端口不通,服务器在Steam社区列表里显示为”无响应”。 你可以这样记忆:游戏端口管能不能进来,查询端口管能不能看到。
在实际搭建中,查询端口经常被忽略,但它的重要性不亚于游戏端口,玩家在浏览器里的服务器列表靠的就是它,如果查询端口不通,你的服务器就像隐身了一样,再好的内容也没人能看到。
租国服或低价云服务器时,端口怎么选?
租用现成的Rust云服务器是很多人的选择,因为省去自己维护硬件和网络的麻烦,但问题来了不同地域、不同价位的服务器,对端口的限制不一样。
国内Rust服务器对端口有什么特殊要求
国内机房对网络管理比较严格,部分高防机房或云平台会屏蔽某些常用端口,特别是TCP端口,虽然UDP端口通常能正常开放,但建议你在购买前先咨询服务商,确认28015-28016这两个UDP端口能否直接使用。
如果服务商明确表示非备案的端口不能开,你可以考虑用非常规端口,比如把游戏端口改成30015、40015这种高位端口,通常不会被特殊限制,但要注意,改端口后需要在客户端启动参数里加上对应的+connect 地址:端口,玩家体验会略麻烦。
便宜云服务器能不能直接跑默认端口
低价Rust服务器(比如几十元一月的)经常有流量限制或带宽瓶颈,端口本身一般不会做特别限制,但行业共识认为,低价服务器最大的隐患是UDP丢包率,而不是端口问题。
如果你买的便宜机器在香港或海外,连接国内玩家时延迟和丢包可能比较明显,这种情况下,端口的配置反而不是重点,重点是带宽和线路质量,建议在测试时留意一下服务器的实际延迟,如果稳定在80ms以内,端口设置常规化就问题不大。
对了,如果你打算长期运营,建议把服务器端口固定下来,不要频繁更换,因为Steam列表和玩家收藏的服务器地址都会缓存端口信息,一换端口,他们的收藏就失效了,需要重新搜索。
多个Rust服务器同时开,端口怎么分配
一台物理机上开多个Rust服务器是很常见的事,比如分线服、活动服、纯净服,每个服务器都必须使用完全不同的端口组合。
比如你们开三个服:
- 第一个服:游戏端口28015,查询端口28016
- 第二个服:游戏端口28025,查询端口28026
- 第三个服:游戏端口28035,查询端口28036
注意,游戏端口和查询端口不能共用,两个服务器也不能共用同一个游戏端口,每个服务器的启动配置里都要分别写到各自的server.cfg中,然后在启动命令行里通过-cfg参数指向不同配置文件。
例如这样启动第二个服:
RustDedicated.exe -batchmode -server.configfile=server2.cfg
否则默认只加载第一个配置文件,导致多个实例抢同一个端口,谁也起不来。
Q&A:Rust服务器端口常见问题
Rust服务器端口设置完为什么还进不去?
检查三个地方:第一,确认server.cfg里的端口没有被系统防火墙拦截;第二,云服务器的话看安全组是否放行;第三,测试本机能否用0.0.1:28015看到服务器状态,如果本机能通、外网不能,问题基本在路由器转发或云服务商安全组。
Rust服务器端口用TCP还是UDP?
游戏端口和查询端口必须使用UDP协议,RCON管理端口使用TCP协议,玩家连接、服务器列表查询都依赖UDP,把UDP放行阻塞是导致连接失败的最常见原因。
一台服务器要开多个Rust服,端口怎么安排最合理?
每个服务器的游戏端口和查询端口保持间隔10左右的数字即可,比如28015/28016、28025/28026、28035/28036,这样既好记,也能避免端口范围被误封,记得在防火墙里一次性放行这些连续端口段。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/784755.html


