@@ -13,28 +13,18 @@ bash apps/docker/prepare-bundled-modules.sh modules
1313- [ ` apps/docker/prepare-bundled-modules.sh ` ] ( ../apps/docker/prepare-bundled-modules.sh )
1414- [ ` .github/workflows/package-server-images.yml ` ] ( ../.github/workflows/package-server-images.yml )
1515
16- 脚本也会删除已经从固定集合中移除的旧模块目录,避免本地复用 ` modules/ ` 时把旧模块一起编译进去。
17-
1816## 当前模块集合
1917
2018| 模块 | 仓库 | 分支 | 配置文件 | SQL |
2119| ---| ---| ---:| ---| ---|
2220| ` mod-playerbots ` | ` https://github.com/mod-playerbots/mod-playerbots.git ` | ` master ` | ` playerbots.conf ` | ` playerbots ` 、` world ` 、` characters ` |
2321| ` mod-transmog ` | ` https://github.com/azerothcore/mod-transmog.git ` | ` master ` | ` transmog.conf ` | ` auth ` 、` characters ` 、` world ` |
2422| ` mod-autobalance ` | ` https://github.com/azerothcore/mod-autobalance.git ` | ` master ` | ` AutoBalance.conf ` | 无独立 SQL |
25- | ` mod-ah-bot ` | ` https://github.com/azerothcore /mod-ah-bot.git ` | ` master ` | ` mod_ahbot.conf ` | ` world ` |
23+ | ` mod-ah-bot-plus ` | ` https://github.com/NathanHandley /mod-ah-bot-plus .git ` | ` master ` | ` mod_ahbot.conf ` | ` auth ` 、 ` characters ` 、 ` world ` |
2624| ` mod-learn-spells ` | ` https://github.com/azerothcore/mod-learn-spells.git ` | ` master ` | ` mod_learnspells.conf ` | 无独立 SQL |
27- | ` mod-individual-progression ` | ` https://github.com/ZhengPeiRu21/mod-individual-progression.git ` | ` master ` | ` individualProgression.conf ` | ` auth ` 、` characters ` 、` world ` |
2825| ` mod-random-enchants ` | ` https://github.com/azerothcore/mod-random-enchants.git ` | ` master ` | ` random_enchants.conf ` | ` world ` |
2926| ` mod-dungeon-master ` | ` https://github.com/InstanceForge/mod-dungeon-master.git ` | ` main ` | ` mod_dungeon_master.conf ` | ` world ` 、` characters ` |
3027
31- 已经移除的旧模块:
32-
33- - ` mod-ah-bot-plus `
34- - ` mod-aoe-loot `
35-
36- 这里的 ` mod-ah-bot-plus ` 是旧的第三方增强版;当前保留并打包的是 AzerothCore 官方 ` mod-ah-bot ` 。
37-
3828## 编译和部署方式
3929
4030生产镜像仍通过 GitHub Actions 手动工作流打包:
@@ -56,9 +46,8 @@ bash apps/docker/prepare-bundled-modules.sh modules
5646rm -rf modules/mod-playerbots \
5747 modules/mod-transmog \
5848 modules/mod-autobalance \
59- modules/mod-ah-bot \
49+ modules/mod-ah-bot-plus \
6050 modules/mod-learn-spells \
61- modules/mod-individual-progression \
6251 modules/mod-random-enchants \
6352 modules/mod-dungeon-master
6453
@@ -84,7 +73,6 @@ env/user/modules/
8473├── AutoBalance.conf
8574├── mod_ahbot.conf
8675├── mod_learnspells.conf
87- ├── individualProgression.conf
8876├── random_enchants.conf
8977└── mod_dungeon_master.conf
9078```
@@ -94,7 +82,6 @@ env/user/modules/
9482Linux 文件系统大小写敏感,尤其注意:
9583
9684- ` AutoBalance.conf ` 必须保留大写 ` A ` 和 ` B ` 。
97- - ` individualProgression.conf ` 必须保留大写 ` P ` 。
9885
9986## 数据库导入
10087
@@ -103,14 +90,12 @@ Linux 文件系统大小写敏感,尤其注意:
10390当前模块的数据库行为:
10491
10592- ` mod-playerbots ` 会使用独立数据库,默认环境变量是 ` AC_PLAYERBOTS_DATABASE=acore_playerbots ` 。
106- - ` mod-transmog ` 、` mod-ah-bot ` 、 ` mod-individual-progression ` 、` mod-random-enchants ` 、` mod-dungeon-master ` 的 SQL 会随 ` worldserver ` 自动导入到核心库。
93+ - ` mod-transmog ` 、` mod-ah-bot-plus ` 、` mod-random-enchants ` 、` mod-dungeon-master ` 的 SQL 会随 ` worldserver ` 自动导入到核心库。
10794- ` mod-autobalance ` 、` mod-learn-spells ` 没有独立 SQL。
108- - ` mod-ah-bot ` 使用世界库 SQL,导入拍卖行机器人配置表和物品过滤数据 。
95+ - ` mod-ah-bot-plus ` 使用 auth、characters、world SQL 目录,目前这些目录主要用于模块更新器布局和占位 。
10996- ` mod-dungeon-master ` 使用世界库和角色库 SQL,导入 Dungeon Master NPC、挑战系统数据和角色挑战记录表。
11097- ` mod-random-enchants ` 、` mod-dungeon-master ` 等模块使用上游常见的 ` data/sql/db-world ` / ` data/sql/db-characters ` 目录,打包脚本会自动创建 ` data/sql/world ` / ` data/sql/characters ` 兼容链接。
11198
112- ` mod-individual-progression ` 会大量修改世界库内容。关闭配置只会停止运行时代码逻辑,不会撤销已经导入的世界库变更。需要回退时应恢复数据库备份。
113-
11499## mod-playerbots
115100
116101功能:
@@ -226,12 +211,14 @@ env/user/modules/AutoBalance.conf
226211- ` AutoBalance.LevelScaling ` :是否启用等级缩放。
227212- ` AutoBalance.StatModifier* ` :按普通、英雄、团队、Boss 等维度调整属性倍率。
228213
229- ## mod-ah-bot
214+ ## mod-ah-bot-plus
230215
231216功能:
232217
233- - 提供 AzerothCore 官方拍卖行机器人。
234- - 可配置为自动上架物品,也可配置为自动竞拍或一口价购买玩家拍卖。
218+ - 提供增强版拍卖行机器人。
219+ - 可配置多个普通角色作为 AH Bot 卖家/买家。
220+ - 支持自动上架、自动竞拍/购买、快速重载配置、清空机器人拍卖和立即刷新拍卖。
221+ - 提供更细的价格、堆叠、掉率、分类和高级定价规则。
235222- 适合低人口服务器维持基础 AH 供给和交易流动性。
236223
237224配置文件:
@@ -243,40 +230,39 @@ env/user/modules/mod_ahbot.conf
243230
244231基础启用:
245232
246- 1 . 准备一个专用普通玩家账号和角色,不建议用真实玩家日常使用的角色。
247- 2 . 查出账号 ID 和角色 GUID,分别写入 ` AuctionHouseBot.Account ` 和 ` AuctionHouseBot.GUID ` 。
248- 3 . 按需要启用 ` AuctionHouseBot.EnableSeller ` 、` AuctionHouseBot.EnableBuyer ` ,可以只启用其中一个,也可以两个都启用。
249- 4 . 重启 ` worldserver ` ,让模块按新配置初始化。
233+ 1 . 准备一个或多个专用普通玩家角色,不建议用真实玩家日常使用的角色,也不要使用 Playerbots 机器人角色。
234+ 2 . 查出这些角色在 ` characters.characters ` 表里的 GUID,写入 ` AuctionHouseBot.GUIDs ` 。
235+ 3 . 启用卖家逻辑:` AuctionHouseBot.EnableSeller = true ` 。
236+ 4 . 如需让机器人购买玩家拍卖,再启用买家逻辑:` AuctionHouseBot.Buyer.Enabled = true ` 。
237+ 5 . 重启 ` worldserver ` ,让模块按新配置初始化。
250238
251239常用配置:
252240
253241- ` AuctionHouseBot.EnableSeller ` :启用或禁用自动上架。
254- - ` AuctionHouseBot.EnableBuyer ` :启用或禁用自动竞拍/购买。
255- - ` AuctionHouseBot.Account ` :AH Bot 使用的账号 ID。
256- - ` AuctionHouseBot.GUID ` :AH Bot 使用的角色 GUID。
242+ - ` AuctionHouseBot.Buyer.Enabled ` :启用或禁用自动竞拍/购买。
243+ - ` AuctionHouseBot.GUIDs ` :AH Bot 使用的角色 GUID 列表。
257244- ` AuctionHouseBot.ItemsPerCycle ` :每轮处理的物品数量。
258- - ` AuctionHouseBot.UseMarketPriceForSeller ` :卖家是否参考市场价格。
259- - ` AuctionHouseBot.VendorItems ` 、` AuctionHouseBot.LootItems ` 、` AuctionHouseBot.ProfessionItems ` :控制不同来源物品是否进入拍卖池。
260- - ` AuctionHouseBot.DuplicatesCount ` :控制同类物品重复上架数量。
245+ - ` AuctionHouseBot.ReturnExpiredAuctionItemsToBot ` :机器人拍卖过期后是否把物品退回机器人。
246+ - ` AuctionHouseBot.MaxBuyoutPriceInCopper ` :限制机器人可处理的一口价上限。
247+ - ` AuctionHouseBot.AdvancedListingRules.UseDropRates.Enabled ` :是否按掉率规则筛选上架物品。
248+ - ` AuctionHouseBot.ListProportion.* ` :控制不同分类和品质的上架比例。
249+ - ` AuctionHouseBot.PriceMultiplier.* ` :按分类、品质、物品等级等规则调整价格。
250+ - ` AuctionHouseBot.ListingStack.* ` :控制堆叠数量和堆叠随机规则。
261251
262252常用命令:
263253
264254``` text
265- .ahbotoptions help
266- .ahbotoptions buyer 0|1
267- .ahbotoptions seller 0|1
268- .ahbotoptions usemarketprice 0|1
269- .ahbotoptions ahexpire <2|6|7>
270- .ahbotoptions minitems <2|6|7> <count>
271- .ahbotoptions maxitems <2|6|7> <count>
255+ .ahbot reload
256+ .ahbot empty
257+ .ahbot update
272258```
273259
274260说明:
275261
276- - 游戏内使用时通常带 ` . ` ,控制台里使用时不带 ` . ` 。
277- - ` 2 ` 、 ` 6 ` 、 ` 7 ` 是模块命令使用的拍卖行 ID,分别对应不同阵营/中立拍卖行 。
278- - 如果只配置 ` AuctionHouseBot.Account ` 而不配置单个 ` GUID ` ,该账号下的角色可能都参与 AH Bot 行为 。
279- - 官方 ` mod-ah-bot ` 和旧的 ` mod-ah-bot-plus ` 都使用 ` mod_ahbot.conf ` 文件名。如果旧环境留下的是 Plus 版本配置,不要直接照搬,应该按当前镜像里的 ` mod_ahbot.conf.dist ` 重新核对配置项 。
262+ - ` .ahbot reload ` 重新加载 ` mod_ahbot.conf ` 。
263+ - ` .ahbot empty ` 清空所有 AH Bot 拍卖,不影响玩家拍卖;已有出价会退还给玩家 。
264+ - ` .ahbot update ` 立即触发一次拍卖刷新或补货 。
265+ - 默认每个 tick 只上架一部分物品,拍卖行完全铺满需要一些时间;可以通过 ` AuctionHouseBot.ItemsPerCycle ` 调整 。
280266
281267## mod-learn-spells
282268
@@ -305,66 +291,6 @@ env/user/modules/mod_learnspells.conf
305291- 玩家升级时自动学习可用法术。
306292- 如果是瞬升或已有角色,建议按需要启用 ` LearnSpells.OnFirstLogin ` 。
307293
308- ## mod-individual-progression
309-
310- 功能:
311-
312- - 按角色保存个人进度,模拟 Vanilla、TBC、WotLK 各阶段逐步推进。
313- - 恢复部分被后续版本移除、削弱或延后开放的任务、NPC、掉落、副本入口和阶段限制。
314- - 支持旧 Naxxramas、Onyxia、TBC 开门/钥匙任务、Vanilla AV、奎岛阶段等内容。
315- - 可与 Playerbots 搭配,用机器人辅助推进阶段内容。
316-
317- 配置文件:
318-
319- ``` text
320- env/dist/etc/modules/individualProgression.conf
321- env/user/modules/individualProgression.conf
322- ```
323-
324- 关键要求:
325-
326- - 该模块需要保存 Player Settings。默认 ` IndividualProgression.SimpleConfigOverride = 1 ` 会尝试自动设置必要核心配置。
327- - 如果你关闭 ` SimpleConfigOverride ` ,需要自行确保 ` worldserver.conf ` 中启用 Player Settings,并设置 ` DBC.EnforceItemAttributes = 0 ` ,否则个人进度和物品覆盖可能不符合预期。
328-
329- 常用命令:
330-
331- ``` text
332- .ip get [$player]
333- .ip set [$player] <progressionLevel>
334- .ip setbot
335- .ip tele [$player] <location>
336- .ip setrep
337- .ip pvp [$player]
338- .ip attune <location>
339- ```
340-
341- 说明:
342-
343- - ` .ip get ` 查看自己、目标或指定玩家的进度等级。
344- - ` .ip set ` 设置玩家进度等级,通常只应由 GM 排障或活动管理时使用。
345- - ` .ip setbot ` 把队伍内机器人设置到你的进度等级。
346- - ` .ip tele ` 、` .ip setrep ` 、` .ip pvp ` 、` .ip attune ` 是进度相关管理命令,使用前建议先在测试服验证。
347-
348- 常用配置:
349-
350- - ` IndividualProgression.Enable ` :启用或禁用运行时代码逻辑。
351- - ` IndividualProgression.EnforceGroupRules ` :是否只允许同阶段玩家组队。
352- - ` IndividualProgression.ProgressionLimit ` :限制最高可达到的进度阶段。
353- - ` IndividualProgression.StartingProgression ` :设置新角色或低阶段角色的起始进度阶段。
354- - ` IndividualProgression.VanillaPowerAdjustment ` / ` VanillaHealingAdjustment ` :调整 Vanilla 阶段输出和治疗。
355- - ` IndividualProgression.TBCPowerAdjustment ` / ` TBCHealingAdjustment ` :调整 TBC 阶段输出和治疗。
356- - ` IndividualProgression.DisableRDF ` :按进度模块语义控制随机地下城查找器。
357-
358- 可选资源:
359-
360- - 模块仓库的 ` optional/ ` 目录包含可选 DBC、客户端 patch 和可选 SQL。
361- - 本仓库打包脚本只打包模块本体;是否使用可选客户端 patch 或额外 SQL,需要你按模块上游说明单独评估。
362-
363- 风险提醒:
364-
365- - 该模块对世界库改动范围很大,建议新服启用。
366- - 已经运行过一段时间的生产库接入前,应先完整备份 ` auth/world/characters/playerbots ` 数据库。
367-
368294## mod-random-enchants
369295
370296功能:
@@ -465,39 +391,5 @@ GM 命令:
465391运行提醒:
466392
467393- 该模块上游仍标注为早期开发,建议先在测试库验证副本、奖励和传送流程。
468- - 它会导入世界库和角色库 SQL,已有服务器接入前应先备份数据库 。
394+ - 它会导入世界库和角色库 SQL。
469395- 与 ` mod-autobalance ` 同时启用时,两者都会影响副本体验;如果强度异常,先分别单独测试缩放结果。
470-
471- ## 变更模块集合后的部署建议
472-
473- 如果你已经用旧模块集合启动过数据库,现在切换到当前模块集合:
474-
475- 1 . 先备份数据库和 ` env/dist/etc/modules ` 。
476- 2 . 重新运行 ` package-server-images ` 打包并推送新镜像。
477- 3 . 更新 ` .env ` 中的 ` WORLD_IMAGE ` 和 ` AUTH_IMAGE ` 。
478- 4 . 删除不再使用的外部覆盖配置:
479-
480- ``` bash
481- rm -f env/user/modules/mod_aoe_loot.conf
482- ```
483-
484- 5 . 按需要添加或重新核对当前模块配置:
485-
486- ``` text
487- env/user/modules/mod_ahbot.conf
488- env/user/modules/mod_learnspells.conf
489- env/user/modules/individualProgression.conf
490- env/user/modules/random_enchants.conf
491- env/user/modules/mod_dungeon_master.conf
492- ```
493-
494- 如果 ` env/user/modules/mod_ahbot.conf ` 来自旧的 ` mod-ah-bot-plus ` ,建议先移到备份目录,再基于新镜像里的官方 ` mod_ahbot.conf.dist ` 重新生成。
495-
496- 6 . 拉取并重启:
497-
498- ``` bash
499- docker compose pull
500- docker compose up -d
501- ```
502-
503- 如果是新服,推荐从空数据库启动,让 ` worldserver ` 一次性导入核心 SQL 和当前模块 SQL。这样比在已有旧模块库上叠加大范围进度模块更容易排障。
0 commit comments