跳转至

OOBrowser

OOBrowser 黑猫与地球仪品牌横幅

OOBrowser 是喵托邦(Meowopia)的受控网页表面插件项目,归入附属(Extensions)。它计划让服务器在明确的访问策略下提供网页窗口,而不是让玩家任意访问网址或执行浏览器脚本。该分类不改变插件的独立版本与依赖关系。

OOBrowser 为闭源专有产品,保留所有权利;源码仅向授权维护者开放。历史版本与第三方组件继续适用各自许可证。

当前状态

尚未发布,暂无正式可下载包。 当前开发版本为 0.1.0-SNAPSHOT,功能开发冻结。仓库中的源码、配置模板和本地测试,不代表已完成正式服务器或玩家使用验收。

已实现功能 / Implemented

暂无正式版;以下仅为 0.1.0-SNAPSHOT 开发版实现。 尚不能据此用于正式服或承诺玩家实际可用。

开发版已有能力 必要条件与验证范围
状态、作者与联系信息查询 需要 OOCore、插件成功启用和命令注册,以及 oo.browser.use 权限;已有处理器与本地测试,未作为正式服务器使用版本发布
默认配置生成与严格校验 开发启用流程进入配置阶段时生成配置;加载、失败重载保留有效配置已有本地验证,不等于整次服务器启动成功
可选 OOConsole 只读诊断 需要可用且兼容的 OOCore、OOConsole 接入;只读贡献及关闭清理已有本地验证,不提供写操作
受控网络访问与连接关闭处理 网络限制、连接及生命周期已有本地测试;这是浏览器的基础工作,不提供可供玩家使用的网页渲染

未实现功能 / Not implemented

  • 未交付: 游戏内 Chromium/MCEF 渲染、WebGUI 兼容及网页地图显示;玩家目前不能通过 OOBrowser 浏览网页或播放网页视频。
  • 接入未完成: 玩家网页窗口的打开、更新、关闭与交互;可选窗口依赖存在也不会自动启用这些能力。
  • 部分实现: OOConsole 只读信息已有开发实现,策略写入仍禁用,不能通过界面修改浏览器策略。
  • 尚未验收: 面向服主的正式安装、实际玩家使用与完整平台兼容;配置默认保持后端禁用,不能把改配置当作安装浏览器。

安装 Chrome、Edge 或 Firefox 不会启用本插件的游戏内浏览器。当前不提供 IE 或其他系统浏览器的游戏内嵌入能力,也不承诺现有网页兼容性。

未来计划 / Roadmap

以下仅保留已批准的方向,功能开发仍冻结,无日期或版本承诺;恢复工作须另行安排。

  • 在正式窗口接口及客户端能力通过接入验证后,推进受控 Chromium/MCEF 后端,并评估既定 WebGUI 与网页地图兼容范围;低能力客户端应明确提示不可用,不绕过访问策略。
  • 在可信的操作授权与审计接入完成后,为 OOConsole 提供受限策略配置,保留现有只读降级路径。
  • 在正式媒体接口与资源策略允许的条件下,评估将明确批准的视频资源交给统一视频能力,不另建通用视频播放协议。

安装与前置

目前没有面向服主的正式安装包,请勿将源码、配置示例或不明来源构建当作正式插件安装

当前插件声明硬依赖 OOCore,OOEngine 与 OOConsole 为可选接入。这里不锁定未经正式发布验证的版本组合;未来应以正式版本说明确定兼容前置。安装可选插件并不会解锁尚未交付的网页窗口。

若获授权参与开发构建验证,应只在独立测试服务器中操作:备份数据,将获授权的 OOBrowser 插件 JAR 与所需 OOCore 放入服务器的 plugins/ 目录,完整重启,并检查启用日志。此流程不构成生产可用或 Paper/Folia 兼容承诺。目前不提供客户端浏览器组件的正式安装步骤。

命令

以下仅为未发布开发版参考,不是正式可安装版本的命令承诺。 插件必须先成功启用并完成命令注册。/oo 由 OOCore 提供,OOBrowser 没有独立根命令。

完整语法 参数与默认值 用途 精确权限 执行者限制 最小示例
/oo browser 无参数,默认 status 查询状态 oo.browser.use 玩家、控制台均可进入处理器,仍须通过宿主权限检查 /oo browser
/oo browser status status 为子命令,无其他必需参数 提示策略状态与浏览器运行时不可用 oo.browser.use 同上,无玩家 UUID 要求 /oo browser status
/oo browser about about 为子命令,无其他必需参数 显示作者与联系方式 oo.browser.use 同上 /oo browser about
/oo browser info about 的别名 显示同样的作者信息 oo.browser.use 同上 /oo browser info

子命令忽略大小写;当前处理器只读取第一个参数,后续参数被忽略,不构成可用接口。未知子命令返回用法提示。没有打开网页、传入 URL、重载配置或变量查询命令。控制台输入时可省略开头 /

status 当前返回 OOBrowser: policy core ready; Chromium runtime adapters unavailable,这是固定状态提示,不是 live 浏览器健康检查或渲染成功证明。

权限

同样仅供开发版参考:注册信息要求权限,命令处理器还会复验同一权限;控制台不在处理器内获得绕过授权的特例。

精确节点 对应功能 默认授权与 OP / 普通玩家 继承关系
oo.browser.use 上表全部状态、作者信息命令 插件 descriptor 未声明权限默认值,也不自行给 OP 或普通玩家授予权限;最终结果由宿主及服务器权限配置决定,不能承诺普通玩家默认可用或 OP 必定可用 本插件未声明父节点、children 或通配符;不会自行继承 oo.* / oo.browser.*

服主测试时应按所用权限管理工具显式授予或拒绝精确节点,并分别验证玩家与控制台。权限工具自行配置的通配符或用户组继承不属于 OOBrowser 声明的接口。由于没有正式发布的版本组合,此处不将其他版本宿主的默认权限行为视为本插件已验收行为。

变量 / 占位符

当前版本暂无对外变量/占位符。 此处的“当前版本”指未发布开发源码,不代表已有稳定包。

类型 精确写法、含义与示例 作用域 / 可用位置 前置与状态
PlaceholderAPI(PAPI) 无已注册占位符,暂无返回示例 不提供聊天、计分板等 PAPI 使用位置 安装 PlaceholderAPI 不会自动产生 OOBrowser 变量
消息模板 无对外替换语法;命令回复为固定文本 不提供自定义消息变量接口 未交付
UI 绑定 无可供服主使用的已交付变量语法 不提供可用网页窗口绑定位置 窗口不可用,不将内部数据字段当变量
配置替换 无对外插值语法 配置字段按类型读取,不是占位符 保留生成值与结构,不自行填入 %...% 等表达式

配置键、只读诊断字段和构建时的版本替换标记都不是服主可用的变量接口,也不应写入其他插件的占位符配置。

配置 / Configuration

公开正式版本的可配置面尚未交付;开发源码已存在真实配置加载路径。 不再将源码现状描述为“没有 loader”,但也不能据此宣称服主已有可用正式版本。

在开发构建的启用流程到达配置初始化阶段时,会首次生成 plugins/OOBrowser/config.yml 并读取它。文件存在不代表整个插件启用成功。仓库的 examples/config.yml 和 schema 仅供参考;复制示例或 schema 到 plugins/ 根目录不会自动生效,应以获授权构建实际生成的默认配置为准。

配置项 当前默认值与含义
schema-version 1,配置格式版本,不应自行修改
network.allowed-origins [],没有配置允许的站点;不是允许所有网址
network.allow-loopback false,保持关闭
network.connect-timeout-ms / request-timeout-ms 10000 / 30000 毫秒,连接与请求预算
network.max-download-bytes 67108864 字节,即 64 MiB 上限
network.max-concurrent-per-server / max-concurrent-global 2 / 4,并发预算
surface.profile strict,默认严格策略
surface.preferred-backend disabled,保持禁用;修改值不能安装或解锁浏览器
surface.fallback unavailable;配置名称不代表系统浏览器回退已交付
bridge 受限消息参数,保留生成值;不是脚本或命令执行入口
privacy.persist-cookies false,必须保持关闭
privacy.isolate-by-server-uid true,必须保持隔离

当前加载器要求完整字段、严格类型与范围,拒绝未知或重复字段;请保留生成文件的结构及中英注释。不要保存 cookie、token、密码、密钥、命令或本地路径。策略与预算参数的存在不意味着所有参数已经连接到 live 浏览器。

没有公开 reload 命令。开发验证时修改配置应备份后完整重启并检查日志;内部失败重载保留有效快照,不等于冷启动失败后仍能继续运行。

升级与回退

暂无正式版本间的升级流程。开发测试前备份原 JAR 与整个插件数据目录,不要覆盖唯一备份;回退时停止测试服务器并恢复成对的程序和数据。不要将不同开发构建混合为生产环境,也不要据本页推断跨版本数据兼容。

已知问题 / Known issues

  • 游戏内 Chromium/MCEF 渲染、网页打开与交互尚未交付;当前不能用来展示网页地图或播放网页视频。
  • 默认后端禁用,OOConsole 写操作不可用;可选依赖存在也不能解除这些限制。
  • 本地测试不等于实际服务器启动、玩家体验或完整平台兼容验收。
  • 没有正式下载包、生产安装承诺或稳定升级路线。遇到开发构建错误,应保留脱敏日志,不要通过放宽安全配置尝试绕过。

Java 与服务器兼容目标

新增兼容目标,尚未验收,不代表当前开发版已经支持 Java 21。 OOBrowser 仍无正式发布版本。

目标平台 Java 目标 状态
Paper 1.20.5 / 1.20.6、1.21 至 1.21.11 Java 21 计划分平台验证,尚未通过插件实机验收
更早的 Paper 1.20.x Java 21 后续评估,不承诺覆盖
Paper 26.1 及以后 Java 25 保留兼容方向;不能使用 Java 21 运行该服务器线,OOBrowser 本身仍待验收
Folia 按对应平台要求 独立验收,不从 Paper 结果推导支持

以上范围参考 Paper 官方 Java 推荐表,不是本插件已支持版本清单。具体兼容仍取决于前置插件、启动和实际操作验证;不会仅修改版本标记就宣称支持。此次仅兼容盘点与文档更新,不恢复浏览器功能开发,也不改变现有命令、权限、变量及功能状态说明。

MC/Paper/Folia 的跨版本识别与适配统一由 OOCore 提供;OOBrowser 只使用其稳定接口,并验证自身功能。Java 21 兼容仍要求 OOBrowser 及必要依赖采用可加载的构建,不能仅升级 OOCore 就让不兼容的字节码运行。该分工不代表未来所有接口变化都无需调整;尚未验收的平台仍为目标,不是已支持声明。

联系 / Contact

反馈时说明使用的构建、前置插件、操作步骤与脱敏错误日志;不要发送密码、cookie、token 或私钥。