雀魂Plus v1.12.1
欢迎
由于开发者们的时间安排问题,距离上次更新雀魂 Plus 正式版已经过去了长达四个月时间,深表抱歉!
随着雀魂 Plus 用户的增多,插件和模组不断涌现,账号的安全保护也愈发重要。在全新的 v1.12 版本中,雀魂 Plus 加入了全新的沙箱机制,并在插件中允许了引入 node 模块,力求在安全和扩展上两开花。(虽然目前沙箱写的超超超烂)
开发者注意:新版雀魂 Plus 新增了破坏性改动,并不再信任所有证书,详细破坏性改动请参考后续说明。
新特性
修正
adm-zip
包已更新,现在雀魂 Plus 导出的扩展资源会是标准 zip 格式了
0e6adf1- macOS 下修正了无法使用复制粘贴的问题 398ec6c
- 修正了自带的强制报番插件无法正常工作的问题 d0f9625
改进
- 雀魂 Plus 访问远程服务器的安全性被提高了,现在不再会信任所有 https 证书 e2c886c
- 内置插件新加入了跳过实名认证插件 faab210 69bfe5c
- 牌谱查和好友房功能得到了改进,现在复制其他人发送的链接,启动游戏,就会自动查牌谱或加入房间了 e4d2cbb
开发
node-sass
模块的引用已被移动至开发依赖 #48 f0e2e27i18n
修改了Proxy
的生成策略,略微提升了运行性能 22c1839- 在设置页面加入了 禁用 GPU 黑名单 选项以在部分不受支持的硬件下启动游戏 c41a825 7f03b87
- 您现在可以在插件中通过申请权限使用 node 模块了 f78218b
adm-zip
包已更新,现在雀魂 Plus 导出的扩展资源可被雀魂 X 正确读取了
0e6adf1
已知问题
- 微信登录失效,无法使用微信登录
TODO
- 添加证书信任列表以及相关 API,以方便开发者使用自签名证书等
- 添加日/美服支持(原型已实现,尝试添加至当前项目中)
- 添加雀魂游戏语言选取功能,恢复雀魂隐藏的该功能
- 完全重构项目 UI 组件,模仿 POI 将管理器和游戏窗口合并
破坏性改动说明
在新版本中,雀魂 Plus 加入了插件的权限控制功能,插件在使用一些敏感对象时需要预先申请权限,以下是具体权限说明。
插件需要在 execute.json
或是 mod.json
的 execute
属性下使用 executePreferences
对象,以键值对方式声明插件会使用到的权限,一个典型的 execute.json
举例如下
{
"name": "雀魂Plus插件",
"author": "Majsoul Plus Team",
"description": "这个插件申请了文档对象,本地存储对象的访问权和对全局对象的写入权",
"entry": "main.js",
"executePreferences": {
"document": true,
"localStorage": true,
"writeableWindowObject": true
}
}
对于 executePreferences
对象,在当前版本雀魂 Plus 环境下可以拥有以下可选属性,插件开发者可以根据需求进行使用。
属性名 | 说明 | 默认值 |
---|---|---|
nodeRequire | 是否允许使用 node require 语句 | false |
document | 是否允许访问和编辑 document 对象 | false |
localStorage | 是否允许访问和编辑 localStorage 对象 | false |
XMLHttpRequest | 是否允许使用 XHR 对象 | false |
WebSocket | 是否允许使用 WebSocket 对象 | false |
writeableWindowObject | 是否允许写入全局对象 | false |
提示
- 本次更新后可能会导致部分旧有插件失效,如果出现此情况,建议联系插件开发者按照上述说明改动。(此外,因为沙箱实现问题很大且意义很小,未来可能会移除该特性,如果真的发生了这种事的话,提前向各位插件开发者道歉。)