《饥荒:联机版》服务器默认端口是10999(游戏数据端口)和10998(主服务器列表端口),配置外网开黑时主要针对这两个UDP/TCP端口做放行。 不少玩家搭好了服务器却搜不到、进不去,十有八九是端口没写对,或者被防火墙/安全组拦了,这篇内容会带你从默认端口、修改方法到冲突排查,把端口这件事彻底理顺。
饥荒联机版服务器端口是多少
首先得明确一点,饥荒联机版(Don’t Starve Together)并不像许多游戏那样“一个端口走天下”,业内专家指出,它由Klei官方提供的Dedicated Server工具驱动,默认监听两个端口。
- 10999端口:这是数据通信主端口,承载玩家与服务器的全部游戏交互数据,劫掠、打怪、拆家都靠它传输,通常使用UDP协议,因为游戏对实时性要求高,丢包重传反而拖累体验。
- 10998端口:这是Steam主服务器列表端口,用于服务器向Steam大厅上报状态,玩家在游戏内“浏览服务器”时能刷出你的房间,靠的就是它,多数情况下使用的是TCP协议,确保握手稳定。
默认端口的分配逻辑
如果你下载的是官方“Don’t Starve Together Dedicated Server”工具,启动后生成的settings.ini文件里,默认配置大概是这样的:
[NETWORK]区块下会有一个server_port = 10999[STEAM]区块下会有一个master_server_port = 10998
核心要点在于:外网玩家连接你的服务器,只会主动访问10999端口。 而10998端口是服务器主动去“找”Steam时使用的,通常不需要玩家端开放,但如果你在同一台机器上运行了多个服务器,就必须把这两个端口区分开,否则会互相“打架”。
端口协议与防火墙的对应关系
配置防火墙或者路由器转发时,别把协议搞混了,请牢记下面的对应关系:
| 端口号 | 默认协议 | 用途说明 |
|---|---|---|
| 10999 | UDP | 游戏内数据传输(玩家移入、物品交互) |
|
10998 | TCP | Steam列表上报与服务器身份验证 |
如果你在云控制台不小心只放行了UDP 10999,而把TCP 10998给忘了,那么服务器虽然本地能启动,但在Steam大厅里就是“隐身”状态,反过来,如果你为了省事把这两个端口全部改成TCP,游戏体验可能会因为UDP流量被强制封装而出现明显的延迟抖动。
饥荒服务器端口怎么设置
对于已经解决“饥荒服务器端口是哪个”这个疑问的玩家,下一步就是动手改配置或者做映射,这里分三种主流场景来说。
修改配置文件指定端口
如果你想避开默认的10999/10998,或者需要在同一台实体机/云主机上跑多个独立世界,就需要手动修改端口,以Windows服务器为例,操作路径如下:
- 找到Dedicated Server的安装目录,进入
bin或mods同级的配置文件夹(通常在My DocumentsKleiDoNotStarveTogether下)。 - 用记事本打开
settings.ini文件,如果你是从零开始,首次启动后会自动生成该文件。 - 在
[NETWORK]区块内新增或修改一行:server_port = 10999。 - 在
[STEAM]区块内新增或修改一行:master_server_port = 10998。 - 保存文件,重启服务器进程。
修改端口后,你必须确保客户端连接时使用的是新端口,在客户端的“服务器”标签页里,如果直连,格式是 IP:端口,11000,搜不到的话,多半是端口没打全。
云服务器安全组与防火墙放行
现在很多玩家选择直接租用云服务器跑饥荒,省去24小时开机的电费,在 简米云 / 酷番云 这类主流平台购机后,除了系统内部的防火墙,控制台里还有一个外层的“安全组”,这个安全组就是虚拟防火墙,端口是否通畅完全由它决定。
- 登录云厂商控制台,找到“轻量应用服务器”或“ECS云服务器”实例。
- 点击“防火墙”或“安全组” -> “添加规则”。
- 应用类型选择“自定义”,端口范围填写
10999/10999,协议选择UDP,授权对象填/0(代表所有IPv4地址可访问)。 - 重复上述步骤,再添加一条
10998/10998,协议选择。
TCP
坑点提示: 许多云服务器预装的系统镜像(如Windows Server或Ubuntu)自带firewalld或ufw,如果你是Linux系统,光在控制台放行还不够,还需在系统内执行命令,以下命令在Ubuntu上尤其常用:
sudo ufw allow 10999/udp sudo ufw allow 10998/tcp sudo ufw reload
如果你直接把server_port改了,例如改成20000,请务必记得把安全组的规则同步改掉,这里就牵扯到“饥荒服务器租用端口设置”的联动问题,只改一边必然导致外网连不上。
解决本地端口被占用问题
有时候你启动服务器,控制台提示“端口绑定失败”,这说明本地某个进程占用了10999或10998,尤其常见于电脑上开了Steam、EPIC或者某些加速器的后台进程。
排查命令很有用,按Win+R输入cmd回车,在命令行中执行:
netstat -ano | findstr 10999
执行后,你会看到类似 UDP :10999 : 12345 的输出,其中末尾的12345就是占用该端口的进程PID,接着执行:
taskkill /pid 12345 /f
但请千万小心,不要误杀系统关键进程,最稳妥的做法是,直接在settings.ini里把端口改成一个高位端口,比如11000,避免与常见软件冲突,这一点行业共识认为,比强行杀掉进程要好得多,因为杀掉的进程很可能是某个网络服务,杀掉会导致系统网络异常。
饥荒服务器端口映射与联机组网实战
如果你是在家庭宽带环境下开服,不涉及云主机,那么你面临的问题是内网穿透或路由器端口映射。
路由器端口转发设置
- 登录路由器管理后台(通常为
或)。 - 找到“转发规则”或“端口映射”功能。
- 添加两条规则:
- 外部端口:
10999-> 内部端口:10999,协议选UDP,IP地址填你电脑的内网IP(`)。 - 外部端口:
10998-> 内部端口:10998,协议选TCP,IP地址同上。
- 外部端口:
特别注意: 如果你家宽带没有公网IP(大内网环境),即使做了端口映射,外网依然连不到,这时候需要借助内网穿透工具(如花生壳、蒲公英),把本地的

10999(UDP)映射到一个公网域名和端口上,玩家连接时,填写的地址就不再是简单的IP,而是穿透工具提供的域名端口。
饥荒服务器端口检查与故障排查问答
这里针对大家最爱问的几个关于端口的问题,做一次集中解答。
问:只开放10999端口行不行?反正游戏数据都是走UDP。
不建议这样操作,虽然10998端口只用于Steam列表广播,但你如果不放行,服务器就无法在“在线大厅”中显示,玩家只能通过“IP直连”方式输入地址才能进,对于大多数在游戏中刷服务器列表找房的玩家来说,没有10998就等同于你的服务器“不存在”。饥荒服务器端口检查的标准流程是同时核对10999与10998。
问:设置端口和玩家卡加载、Mod下载慢有什么关系?
关系很大,饥荒的Mod下载走的是HTTP协议,端口通常是80或443,跟游戏数据端口无关,但你改了server_port和master_server_port,却忘了在云安全组里放行出站规则,那么服务器自己连不上Steam的Mod分发节点,玩家加入时就会一直卡在“正在下载模组”的界面,这里建议你启用云主机的“代理”功能,或者在服务器配置里设置DownloadRegion参数,将其指向你物理距离较近的节点,比如Europe或America,能明显改善下载速度。
问:为什么我设置了端口,但局域网内能连,朋友外网连不上?
这是典型的端口映射未生效,首先检查你本地防火墙是否允许UDP 10999和TCP 10998入站,确认朋友使用的是你的公网IP,而不是局域网IP,你可以在路由器外网状态里查看公网地址,注意不要填错为类似64.x.x的运营商级NAT地址(内网地址),如果公网IP确实存在,但依然连不上,那就是ISP封锁了入站连接,除了拨打电话申请公网IP,别无他法。
搭建稳定的饥荒服务器,本质就是让UDP 10999和TCP 10998这两条管道保持畅通,把所有配置集中在这两个关键的端口上,你的开黑基地就能稳稳运转,排查永远从端口协议是否正确、安全组是否放行这两个点开始,问题往往迎刃而解。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/809803.html


评论列表(2条)
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是端口部分,给了我很多新的思路。感谢分享这么好的内容!
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是端口部分,给了我很多新的思路。感谢分享这么好的内容!