在腾讯云上搭建小游戏服务器,没有一套“万能”的固定端口列表,具体配置完全取决于你选择的游戏类型(如 WebSocket、UDP 同步、TCP 长连接)以及技术栈。
不过,我可以为你梳理出通用的核心端口需求、安全组配置策略以及必要的权限说明,帮助你快速完成部署。
1. 核心端口需求分析
你需要根据游戏协议选择开放对应的端口:
A. 管理控制端口(必选)
无论什么类型的游戏,都需要通过 SSH 或 RDP 远程登录服务器进行维护。
- SSH (Linux):
22(默认) - RDP (Windows):
3389(默认) - 建议:为了安全,强烈建议在腾讯云控制台将默认端口修改为非标准端口(如
2222),或在安全组中仅允许你自己的办公 IP 访问。
B. 游戏业务端口(视协议而定)
这是玩家连接游戏的入口,必须与你的代码中监听端口一致。
| 游戏类型 | 常用协议 | 推荐端口范围 | 说明 |
|---|---|---|---|
| HTTP/HTTPS API | TCP | 80, 443 |
用于用户登录、排行榜、支付回调等非实时逻辑。 |
| WebSocket | TCP | 80 / 443 (推荐)8080 – 9000 (自定义) |
现代网页小游戏首选。强烈建议使用 443 (WSS),可穿透防火墙且无需额外配置。 |
| 实时对战 (FPS/MOBA) | UDP | 自定义 (如 7777, 20000) |
需要低延迟,通常使用 UDP 协议。需在安全组同时开启 UDP 和 TCP 对应端口。 |
| 即时通讯/聊天 | TCP/UDP | 自定义 |
视具体框架(如 Netty, KCP, Photon)而定。 |
| 数据库/缓存 | TCP | 3306 (MySQL), 6379 (Redis) |
注意:除非你在同一台机器上运行 DB,否则不要对公网开放这些端口!应通过内网互通。 |
2. 腾讯云安全组(Security Group)配置策略
在腾讯云 CVM(云服务器)控制台,安全组是唯一的网络防火墙。你需要遵循“最小权限原则”配置规则:
入方向规则(Inbound)示例
假设你的游戏主要使用 WebSocket (443) 和 HTTP (80),并需要 SSH 维护:
| 协议类型 | 端口范围 | 授权对象 | 操作 | 备注 |
|---|---|---|---|---|
| TCP | 22 | 0.0.0.0/0 (或指定 IP) |
允许 | 仅允许维护,生产环境建议改为指定 IP |
| TCP | 80 | 0.0.0.0/0 |
允许 | Web 服务/API |
| TCP | 443 | 0.0.0.0/0 |
允许 | WSS 加密通信 (推荐) |
| UDP | 自定义 (如 7777) | 0.0.0.0/0 |
允许 | 若使用 UDP 协议传输数据 |
| TCP | 自定义 (如 7777) | 0.0.0.0/0 |
允许 | 部分游戏框架需 TCP 建立握手 |
关键提示:
- 不要直接开放
0.0.0.0/0到所有端口。- 如果游戏包含数据库,数据库端口严禁对公网开放,应仅在安全组内设置“同地域同 VPC"的互访规则,或通过 NAT 网关访问。
3. 系统内部权限与防火墙
除了云平台的“安全组”,服务器操作系统内部也有防火墙,需确保放行:
-
Linux (CentOS/Ubuntu):
- 检查
firewalld或ufw状态。 - 如果是 Ubuntu,通常执行:
sudo ufw allow <端口>/tcp。 - 如果是 CentOS,通常执行:
firewall-cmd --permanent --add-port=<端口>/tcp然后重载。 - SELinux: 如果开启了 SELinux,可能需要配置上下文允许特定端口(如
semanage port -a -t http_port_t -p tcp 8080)。
- 检查
-
Windows Server:
- 打开“高级安全 Windows Defender 防火墙”。
- 新建“入站规则”,选择“端口”,输入游戏端口号,设置为“允许连接”。
4. 特殊场景建议
场景一:使用腾讯云轻量应用服务器 (Lighthouse)
如果你使用的是轻量应用服务器,它自带“防火墙”功能,配置逻辑与 CVM 的安全组类似,但界面更简化。同样需要在“防火墙”标签页添加规则。
场景二:高并发与防 DDoS
小游戏容易受到攻击。
- DDoS 防护:基础版免费防护通常为 5Gbps。如果流量较大,建议购买腾讯云 DDoS 高防 IP 或 云盾·大禹 服务。
- CDN 提速:对于静态资源(图片、JS、CSS),务必配合 CDN,减少服务器带宽压力。
场景三:域名解析
游戏客户端通常不直接使用 IP 连接,而是通过域名。
- 在腾讯云 DNSPod 或控制台添加 A 记录,将
game.yourdomain.com指向服务器公网 IP。 - 如果使用 HTTPS/WSS,必须在服务器上申请 SSL 证书(可使用腾讯云免费证书服务)。
总结清单
在启动服务器前,请核对以下清单:
- [ ] 确定业务端口:确认代码监听的端口(如 443, 8080, 7777)。
- [ ] 配置安全组:
- 开放
22(SSH) -> 限制为个人 IP。 - 开放
80/443(HTTP/WSS) -> 开放给全网 (0.0.0.0/0)。 - 开放游戏专用 UDP/TCP 端口 -> 开放给全网。
- 关闭 数据库端口 (
3306,6379) 的公网访问。
- 开放
- [ ] 配置系统防火墙:确保 Linux
ufw/firewalld或 Windows 防火墙已放行上述端口。 - [ ] 域名与证书:绑定域名,配置 SSL 证书(若使用 WSS)。
- [ ] 测试连通性:使用
telnet <IP> <端口>或nc -vz <IP> <端口>从外部测试端口是否通畅。
如果你能提供具体的游戏开发框架(如 Unity, Cocos, Node.js, Go)或网络协议(TCP/UDP),我可以给出更精确的端口建议。
ECLOUD博客