跳到主要内容

WukongMP SDK 0.2.0

· 阅读需 4 分钟
ReadyM 团队
WukongMP 和 OblivionMP 的开发者

在过去的两周里,我们一直在努力将 PvP 模式带到自托管服务器。借助 SDK 版本 0.2.0,这已成为可能。

尽管 SDK 仍处于早期访问阶段,我们很高兴与社区分享它,并看看你们将用它创建出哪些模组!

本版本还对管理员面板进行了全面重新设计,并新增了许多用户请求的功能。

请继续阅读以查看完整的变更列表,以及用于将你的 mod 更新到 SDK 版本 0.2.0迁移指南

不兼容的变更

  • 要连接到运行着 SDK 版本 0.2.0 的服务器,需要启动器版本 0.24.0
  • 基于 SDK 版本 0.2.0 构建的模组也需要将服务器二进制更新到版本 0.2.0,否则旧版本的服务器将无法加载基于 SDK 版本 0.2.0 构建的模组。

SDK 更新

  • PvP 模组现已包含在服务器包中,与合作模组一起,二者均基于 SDK 版本 0.2.0 构建。
  • 基于 RpcClassBase 构建的 RPC 事件处理程序现在可以访问 RunOnMainThread 方法,该方法允许你以安全的方式将回调安排在主线程上执行。这对于需要与游戏世界交互的 RPC 处理程序尤为有用,因为在网络线程中执行此操作可能导致崩溃。
  • 游戏内聊天已重新启用。
  • 与内置聊天相关的 API 方法已从 Local API 移动到新的 Chat API,以实现更好的组织与关注点分离。
  • 两种新的(临时的)API —— PvP APICheats API,在服务器端脚本就绪之前,用于实现自托管的 PvP 模组。一旦实现服务器端脚本,这些 API 将被移除,其功能将改为使用常规的服务器端模组来实现。
  • 其他 API 也获得了新的方法和改进。有关变更的更多详细信息,请查看 API 参考。

Admin 面板更新

  • 面板全面重新设计,布局更清晰,采用现代排版。
  • 终端中的导出按钮会将服务器日志保存为 .txt 文件。
  • 终端现在支持日志过滤。
  • 新建的 Players 选项卡,列出所有已连接到服务器的玩家——显示最近访问日期和总连接次数。
  • 可在面板中管理的 玩家白名单——通过单一开关开启/关闭,定义哪些玩家可以加入。
  • Ban system - 封禁的玩家无法连接服务器。
  • 新建的 Mods 选项卡,列出服务器上当前安装的所有模组。
  • 玩家上的“设为管理员”按钮可授予他们访问管理员面板的权限。
  • “添加管理员”按钮让你通过 ReadyM ID 手动添加管理员。
  • 管理员列表中的“移除管理员”按钮。
  • 新增的粒度权限:管理管理员、管理设置(当前涵盖白名单管理)。
  • 在面板中首次用 PIN 进行授权的用户将被授予超级用户权限——他们始终拥有全部权限,只有另一名超级用户才能将其移除。超级用户权限也可以通过专用按钮手动授予或撤销。
  • Cookie 修复 - Secure 标志现已根据请求是通过 HTTPS 还是 HTTP 自动设置。

接下来是什么?

我们将继续致力于 服务器端模组支持,并重新审视协作模式中的一些已知错误。一旦服务器端模组支持就绪,我们将移除临时的 PvP 和作弊 API,并在 PvP 模组内部实现它们的功能。

WukongMP SDK 的下一步计划将包括 open-sourcing 这些合作模组和 PvP 模组,以便社区向它们学习并为它们的开发做出贡献。

迁移指南

以下是将你的模组更新到 SDK 版本 0.2.0 的快速迁移指南:

  • 将服务器二进制文件更新到版本 0.2.0 - 较旧的服务器版本将无法加载在 SDK 版本 0.2.0 构建的模组。
  • 将你的模组针对新的 SDK 版本 0.2.0 重新构建。你可以下载最新的 mod template,并将你的模组文件复制到那里。确保在你模组文件夹中的 manifest.json 文件的 dependencies 部分指定新的最小 SDK 版本。
  • 如果你的模组与游戏内聊天互动,请确保将代码更新为使用新的聊天 API,而不是本地 API。
  • 如果你的模组使用 RPC 处理程序,考虑使用新的 RunOnMainThread 方法来调度与游戏世界交互的回调,以避免潜在的崩溃。