Skip to content

v3.2.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 07 Feb 11:01
· 12 commits to 7.5 since this release
90cca01

更新亮点

Loader更新

  • 支持编译器插件(KCP),例如coreLibrary/kcp/serialization
  • 新的打包方式(packed.zip)
    • 该格式为precompile的替代,内部可包含多个预编译脚本及资源文件,放置在scripts目录即可被loader加载
  • 允许无模块脚本
    • 脚本可以独立运行,不要求所属模块。
    • 自动搜索注册scripts中有效的所有kts文件
    • 故可移除bootStrap/module.kts等文件

项目结构调整

  • 分离Loader编译与scripts的gradle脚本
  • 支持在scripts下面建立@子命名空间
  • BREAKCHAGE: 移除早已弃用的mirai模块,脚本已存档SARegistry,需要自行安装

整理wayzer模块

BRECKCHANGE: 移除账号系统相关功能,仅保留id、封禁、认证等功能

这是一个重大改变,旧的解封记录、等级、绑定记录将全部失效
如有数据迁移需求,请与WayZer单独咨询

升级依赖

KT 2.1.10 协程 1.10.1
BREAKCHANGE: ⬆️(coreLib/DBApi) exposed 0.41.1 -> 0.59.0 @way-zer (8a31045)

参考 https://www.jetbrains.com/help/exposed/breaking-changes.html
其中表名需要修改sa config coreLibrary.DBConnector.preserveKeywordCasing set false

提示

本次更新包含3个BREAKCHANGE(Exposed更新,mirai移除以及数据库表变化)请在更新前注意备份(数据库/data文件夹)。


更新日记

Loader模块

⬆️(loader) v1.11.2.3 @way-zer (90cca01)

⬆️ v1.11.1.3 @way-zer (5be3fd9)
⬆️(loader) library v1.11.2.1 @way-zer (6302c97)
⬆️(loader) v1.11.2.2 @way-zer (caff37f)

✨(plugin) 新增CASScriptRegistry类 @way-zer (447cd2c)
🛠️(plugin) rename CASScriptSource.getCAS to getURL @way-zer (95eb60c)
💚 使用packed.zip代替precompiled包 @way-zer (38e1801)
🏗️(gradle) 整理gradle项目结构 @way-zer (feaf348)
💚 更新gradle插件 @way-zer (f9a3764)
✨(build) 支持在scripts下面挂载子项目(@命名空间) @way-zer (2dc6bc4)

Core模块

🐛(*) optimize import @way-zer (5eff6ec)
🐛(*) findScriptInfo -> getScriptInfo @way-zer (64dce7d)
🎨(*) runInterruptible(Dispatchers.IO) @way-zer (4f38856)
✨(coreLib/extApi/KVStore) KV数据储存 @way-zer (b13685b)
⬆️(coreLib) config4k 0.7.0 & slf4j 2.0.16 @way-zer (e1ee348)
✨(coreLibrary/kcp/serialization) serialization编译器插件支持 @way-zer (df97140)
🚚(coreLib/commands) @way-zer (65e06ae)
🚑️(coreLib/CommandApi) Script.command @way-zer (591298c)
🐛(coreLibrary/extApi/KVStore)首次使用data文件夹不存在 @way-zer (e01943b)
🐛(coreLib/lang) 自动保存一直运行 @way-zer (03c0126)
🚑️(coreLib/CommandApi) 增加command函数常用重载 @way-zer (1ac8501)
🎨(coreLib) 使用nextTick代替yield;修复safeBlocking可能卡住 @way-zer (5f9ac2f)
🐛(coreMindustry/console) TAB补全可能卡住 @way-zer (a08d843)
🐛(coreMindustry) 后台help包括客户端命令 @way-zer (e99c2d7)
🎨(coreLib/CommandApi) 增加 CommandInfo.toString @way-zer (23ac975)
⬆️(coreLib/DBApi) exposed 0.41.1 -> 0.59.0 @way-zer (8a31045)
✨(coreLib/extApi/remoteEventApi) 基于Redis的分布式事件系统 @way-zer (4f7f3e1)
🐛(core) dispatchYield警告刷屏 @way-zer (4a3c76c)
🎨(coreLib/commands/*) 使用新的command接口 @way-zer (fadcc5d)

Wayzer模块

🔥(mirai) 已存档至ScriptAgentRegistry @way-zer (0fd47df)
🚚(main/) 移动到wayzer.ext @way-zer (a6e00db)
🏗️(wayzer/user) 移除PlayerData @way-zer (f1ae596)
🏗️(wayzer/user) 移除大量冗余功能,进行结构性简化 @way-zer (144d278)
✨(wayzer) 不再依赖DBApi @way-zer (f08dd38)
🚑️(wayzer/ext/observer) 菜单观战无效 @way-zer (871ff9e)
🚚(wayzer/
) 整理脚本 @way-zer (47b370b)
🐛(wayzer/maps) host指令输出变量 @way-zer (1c10c0b)
👽️(wayzer/user/ban) 适配Exposed更新 @way-zer (d463ac6)
👽️(wayzer/map/resourceHelper) 更新后端API @way-zer (f1dd9f8)

mapScript

🚑️(mapScript) unload错误 @way-zer (88c017f)
👽️(mapScript) ScriptManager.transaction @way-zer (226686c)

文件变更

107 文件
  • 📝 .gitignore +3 -2
  • 📝 build.gradle.kts +34 -151
  • ➕ buildSrc/build.gradle.kts
  • ➕ buildSrc/src/Module.kt
  • ➕ loader/res/META-INF/kotlin/script/templates/.gitkeep
  • 🚚 loader/res/plugin.json <= plugin/res/plugin.json
  • 🚚 loader/src/ConfigExt.kt <= plugin/src/cf/wayzer/scriptAgent/ConfigExt.kt
  • 🚚 loader/src/mindustry/Loader.kt <= plugin/src/cf/wayzer/scriptAgent/mindustry/Loader.kt
  • 🚚 loader/src/mindustry/Main.kt <= plugin/src/cf/wayzer/scriptAgent/mindustry/Main.kt
  • 🚚 loader/src/standalone/Main.kt <= plugin/src/cf/wayzer/scriptAgent/standalone/Main.kt
  • 🚚 loader/src/standalone/loader.kt <= plugin/src/cf/wayzer/scriptAgent/standalone/loader.kt
  • ➕ loader/src/util/BuiltinScriptRegistry.kt
  • ➕ loader/src/util/CASPackScriptRegistry.kt
  • ➕ loader/src/util/CASScriptPacker.kt
  • ➕ loader/src/util/CASScriptSource.kt
  • 🚚 loader/src/util/CAStore.kt <= plugin/src/cf/wayzer/scriptAgent/util/CAStore.kt
  • 🚚 loader/src/util/CommonMain.kt <= plugin/src/cf/wayzer/scriptAgent/util/CommonMain.kt
  • 🔥 plugin/src/cf/wayzer/scriptAgent/util/BuiltinScriptRegistry.kt
  • 📝 scripts/bootStrap/default.kts +5 -4
  • 📝 scripts/bootStrap/generate.kts +14 -50
  • 🔥 scripts/bootStrap/module.kts
  • ➕ scripts/build.gradle.kts
  • 📝 scripts/coreLibrary/DBApi.kts +5 -6
  • 📝 scripts/coreLibrary/DBConnector.kts +14 -7
  • ➕ scripts/coreLibrary/commands/configCmd.kts
  • ➕ scripts/coreLibrary/commands/control.kts
  • 🚚 scripts/coreLibrary/commands/hotReload.kts <= scripts/coreLibrary/hotReload.kts
  • 🚚 scripts/coreLibrary/commands/permissionCmd.kts <= scripts/coreLibrary/permissionCommand.kts
  • ➕ scripts/coreLibrary/commands/varsCmd.kts
  • 🔥 scripts/coreLibrary/configCommand.kts
  • 🔥 scripts/coreLibrary/controlCommand.kts
  • ➕ scripts/coreLibrary/extApi/KVStore.kts
  • 📝 scripts/coreLibrary/extApi/mongoApi.kts +0 -2
  • 📝 scripts/coreLibrary/extApi/redisApi.kts +1 -0
  • ➕ scripts/coreLibrary/extApi/remoteEventApi.kts
  • ➕ scripts/coreLibrary/extApi/remoteEventApi.lib.kt
  • ➕ scripts/coreLibrary/kcp/serialization.kts
  • 📝 scripts/coreLibrary/lang.kts +4 -1
  • 📝 scripts/coreLibrary/lib/CommandApi.kt +41 -22
  • 📝 scripts/coreLibrary/lib/util/ReflectHelper.kt +1 -1
  • 📝 scripts/coreLibrary/module.kts +4 -10
  • 🔥 scripts/coreLibrary/varsCommand.kts
  • 📝 scripts/coreMindustry/console.kts +6 -5
  • 📝 scripts/coreMindustry/lib/CommandExt.kt +11 -5
  • 📝 scripts/coreMindustry/lib/CommandImpl.kt +31 -27
  • 📝 scripts/coreMindustry/lib/DispatcherExt.kt +36 -9
  • 📝 scripts/coreMindustry/module.kts +0 -1
  • 📝 scripts/coreMindustry/scorebroad.kts +0 -2
  • 📝 scripts/coreMindustry/utilNextChat.kts +0 -2
  • 🔥 scripts/main/helpfulCommand.kts
  • 🔥 scripts/main/module.kts
  • 📝 scripts/mapScript/lib/util.kt +1 -1
  • 📝 scripts/mapScript/module.kts +6 -4
  • 🔥 scripts/mirai/broadcastToGroup.kts
  • 🔥 scripts/mirai/codeSender.kts
  • 🔥 scripts/mirai/lib/PermissionExt.kt
  • 🔥 scripts/mirai/module.kts
  • 🔥 scripts/mirai/simple.kts
  • 🔥 scripts/mirai/status.kts
  • 🚚 scripts/wayzer/cmds/gatherTp.kts <= scripts/wayzer/ext/gatherTp.kts
  • 🚚 scripts/wayzer/cmds/helpfulCmd.kts <= scripts/main/showEffect.kts
  • ➕ scripts/wayzer/cmds/jsCmd.kts
  • 🚚 scripts/wayzer/cmds/mapsCmd.kts <= scripts/wayzer/ext/mapsCommand.kts
  • 🚚 scripts/wayzer/cmds/pixelPicture.kts <= scripts/main/pixelPicture.kts
  • 🚚 scripts/wayzer/cmds/restart.kts <= scripts/wayzer/admin/restart.kts
  • 🚚 scripts/wayzer/cmds/serverStatus.kts <= scripts/wayzer/ext/serverStatus.kts
  • 🚚 scripts/wayzer/cmds/spawnMob.kts <= scripts/main/spawnMob.kts
  • 🚚 scripts/wayzer/cmds/vote.kts <= scripts/wayzer/ext/vote.kts
  • 🚚 scripts/wayzer/cmds/voteKick.kts <= scripts/wayzer/ext/voteKick.kts
  • 🚚 scripts/wayzer/cmds/voteMap.kts <= scripts/wayzer/ext/voteMap.kts
  • 📝 scripts/wayzer/ext/autoUpdate.kts +3 -3
  • 🚚 scripts/wayzer/ext/goServer.kts <= scripts/main/goServer.kts
  • 🔥 scripts/wayzer/ext/lang.kts
  • 📝 scripts/wayzer/ext/observer.kts +1 -1
  • 🚚 scripts/wayzer/lib/ConnectAsyncEvent.kt <= scripts/wayzer/lib/event/ConnectAsyncEvent.kt
  • 🔥 scripts/wayzer/lib/PermissionExt.kt
  • ➕ scripts/wayzer/lib/PlayerData.kt
  • 🔥 scripts/wayzer/lib/dao/PlayerData.kt
  • 🔥 scripts/wayzer/lib/dao/PlayerProfile.kt
  • 🔥 scripts/wayzer/lib/dao/Setting.kt
  • 🔥 scripts/wayzer/lib/dao/util/NeedTransaction.kt
  • 🔥 scripts/wayzer/lib/dao/util/TransactionHelper.kt
  • 🔥 scripts/wayzer/lib/dao/util/WithTransactionHelper.kt
  • 🚚 scripts/wayzer/map/resourceHelper.kts <= scripts/wayzer/ext/resourceHelper.kts
  • 📝 scripts/wayzer/maps.kts +1 -1
  • 📝 scripts/wayzer/maps.manager.kt +2 -1
  • 📝 scripts/wayzer/maps.registry.kt +1 -1
  • 📝 scripts/wayzer/module.kts +26 -6
  • 🔥 scripts/wayzer/playerInfo.kts
  • 🔥 scripts/wayzer/user/achievement.db.kt
  • 🔥 scripts/wayzer/user/achievement.kts
  • 📝 scripts/wayzer/user/ban.dao.kt +14 -24
  • 📝 scripts/wayzer/user/ban.kts +26 -40
  • 🔥 scripts/wayzer/user/ext/infoCommand.kts
  • 🔥 scripts/wayzer/user/ext/profileBind.kts
  • 🔥 scripts/wayzer/user/ext/rank.dao.kt
  • 🔥 scripts/wayzer/user/ext/rank.kts
  • 📝 scripts/wayzer/user/ext/skills.kts +1 -2
  • 🔥 scripts/wayzer/user/ext/statistics.kts
  • ➕ scripts/wayzer/user/lang.kts
  • 🔥 scripts/wayzer/user/level.kts
  • ➕ scripts/wayzer/user/nameExt.kts
  • 🔥 scripts/wayzer/user/notification.db.kt
  • 🔥 scripts/wayzer/user/notification.kts
  • 🚚 scripts/wayzer/user/suffix.kts <= scripts/wayzer/ext/suffix.kts
  • 🔥 scripts/wayzer/user/userService.kts
  • 📝 settings.gradle.kts +33 -4

完整对比 获取patch