安装TrinityCore NPCBot,TrinityCore NPCBot就是可以雇佣小助手跟着一起去探索wow的世界。
官网:GitHub - trickerer/Trinity-Bots: NPCBots for TrinityCore and AzerothCore 3.3.5
首先需要先安装好TrinityCore,TrinityCore的安装见文档: TrinityCore安装记录_ubuntu部署魔兽世界8.3trinitycore-CSDN博客
基本安装方法
- Follow TrinityCore Installation Guide (https://TrinityCore.info/) to install the server first
- Download NPCBots.patch and put it into your TrinityCore folder
- Apply the patch using
patch -p1 < NPCBots.patch
command (creating new files) - (Re)run CMake and (re)build
- Merge worldserver.conf.dist into your worldserver.conf file (NPCBot mod settings)
- Apply SQL files from
/TrinityCore/sql/Bots/
to your DB (files starting withcharacters_
andworld_
go into yourcharacters
andworld
DB respectively):
步骤拆解:
下载文件
- Download NPCBots.patch and put it into your TrinityCore folde
git clone https://github.com/trickerer/Trinity-Bots
# or
wget -c https://github.com/trickerer/Trinity-Bots/archive/refs/heads/master.zip
cp Trinity-Bots/NPCBots.patch TrinityCore/
把NPCBots.patch文件放入TrinityCore主目录
cp Trinity-Bots/NPCBots.patch TrinityCore/
- 2.Apply the patch using
patch -p1 < NPCBots.patch
command (creating new files)
进入TrinityCore目录执行
patch -p1 < NPCBots.patch
-
.3 重新编译
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server
make -j 8
这里不需要删除以前的build目录,直接在build目录下编译即可。
编译之后安装
make install
改名worldserver.conf.dist 到 worldserver.conf
- 4.Merge worldserver.conf.dist into your worldserver.conf file (NPCBot mod settings)
安装之后产生了新的worldserver.conf.dist文件,将其改名worldserver.conf
不要忘记编辑文件server/etc/worldserver.conf,DataDir使用绝对路径
# DataDir = "."
DataDir = "/home/wow/server/data"
导入SQL文件
- 5.Apply SQL files from
/TrinityCore/sql/Bots/
to your DB (files starting withcharacters_
andworld_
go into yourcharacters
andworld
DB respectively):
1_world_bot_appearance.sql
2_world_bot_extras.sql
3_world_bots.sql
4_world_generate_bot_equips.sql
5_world_botgiver.sql
characters_bots.sql
进入目录:/home/wow/TrinityCore/sql/Bots
刚开始不明白,这里不会操作。后来明白了,三个数据库分别导入(这里只需要导入两个),是world的,导入world, characters的,导入characters
进入mysql
sudo mysql
查看数据库
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| auth |
| characters |
| information_schema |
| mysql |
| performance_schema |
| phpmyadmin |
| sys |
| world |
+--------------------+
导入characters
use characters;
source characters_bots.sql;
导入world
use world;
source 1_world_bot_appearance.sql;
source 2_world_bot_extras.sql;
source 3_world_bots.sql;
source 4_world_generate_bot_equips.sql;
source 5_world_botgiver.sql;
注意,如果报错的话,请尽量手工敲入这些命令,因为中文文档的空格有可能会导致命令报错。当然文件名可以cp过去。
导入补丁文件
- 7.Apply SQL update files from
/TrinityCore/sql/Bots/updates
to your DB
这一步又看不懂了,里面文件太多了,一个一个导入太麻烦了
原来官方提供了几个sh文件,可以把它们集中聚合成单个的文件:
wow@ub22:~/TrinityCore/sql/Bots$ sh merge_sqls_auth_unix.sh
wow@ub22:~/TrinityCore/sql/Bots$ sh merge_sqls_characters_unix.sh
wow@ub22:~/TrinityCore/sql/Bots$ sh merge_sqls_world_unix.sh
这样生成了三个文件:
-rw-rw-r-- 1 wow wow 4355 Jun 13 01:41 ALL_auth.sql
-rw-rw-r-- 1 wow wow 15161 Jun 13 01:41 ALL_characters.sql
-rw-rw-r-- 1 wow wow 876055 Jun 13 01:41 ALL_world.sql
这样只导入这三个文件就行了
导入三个文件
use auth
source ALL_auth.sql;
use characters
source ALL_characters.sql
use world
source ALL_world.sql
导入完成!这时候再启动服务器,就是带npcbot功能的TrinityCore服务器了!
开始使用
简单使用方式
.npcbot lookup 查看有哪些类型,比如1是战士,那么再看有哪些战士:
.npcbot lookup 1 ,就能看到具体的战士名字和id,这时候用spawn命令就能调出来相应的bot,比如
.npcbot spawn 70001 ,就能调出来一个战士,鼠标右键点击该战士,然后选择“hire”,就可以雇佣他了。
雇佣之后,就可以带着它去探险拉!不在同一组后,是无法去副本额。可以使用"create group"创建组,这样就能一起去副本了。可以组够五人个,那么直接秒排副本。
助手无法参加raid。
NPCBot Commands
First of all, to list your NPCBot's stats, use /bonk
on them (Warning: big list)
Note that some commands may not be available to all accounts (depending on their access level and permissions set in the RBAC tables (TC) / in the command
table (AC)). You may need to change your account permissions / security level to enable usage of some commands Most NPCBot commands are divised by persmissions into two groups: player commands and GM commands, there are also some Admin-only commands
使用/bonk 列表
密钥:
<>(尖括号)表示基本命令参数
[](方括号)表示可选的命令参数
|(管道字符)表示参数选择(即this | that=this OR that)
_ARUMENT_表示参数名称
开始
.npcbot lookup
选择类型
.npcbot lookup 1
1 是战士
选一个人:.npcbot spawn 70003
右键点击出菜单
You need something?
- <Hire bot>
- Nevermind
选择Hire bot,然后再点npc出来菜单
- Manage equipment...
- Manage roles...
- Manage formation...
- Manage abilities...
- Manage talents...
- Give consumable...
- <Create Group>
- You are dismissed
- Pull yourself together, damnit
- Nevermind
- [OPTIONAL options may be displayed here]
- <Create Group (all bots)>
- <Add to group>
- <Add all bots to group>
- <Remove from group>
- [CLASS-SPECIFIC options may be displayed here]
然后点击<Create Group> ,bot就能加入队伍了
它们会自动协助你
如果在附近,可以直接使用命令:
如果你的NPCBot就在你的直接附近,你可以瞄准他们并发表情:
/stand 站着让你的NPCBot保持原位
/wave 挥手让你的NPCBot再次跟随你
如果不在附近,可以使用命令:
-
.npcbot command stay
(.npcb c s
) to make all your controlled NPCBots STAY -
.npcbot command follow
(.npcb c f
) to make all your controlled NPCBots FOLLOW
装备
要更改他们的装备,您需要右键单击该NPCBot并选择管理装备
Auto-equip 自动装备会列出你包里NPCBot可以使用的所有物品。点击其中一个项目将自动将其交给NPCBot,并将其装备到适当的位置。
坐骑
bot会学雇主的坐骑,或者用自己的。
配置可带bot人数
设置最多可带bot人数,默认是只能带一个,改成按照级数可以带多名助手。修改worldserver.conf文件:
# NpcBot.MaxBots
# Description: Maximum number of bots allowed for players per level bracket:
# 0-9, 10-19, 20,29, ... , 70-79, 80+.
# Default: 1,1,1,1,1,1,1,1,1 - (1 for all levels)
# 0,1,2,3,4,5,6,7,8 - (1 per 10 levels)
# Max: 39
NpcBot.MaxBots = 1,2,3,4,5,6,7,8,9
调试
编译到74%报错error: use of undeclared identifier 'TARGETICONCOUNT'
/home/wow/TrinityCore/src/server/game/AI/NpcBots/bot_ai.cpp:139:23: error: use of undeclared identifier 'TARGETICONCOUNT'
uint8 GroupIconsFlags[TARGETICONCOUNT] =
^
[ 74%] Building CXX object src/server/game/CMakeFiles/game.dir/AI/NpcBots/botdpstracker.cpp.o
/home/wow/TrinityCore/src/server/game/AI/NpcBots/bot_ai.cpp:1315:36: error: use of undeclared identifier 'TARGETICONCOUNT'
for (uint8 i = 0; i != TARGETICONCOUNT; ++i)
/home/wow/TrinityCore/src/server/game/AI/NpcBots/bpet_ai.cpp:1431:32: error: use of undeclared identifier 'TARGETICONCOUNT'
for (uint8 i = 0; i != TARGETICONCOUNT; ++i)
^
12 errors generated.
make[2]: *** [src/server/game/CMakeFiles/game.dir/build.make:301: src/server/game/CMakeFiles/game.dir/AI/NpcBots/bot_ai.cpp.o] Error 1
2 errors generated.
make[2]: *** [src/server/game/CMakeFiles/game.dir/build.make:765: src/server/game/CMakeFiles/game.dir/AI/NpcBots/bpet_ai.cpp.o] Error 1
2 errors generated.
make[2]: *** [src/server/game/CMakeFiles/game.dir/build.make:717: src/server/game/CMakeFiles/game.dir/AI/NpcBots/botmgr.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1123: src/server/game/CMakeFiles/game.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
忘记是前面步骤有缺失,还是其它什么原因了,重新按照手册来一次试试。
做了如下操作:
更新源代码 git pull
加大内存到1756MB
删除build目录并重新编译:
cd TrinityCore
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server
重新编译安装后,配置文件没有了,需要cp worldserver.conf.dist worldserver.conf
并编辑文件server/etc/worldserver.conf,使用绝对路径
# DataDir = "."
DataDir = "/home/wow/server/data"