SuperAPI AI 工具集

godot-server-architecture

编程与开发

查看项目

更新于 10-15 22:11

技能介绍

本技能面向 Godot 专用/无头多人游戏主机(dedicated / headless multiplayer hosts)的架构搭建,适用于构建权威服务器、使用 --headless 启动的主机,或加固主机网络。

用途:按“主机黄金路径”依次完成无头检测与初始化、不可信封包的安全解码、创建主机对等端(ENet,需要加密 UDP 时叠加 DTLS)、对每个特权 RPC 做权威校验,以及运维层面的踢人、健康遥测和匹配器交接。

主要能力(配套脚本):headless_init_manager.gd 检测/初始化 --headless 或 dedicated_server;safe_packet_decoder.gd 在任何不可信 get_var 之前强制安全解码(禁止对象解码以防 RCE);enet_optimized_host.gd 高性能 ENet UDP 主机;dtls_secure_server.gd 为 ENet UDP 提供 DTLS + X509 加固;server_authority_validator.gd 用 get_remote_sender_id() 为权威请求设闸;peer_kick_manager.gd 优雅踢出并传递原因;server_health_exporter.gd 无头遥测;server_matchmaker_client.gd 负载均衡/匹配器交接;另有 manual_network_poll.gd、isolated_multiplayer_api.gd、websocket_server_compat.gd 等。physics_server_direct.gd 与 rid_performance_server.gd 仅在节点物理无法满足 tick 预算时选用(约每 tick 超 200 个活动刚体或节点物理步骤 CPU 超 70%),≤64 实体的大厅不应加载。

限制与禁止事项:绝不信任客户端,状态、购买与伤害须在权威主机校验;连续流不使用可靠传输,高频变换倾向不可靠;不可信封包绝不用 get_var(true);快节奏动作不用 TCP(HTML5 约束下可用 WebSocket);专用服务器须剥离画面;不要在 connected_to_server 或对等端就绪前期待 RPC;不可假设不可靠封包按序到达;关闭自动轮询后须手动 poll();对等端之间不可混用不兼容的引擎/多人协议版本;主机创建的 RID 必须 free_rid。

大型世界可用 MultiplayerSynchronizer.public_visibility = false 配合可见性过滤器(AABB/网格)做兴趣管理。官方文档与相关技能列表已在来源中提供,具体 API 细节需按需查阅,本资料未提供价格、平台等其它信息。