网络游戏一个人玩太难了,下面我们增加机器人玩家来解决问题,机器人玩家就是和真人玩家一样的角色,你可以加好友、加公会、组队做任务,他们一样可以学技能、做任务、换装备……击杀对立阵营一样有荣誉,除了这些角色不是真实玩家控制,一切行为和功能和玩家角色没有区别。
也就是当你增加了足够多的机器人玩家后,哪怕是单机版,也感觉不到和网络游戏有太大的差异了,因为有一堆机器人玩家和你一起练级做任务下副本,在野外或城里还会不时的看到机器人玩家忙碌的身影,虽然现在和机器人玩家聊天还不太行,但是有了chatGPT聊天也不再是不可能实现的体验了。
同样先上图看效果:



因为前面详细介绍过编译教程,这里一切从简,增加机器人队友是使用module来实现,但是多数机器人module也需要动服务端源码,所以这里使用了第三方的AC端。其步骤为:
- 下载azerothcore服务端源码
- 下载playerbots模组到源码
- 编译azerothcore服务端
- 配置服务端并运行服务端初始化数据库
- 启动服务端开服游戏
也就是多了下载module的步骤,其他部分操作流程基本不变。
服务端源码下载
git clone https://github.com/liyunfan1223/azerothcore-wotlk.git --branch=Playerbot
安装机器人玩家模组
cd azerothcore-wotlk
cd module
git clone https://github.com/liyunfan1223/mod-playerbots.git --branch=master

编译服务端
编译流程和以前教程完全一至,这里不再详细介绍,请直接看相关文章。
在cmake时会多一点内容,保持默认即可:


特别需要注意的是因为机器人模组是国外英文版的,只支持enUS的DBC,所以在提取 vmaps、maps、dbc、cameras和mmaps这个环节,有所不同,必须从enUS客户端中提取,否则进游戏后会发现机器人全都没有技能。

魔兽世界v3.3.5.12340 enUS客户端下载地址:
https://www.wowdl.net/client/World-of-Warcraft-3.3.5a.12340-enUS
配置服务端
注意新编译的服务端配置文件多了modules
目录,其中多了一个playerbots.conf.dist

而原worldserver.conf.dist
底部也多了以下内容:
##################################################################################
# #
# Logging Stuff #
# #
##################################################################################
Appender.Playerbots=2,5,0,Playerbots.log,w
Logger.playerbots=5,Console Playerbots
所以我们需要把这部分内容增加到我们的worldserver.conf
底部,并把modules
目录中的playerbots.conf.dist
改名为playerbots.conf
,这个玩家机器人的配置文件保持默认即可,配置中会在游戏中增加200个机器人账号,同时会在线生成50个机器人玩家。
# Random bot count
AiPlayerbot.MinRandomBots = 50
AiPlayerbot.MaxRandomBots = 50
AiPlayerbot.RandomBotMinLevel = 1
AiPlayerbot.RandomBotMaxLevel = 80
# Enable/Disable rotation of bots (randomly select a bot from the bots pool to go online and rotate them periodically)
# default: 0 (disable, the online bots are fixed)
AiPlayerbot.EnableRotation = 0
# Bots pool size for rotation (should be less than RandomBotAccountCount * 10)
AiPlayerbot.RotationPoolSize = 500
# Accounts to create for random bots
AiPlayerbot.RandomBotAccountPrefix = "rndbot"
AiPlayerbot.RandomBotAccountCount = 200
以上配置修改好后,启动worldserver.exe
会自动创建机器人玩家相关数据表,确认即可。



其它部分直接参考以前的AC端编译教程,启动服务器,现在启动会提示机器人玩家自动登录,如下默认登录了50个角色在线:



进入游戏
现在客户端进游戏,在社交查询中刷新看看,是不是多了50位在线玩家?可以邀请他们为队友,一起下副本,所有机器人都会自动配合你。

因为建公会需要10名玩家,找不到另外9人签名?现在有机器人玩家了,直接让他们签名即可。



在副本中机器人会主动捡尸体,但是会放弃装备,除非你主动给他们,你可以给机器人队友装备,如果给的装备比他现在的更好,会自动装备上。
哪怕你不在线了,这些机器人玩家也会在线游戏,看看我这边服务器上在线玩家排行榜(机器人都是英文名的角色):

而且他们一样会参与PVP对战,就和面对真实玩家一样:

机器人管理指令
游戏中可以有二种机器人队友,一种就是服务器自动随机生成的机器人玩家,他们的种族/职业/等级你不可控,你可以加好友也可以组队,还可以一起做任务,就把他们当真实的玩家一样,如果你下线了,他们只是离开你,自己在游戏中继续练级;另一种就是自己召唤的机器人,使用
.playerbot bot addclass warrior/paladin/dk/rogue/druid/hunter/shaman/mage/warlock/priest
指令增加指定职业机器人,你可以使用.playerbot bot init=auto *
指令让他们自动初始化到你的等级,但你下线后他们也会自动下线,这就像是你的机器人小号一样,所以一定要加为好友,方便自己持续培养。
当然,你也可以直接把自己的小号以机器人的方式加到游戏中一起组队练级:
.playerbot bot add 角色名
RANDOM BOT
指令需要在队伍中或私聊发送
指令 | 说明 |
---|---|
summon | 传送队中机器人到你身边来 |
grind | 机器人练机(全队机器人自动攻击附近能提升经验值的怪物) |
follow | 让机器人跟随自己 |
trainer learn | 让机器人学习技能(要在技能NPC处并选中NPC) |
release | 让死亡的队友机器人释放灵魂 |
add all loot | 让机器人扫荡尸体 |
flee | 让机器人逃跑到你所在位置并跟随你 |
@tank/@dps/@heal/@melee/@ranged flee | 让指定类型机器人逃跑 |
attack | 让机器人攻击目标 |
@tank/@dps/@heal/@melee/@ranged attack | 让指定类型机器人攻击目标 |
formation arrow/queue/near/melee/line/circle/chaos/shield | 改变阵型 |
stay | 让机器人原地不动 |
drink | 让机器人喝水 |
stats | 查看机器人当前状态 |
quests | 查看机器人任务状态 |
talk | 让机器人和选择的NPC对话(完成对话类任务) |
spells | 查看机器人法术列表 |
reset botAI | 重置机器人AI |
help | 私聊机器人可以得到指令帮助 |
SUMMONED BOT
对自己召唤的机器人还可以使用以下.playerbots
指令:
指令 | 说明 |
---|---|
.playerbot bot init=auto | 初始化队伍中选定的机器人 |
.playerbot bot init=auto * | 初始化队伍中所有机器人 |
.playerbot bot add | 让队伍中选定机器人上线 |
.playerbot bot add * | 让队伍中所有机器人上线 |
.playerbot bot remove | 让队伍中选定机器人下线 |
.playerbot bot remove * | 让队伍中所有机器人下线 |
.playerbot bot addclass warrior/paladin/dk/rogue/druid/hunter/shaman/mage/warlock/priest | 增加指定职业机器人 |
插件管理
除了以上指令的方式,还可以安装unbot插件来更方便的管理机器人队伍:
https://github.com/liyunfan1223/unbot-addon

