雀魂Plus v2.0.0
前言
经过近一年的测试,雀魂 Plus 2 已经基本稳定,故借国际中文版上线之际发布 2.0.0 的正式版。
雀魂 Plus v2.0 将会是未来的长期维护版本,在雀魂Plus 重写计划完成之前都将持续维护。
版本选择说明
以下仅对 Windows 的版本选择进行解释, 其他平台不存在歧义. 下文中的 ${version}
代表雀魂 Plus 的版本, 如2.0.0
- 32 位 / 64 位 (安装版):
Majsoul_Plus-${version}-win32-Setup.exe
- 64 位 (便携版):
Majsoul_Plus-${version}-win32-x64.zip
- 32 位 (便携版):
Majsoul_Plus-${version}-win32-ia32.zip
注:arm 用户请下载 32 位版。
破坏性更新
- 原“模组”系统更新为“资源包”系统,二者功能有重合之处。不再提供模组的支持。
- 原“插件”系统更新为“扩展”系统,二者功能大致相同,但在代码结构上存在变化。原插件系统将不能识别,请原插件作者尽快更新到当前的扩展系统。
- 原“工具”系统现加入了
electron
沙箱,现在只能调用特定的 API。允许调用的 API 参见 Wiki 对应篇目的介绍。
如果你有无法在现有沙箱条件下实现的工具功能,请通过 issue 手段提出。我们将在评估其安全性后在沙箱中暴露确认安全的接口。 - 修改了部分快捷键的键位, 如开发者工具修改为
F12
/Ctrl+Shift+I
, 具体见菜单 - 对游戏窗口的 UserAgent 进行了覆盖, 现在 is-electron 会判定你不在使用 Electron 了
安全性
- 现在默认启用
asar
打包,这意味着现在你不能以任何形式修改 雀魂 Plus 的源代码了。
值得注意的是,可能有人之前是为了删除 雀魂 Plus 自带的某些 模组 / 插件 / 工具而修改其自带的源码。现在,雀魂 Plus 自带的内容会在第一次启动时复制到用户目录(appData)。在雀魂 Plus 资源管理器的界面内即可删除,不需要修改原目录了。
此举大大增加了雀魂 Plus 的安全性。在破坏性更新中也有这一方面的内容。
新特性
- 强制指定代理服务器,若代理服务器留空则强制直接连接,若填入 system-proxy 则采用系统代理 (#54)
- 一定程度的移动端支持 (#63)
- 多服务器支持 (#65, #67, #92)
- 多开, 现在玩家可以通过多开功能实现多个帐号同时游玩, 快捷键为
Ctrl+Shift+N
. 除第一个窗口之外, 其余的多开窗口标题会显示多开序号, 并且需要重新登录(帐号信息不会缓存, 每次使用都要重新登录) - 内置拓展自动更新, 现在当内置的扩展比你安装的拓展版本新时会自动更新这部分扩展(对你删除的拓展不会做任何处理)
- 扩展版本显示, 现在扩展的版本会显示在卡片的右上角
- 打开文件夹, 现在用户可以通过点击拓展列表右上角的文件夹图标打开对于扩展存放的目录
开发者特性
- 全项目以 TypeScript 重构 (#60)
- 扩展的代码现在会在匿名函数中执行
- 扩展的 console 会显示扩展 ID
- 可以通过 fetchSelf 函数快速获取扩展自身的资源
- 扩展的代码会在 try-catch 中运行
- 资源包的 replace 数组/扩展的 resourcepack 数组现在可以声明新的资源了
- 重载资源, 现在开发者可以直接重载修改后的拓展资源, 这一步骤也会重载全部窗口
- 自动对 zip 打包启用 portable mode, 现在你下载到的 zip 格式的雀魂 Plus 都已经自带 data 目录了
- 导出后缀名识别, 现在在导出时,会加上与拓展相对应的文件拓展名. 特别地, 如果扩展的目录中存在
execute.json
或mod.json
, 会自动选择扩展名为mspe
/mspm