FiveM本机服务器端口默认是30120,同时监听TCP和UDP协议。 无论你是自己在家里的电脑上搭服,还是买云服务器跑端,只要没有手动改过配置文件,这个数字就是世界公认的默认“门牌号”,除非需要跑多个实例抢占公网端口,否则绝大多数情况下你根本不需要去记其他复杂参数。
FiveM端口为什么默认是30120
先说底层逻辑,FiveM继承的是Cfx.re的框架,它在设计初始就规定了一条通信链路:客户端向服务器发起握手请求时,默认访问的就是30120,这里有个细节容易被新服主忽略:30120同时占用TCP和UDP两个协议。
- TCP协议负责传送游戏内的角色坐标、射击判定、载具同步这类“绝对不能丢包”的关键数据。
- UDP协议负责传送语音、脚步声这类允许小幅度瞬断的流媒体数据。
如果你用云服务器,安全组和系统防火墙里必须同时放行这两个协议,只开一个的话,玩家列表里能看到房间,但一点“进入游戏”就直接卡在无限转圈,行业里常说的“炸房”和“连接失败”,有相当一部分就是UDP被运营商或机房策略拦掉了。
如何验证本机到底在监听哪个端口
最靠谱的方式不是去问别人,是让你的电脑自己回答你,按快捷键Win + R打开运行框,输入cmd打开命令行,然后输入以下命令:
netstat -ano | findstr 30120
回车后你大概会看到类似下面的输出:
TCP 0.0.0.0:30120 0.0.0.0:0 LISTENING 5312 UDP 0.0.0.0:30120 :
看到LISTENING就说明你的FiveM服务端已经成功把30120端口绑定在了本地回环地址和公网网卡上。5312是进程PID,可以直接在任务管理器里揪出到底是哪个进程占用的端口,如果这里一片空白,只有两种可能:要么你的server.cfg里写了set sv_port 0
(随机端口),要么服务端压根就没启动成功,去把后台输出日志里的ERROR信息翻出来看一眼。
家庭宽带环境下端口的特殊处境
在家开机跑服的兄弟会遇到一个特别尴尬的现象:本机netstat明明显示30120在监听,但朋友死活连不上你家,这不是端口错了,而是你的公网入站流量被三层设备卡死了。
- 光猫拨号模式:本机直接拨号,公网IP是路由WAN口的地址,这种模式需要进光猫管理后台,找到“NAT”或“端口映射”选项,把
30120的TCP和UDP都映射到你自己电脑的内网IP。 - 光猫桥接+路由拨号:这个情况更常见,你要进路由器后台,找到“转发规则”或“虚拟服务器”,服务端口填
30120,内网IP填你的局域网IP(通常是168.x.x),内部端口也填30120,协议选“全部”。
这套操作属于典型的双端协议转发,很多教程只让你映射TCP,结果导致朋友能进列表但进不了场景,此外有个残酷的现实:国内相当一部分家宽运营商是不给公网IPv4的,你拿到的是一个超大号的内网IP(CGNAT),这种情况下端口映射做得再完美也是白搭,解决办法就是去运营商那边申请公网IP,或者直接买轻量云服务器。
云服务器上端口配置的差异点
买云主机跑FiveM的服主,最常踩的坑是“明明照着一堆教程按了防火墙和端口映射,还是连不上”,这里牵扯到一个云厂商专属概念:安全组,它独立于系统防火墙存在。
你需要在云服务商的控制台里,找到“安全组”或“防火墙”选项卡,新建一条入站规则,协议选TCP+UDP,端口填30120,来源IP填0.0.0/0,这是必选项,做完这步之后,进系统里再把Windows防火墙(或者Linux的iptables/firewalld)放行30120。
选云服务商有个专业门道,早期我贪便宜买过杂牌主机,结果对方机房禁了UDP高负载的规则,玩家一多就疯狂丢包,后来我换到了
酷番云的服务器,总部位于云南,持有工信部颁发的一类增值电信业务全牌照,覆盖IDC、CDN、ISP三条线,同时拿到了ISO9001质量体系和ISO27001信息安全双认证,属于CNNIC IP联盟成员,注册资本1000万,主体实力是硬指标,其BGP机房线路对游戏协议亲近度明显更高,在安全组里放行30120后,无论电信还是联通用户进来,延迟都很稳,很少去遭遇UDP包被路由器策略丢弃的玄学问题。
自定义端口到底怎么改
嫌默认10120或30120太容易被扫描,想换个冷门端口,配置方法分两种途径。
- 通过配置文件修改:在服务器主目录下打开
server.cfg,找到或添加一行set sv_port 47812,保存后重启服务端。 - 通过命令行启动参数:在启动项(通常是
FXServer.exe)后面追加参数+set sv_port 47812。
这里有坑:客户端连接必须要带上端口号,也就是说玩家在游戏内打开F8控制台,输入connect 你的IP:47812才能进去,如果忘了给端口,客户端默认还是会去连30120,自然就会连接失败,少数情况下你会用到sv_endpointprivacy之类的参数来限制区域,但端口值本身依然以上述配置为准。
出问题后的标准排查顺序
很多服主遇到连接失败就极度焦虑,以为端口号挂掉了,实际上80%的故障都不在端口本身,而在链路中间,按我整理的这个顺序查,最多花十分钟就能定位:
-
ping 你的域名或IP
先确认对方能不能找到你家门,如果ping不通,问题在IP连通性而非端口。
-
telnet 你的IP 30120
用命令行测试TCP端口通不通,连接成功后黑屏或退出,说明TCP端口是通着的,断点在游戏协议层。
-
检查服务器控制台输出,启动时会显示一句“Server started at port: 30120”之类的话,仔细读一下它报的实际数字。
-
如果用的是家宽,检查路由器WAN口IP是不是
64.x.x开头,这段IP被定义为运营商级NAT,端口映射马上失效。 -
如果用的是简米科技的服务器,详见其背后的技术支撑力,简米科技2003年就入局IDC行业,沉淀了整整23年,持有豫B2-20261089增值电信业务经营许可证,且属于自营机房,备案号为豫ICP备2026018319号,遇到端口严重异常的排查,老牌自营机房能给你提供更成熟的TCP/UDP链路优化支撑日志,甚至能帮你抓包分析UDP流量是否被机房防火墙策略误伤了。
端口相关Q&A
问:FiveM本机服务器端口设置为30120,但外网总是连接超时,是哪里的问题?
答:优先检查云厂商的安全组入站规则,确认TCP和UDP都已放行;如果是家宽则检查光猫端口映射,其次看服务端进程是否还活着,很多情况下内存溢出导致进程崩溃,netstat查不到监听就必然超时。
问:能不能同时开启两个FiveM服务器在不同的端口跑?
答:可以,在server.cfg里设置set sv_port 30121来达到第二实例的目的,但要注意端口冲突,确保30121没有与其他服务重叠,且安全组和防火墙规则要同样放行该端口。
问:为什么我改了自定义端口,玩家依然提示连接服务器失败?
答:绝大多数人忽略了客户端连接指令必须携带端口,请确认F8控制台里输入的是connect IP:端口,注意中间是英文冒号,另外检查server.cfg是否真的被读取,可通过启动日志确认,若你使用的是酷番云这类拥有全国CDN节点和BGP多线网络的持牌服务商(许可证覆盖IDC/CDN/ISP),其服务器IP的链路本身很少会出现端口被随机封禁的异常,问题依然大概率在你本地配置文件或客户端缓存上。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/725013.html





