Unreal 服务器的游戏口
Unreal Engine 专用服务器沿用的游戏流量端口:引擎模板与社区惯例都用 7777/UDP,这不是 IANA 的强制分配,而是项目约定。实际生效值以启动参数与项目配置为准,查询口另算,与游戏口常常不是同一个端口。
基本信息
| 服务 | Unreal Engine dedicated server |
|---|---|
| 协议 | UDP(游戏流量) |
| 默认端口 | 7777,可用 -port 覆盖 |
| 平台 | Windows Server / Linux 专用服务器构建 |
| 暴露面 | 对玩家开放,需流量防护 |
典型使用场景
- 自建 UE 联机服:云主机安全组放 UDP 7777,玩家直连
- 独立服务器压测:只放 UDP,验证上行带宽而非端口连通性
- 同机多实例:端口按 7777、7778 依次顺延并逐个映射
- 与平台集成:区分游戏口与服务器查询口,两处都要放通
- 容器化开服:docker run -p 7777:7777/udp,注意协议别写成 tcp
开服与核对
开服与核对
# 项目配置文件里常见的约定:
# [/Script/Engine.GameNetworkManager]
# GameServerPort=7777
./MyServer.sh -log -port=7777 # 启动参数覆盖端口
ss -lunp | grep 7777 # 只认 UDP 监听排障与核对
| 检查项 | 做法 | 异常表现 |
|---|---|---|
| 监听协议 | ss -lunp | grep 7777 | 只查到 TCP:玩家侧表现为服务器不可达 |
| 生效端口 | 启动参数 + 本机监听对照 | 改了参数名单安全组没同步:新端口没人能连 |
| 查询口 | 平台查询端口配置 | 服务器列表在线但进不去:查询口与游戏口混为一谈 |
| 带宽 | 网卡出方向流量 | 人数上不去但端口正常:单实例上行打满 |
端口可以在项目配置与命令行两处指定,改完用 ss -lunp 复核实际监听值最可靠。同机跑多个实例时端口按 7777、7778 顺延,UDP 不产生 TIME_WAIT,但实例异常退出后残留进程仍会占住端口。
UDP 无握手、源地址可伪造:服务开在公网后,既无法靠连接状态区分正常玩家与伪造包,也难以按连接数做限速,建议配合云厂商流量清洗与速率限制。
端口之外的三个坐标
UE 服务器对外至少涉及三处配置:游戏端口、查询端口、平台侧登记的地址。排查连不上时按这个顺序核对——先在服务器上确认实际监听,再验证防火墙与安全组策略,最后核对平台登记信息,能避免把纯端口问题误判成引擎或代码缺陷。
Linux 专用服务器构建常用 -log 把日志落到 Saved/Logs,开服失败先看这份日志;Windows Server 上还要在系统防火墙放行程序级入站规则,只改云安全组通常不够。