meta data for this page
📚 差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
reference:dataserver [2024/12/29 05:30] – bibiboxs | reference:dataserver [2025/07/17 19:27] (当前版本) – 移除 bibiboxs | ||
---|---|---|---|
行 1: | 行 1: | ||
- | < | ||
- | # 数据服务器(DataServer) | ||
- | > `DataServer`是《沙盘引擎》服务器附带的**数据服务器(UDP)**,在每次Socket方式的服务器建立时自动开启(Steam服务器方式则不会启动),用于除游戏逻辑通讯外的其他网络交互。 | ||
- | [note3] | ||
- | **==注意:数据服务器已经于V0.74版本开始与主服务器合并,两者共享主服务器端口,不再需要端口+1。==** | ||
- | [/note] | ||
- | |||
- | ## 服务器查询(Query) | ||
- | 当数据服务器正常开启之后,将允许接收来自第三方的UDP数据报,并自动**验证是否为`Gamespy`协议信息**并提交至`World.OnServerQueryReceive()`事件中。 | ||
- | |||
- | 如果开发者希望实现**外部查询服务器信息**的功能,可以使用`Gamespy`的简单查询机制,也就是向服务器发送UDP数据报`\querystats\`,即可接收到当前服务器的最新信息(Json格式)。 | ||
- | |||
- | ## 接受外部UDP数据报 | ||
- | 当数务器正常运行后,除引擎内置的`Gamespy`相关指令外,其他数据内容将提交至`World.OnServerQueryReceive()`事件中,同时服务端也可使用`World.SendSocketData()`方法进行UDP交互。 | ||
- | |||
- | ## 注意事项 | ||
- | - **服务器内置指令(如`\querystats\`)将会被引擎直接处理,不会下发到事件。** | ||
- | - **服务器事件只会接受以`\xxx\`(反斜杠)包围格式的数据信息。** | ||
- | |||
- | |||
- | |||
- | |||
- | </ |