Skip to content
全文约 1649 字 预计阅读 5 分钟

模块总览 ​

LOICollectionA 采用微内核架构:所有功能都由模块(Module)提供,每个模块可以独立启用或停用。本文列出全部模块、它们的用途与配置开关位置;单个模块的命令用法见 命令列表,数据文件与配置结构见 数据文件。

模块是分层的 ​

模块按其归属分为三组,配置文件中的路径也不同:

分组配置路径编译目标
内置插件(Plugins)ServerConfig.Plugins.*仅服务端
便携工具(ProtableTool)ServerConfig.ProtableTool.*仅服务端
客户端模块ClientConfig.*仅客户端

NOTE

所有服务端模块都注册在同一个 ModulePriority 序列里,优先级只影响加载与注册顺序,不影响功能归属。详见 架构概览。

服务端内置插件 ​

模块用途配置键默认状态
Blacklist禁止指定玩家进入服务器,并支持理由与时长ServerConfig.Plugins.Blacklist.ModuleEnabled停用
Mute对玩家禁言,支持理由与时长ServerConfig.Plugins.Mute停用
Cdk创建、管理并兑换 CDK 兑换码ServerConfig.Plugins.Cdk停用
Menu打开自定义游戏内菜单并执行脚本定义的操作ServerConfig.Plugins.Menu.ModuleEnabled停用
Tpa传送请求系统,支持邀请、黑名单、超时与费用ServerConfig.Plugins.Tpa.ModuleEnabled停用
Shop服务器商店,支持购买、出售与分页浏览ServerConfig.Plugins.Shop.ModuleEnabled停用
Monitor消息强化:玩家名称显示、进服提示、Score 变化检测、指令禁用检测、动态 MOTD 与侧边栏ServerConfig.Plugins.Monitor.ModuleEnabled停用
Pvp玩家自行开关 PVP,并可选监听伤害、药水与弹射物ServerConfig.Plugins.Pvp.ModuleEnabled停用
Wallet玩家经济:转账、红包、银行储蓄、财富排行与资金台账ServerConfig.Plugins.Wallet.ModuleEnabled停用
Chat聊天称号与玩家聊天黑名单,支持自定义聊天格式ServerConfig.Plugins.Chat.ModuleEnabled停用
Language记录每位玩家的语言偏好,配套语言选择 GUI无常驻启用
Notice创建带优先级的公告与通知ServerConfig.Plugins.Notice停用
Market玩家之间的交易市场:挂单、玩家商店、评价、行情、求购单与拍卖ServerConfig.Plugins.Market.ModuleEnabled停用
BehaviorEvent将玩家与世界的行为事件记录到数据库,支持回溯与自动清理ServerConfig.Plugins.BehaviorEvent.ModuleEnabled停用
Statistics统计在线时长、击杀、死亡、放置 / 破坏方块、重生与加入次数ServerConfig.Plugins.Statistics.ModuleEnabled停用

WARNING

Mute、Cdk 与 Notice 的配置项是布尔值而非对象,因此直接写 "Mute": false / "Cdk": false / "Notice": false,没有嵌套的 ModuleEnabled 字段。

TIP

Language 模块没有配置开关,始终启用。它负责 {player_language} / {player_language_name} 这类 API 变量以及内置的 gui/language.lcui 选择界面;关闭它会导致依赖语言信息的变量取不到值。

Monitor 的子开关 ​

Monitor 自身启用后,内部还有五个可独立开关的子功能,默认值均为启用:

子功能配置键说明
玩家名称显示Monitor.BelowName在玩家头顶显示带 API 变量的内容
进服 / 退服提示Monitor.ServerToastMessager.join / Messager.leave 分别控制
Score 变化检测Monitor.ChangeScoreScoreboardLists 为空时检测全部 Score
指令禁用检测Monitor.DisableCommand命中 CommandLists 的指令会被拦截
动态 MOTDMonitor.DynamicMotd支持 API 变量与多页轮播
侧边栏Monitor.Sidebar支持标题与多页内容

Market 的子开关 ​

Market 是配置面最大的模块,主要子功能同样可以单独关闭:

子功能配置键默认
玩家商店(店铺)Market.StoreEnabled启用
商店评价Market.StoreReviewEnabled启用
行情聚合Market.StoreQuoteEnabled启用
求购单Market.StoreWantedEnabled启用
求购单部分成交Market.StorePartialBuyEnabled启用
拍卖Market.StoreAuctionEnabled启用

完整的字段与含义请参见 数据文件。

BehaviorEvent 的事件开关 ​

BehaviorEvent 在 ServerConfig.Plugins.BehaviorEvent.Events 下为每个事件提供三个开关:ModuleEnabled(是否启用该事件)、RecordDatabase(是否写入数据库)与 OutputConsole(是否输出到控制台)。可记录的事件包括玩家连接、断开、聊天、获得经验、攻击、权限变更、破坏方块、放置方块、死亡、捡起物品、重生、使用物品、容器交互,以及方块爆炸,共 14 项,默认全部启用。

服务端便携工具 ​

便携工具是更底层的 Hook 与行为改造,配置在 ServerConfig.ProtableTool 下:

模块用途配置键默认状态
BasicHook底层事件 Hook。目前提供 FakeSeed:向客户端伪造 StartGame 包中的世界种子ProtableTool.BasicHook.ModuleEnabled停用
RedStone红石高频检测:同一方块在一秒内被红石更新超过阈值的次数达标后,破坏该方块并记录日志ProtableTool.RedStone停用(0)
OrderedUI让多个 UI 表单按顺序弹出,避免界面互相覆盖ProtableTool.OrderedUI停用

TIP

BasicHook.FakeSeed 默认为 $random。取值可以是一个十进制整数(会被解析为种子),也可以是无法解析为整数的字符串——后者会被视为随机,即每次开服都向客户端报告一个随机种子。

NOTE

RedStone 的取值是整数阈值而非布尔值:0 表示不启用,写入 2 表示同一方块在一秒内累计 2 次及以上红石更新就会被破坏。请谨慎设置较小的数值。

客户端模块 ​

客户端目标(--target_type=client)下构建的模块只有音乐播放通知:

模块用途配置键默认状态
Music检测系统媒体会话(默认匹配网易云音乐),在游戏内以卡片形式显示「正在播放」信息,并可选显示音频可视化ClientConfig.Music.ModuleEnabled启用

WARNING

Music 是纯客户端模块,源码位于 src/LOICollectionA/modules/client/Plugins/music/,在服务端目标下完全不参与编译(xmake.lua 的 is_server 分支会排除 modules/client/**.cpp)。它依赖 imgui 与 Windows 的媒体会话 API,无法在服务端启用。其外观参数(卡片尺寸、字号、动画时长等)见 数据文件。

相关文档 ​

LOICollectionA · 开箱即用的 LeviLamina 多功能插件集