前言
PlayerBots 是讓私服變得生動的關鍵模組。它能添加 AI 控制的機器人玩家,讓你即使一個人也能體驗完整的團隊遊戲樂趣。
PlayerBots 功能特色
- 智慧型 AI:機器人會自動戰鬥、治療、施放增益
- 職業完整:支援所有職業和專精
- 隊伍協作:可組成 5 人小隊或 25 人團隊
- 自訂行為:可調整機器人的戰鬥策略
- 隨機活動:機器人會在世界中自由活動
設定檔配置
編輯 mod_playerbots.conf
vim /opt/wow/server/etc/mod_playerbots.conf
基本設定
# 啟用 PlayerBots
AiPlayerbot.Enabled = 1
# 機器人數量設定
AiPlayerbot.MinRandomBots = 50
AiPlayerbot.MaxRandomBots = 200
AiPlayerbot.RandomBotMinLevel = 1
AiPlayerbot.RandomBotMaxLevel = 80
# 機器人帳號前綴
AiPlayerbot.RandomBotAccountPrefix = "rndbot"
AiPlayerbot.RandomBotAccountCount = 200
# 地圖分布
AiPlayerbot.RandomBotMaps = "0,1,530,571"
# 起始區域機器人
AiPlayerbot.RandomBotStartingLevel = 5
AiPlayerbot.RandomBotsPerInterval = 10
AiPlayerbot.RandomBotsRefreshInterval = 60
進階行為設定
# 戰鬥行為
AiPlayerbot.BotFollowDistance = 50
AiPlayerbot.ReactDistance = 100
AiPlayerbot.SightDistance = 75
AiPlayerbot.SpellDistance = 30
# 自動接受
AiPlayerbot.AutoAcceptQuests = 1
AiPlayerbot.AutoPickReward = 1
AiPlayerbot.AutoEquipUpgradeLoot = 1
# 社交功能
AiPlayerbot.AllowGuildBots = 1
AiPlayerbot.RandomBotGuilds = "聯盟公會,部落公會"
AiPlayerbot.RandomBotJoinLfg = 1
AiPlayerbot.RandomBotJoinBG = 1
# 經濟系統
AiPlayerbot.RandomBotBuyItems = 1
AiPlayerbot.RandomBotSellItems = 1
AiPlayerbot.BotRepairWhenNeed = 1
職業特定設定
# 坦克職業
AiPlayerbot.ClassRaceProbability.1 = 20 # 戰士
AiPlayerbot.ClassRaceProbability.2 = 15 # 聖騎士
AiPlayerbot.ClassRaceProbability.6 = 10 # 死亡騎士
# 治療職業
AiPlayerbot.ClassRaceProbability.5 = 15 # 牧師
AiPlayerbot.ClassRaceProbability.7 = 10 # 薩滿
AiPlayerbot.ClassRaceProbability.11 = 10 # 德魯伊
# DPS 職業
AiPlayerbot.ClassRaceProbability.3 = 10 # 獵人
AiPlayerbot.ClassRaceProbability.4 = 10 # 盜賊
AiPlayerbot.ClassRaceProbability.8 = 15 # 法師
AiPlayerbot.ClassRaceProbability.9 = 10 # 術士
機器人管理指令
召喚機器人
在遊戲中使用以下指令:
.bot add [機器人名稱] # 添加指定機器人
.bot add random # 添加隨機機器人
.bot remove [機器人名稱] # 移除機器人
.bot remove all # 移除所有機器人
控制指令
/w [機器人名] follow # 跟隨
/w [機器人名] stay # 待命
/w [機器人名] attack # 攻擊
/w [機器人名] flee # 逃跑
/w [機器人名] tank # 設為坦克
/w [機器人名] heal # 設為治療
/w [機器人名] dps # 設為 DPS
裝備管理
/w [機器人名] equip auto # 自動裝備
/w [機器人名] sell gray # 賣掉灰色物品
/w [機器人名] repair # 修理裝備
/w [機器人名] talent # 查看天賦
建立機器人帳號
批量建立腳本
vim /opt/wow/create_bot_accounts.sh
加入內容:
#!/bin/bash
MYSQL_USER="acore"
MYSQL_PASS="acore_password"
DB_NAME="acore_auth"
for i in {1..200}
do
ACCOUNT="rndbot$i"
PASSWORD="password$i"
mysql -u$MYSQL_USER -p$MYSQL_PASS $DB_NAME -e "
INSERT INTO account (username, sha_pass_hash, email, reg_mail, expansion)
VALUES ('$ACCOUNT', SHA1(CONCAT(UPPER('$ACCOUNT'), ':', UPPER('$PASSWORD'))),
'bot$i@server.local', 'bot$i@server.local', 2);"
echo "Created account: $ACCOUNT"
done
echo "Bot accounts created successfully!"
執行腳本:
chmod +x /opt/wow/create_bot_accounts.sh
./create_bot_accounts.sh
優化機器人表現
資料庫優化
-- 優化機器人資料表
OPTIMIZE TABLE acore_characters.characters;
OPTIMIZE TABLE acore_characters.character_inventory;
OPTIMIZE TABLE acore_characters.character_spell;
-- 建立索引
CREATE INDEX idx_bot_account ON acore_auth.account(username);
CREATE INDEX idx_bot_guid ON acore_characters.characters(guid);
效能調整
# 減少 CPU 使用
AiPlayerbot.UpdateCycle = 100 # 更新週期(毫秒)
AiPlayerbot.MaxProcessTime = 50 # 最大處理時間
AiPlayerbot.ReactDelay = 500 # 反應延遲
# 記憶體優化
AiPlayerbot.CacheLevel = 2 # 快取等級
AiPlayerbot.LogLevel = 1 # 日誌等級(1=錯誤)
自訂機器人策略
策略控制指令
你可以使用遊戲內聊天(密語、隊伍、團隊頻道)來控制機器人的策略:
# 查看與修改策略
co ? # 列出戰鬥策略 (combat strategies)
nc ? # 列出非戰鬥策略 (non-combat strategies)
# 停止治療者浪費法力在 DPS 上
nc -dps assist # 移除 DPS 輔助策略
nc ? # 確認策略已移除
注意:如果重新初始化機器人,策略會重置為 playerbots.conf 中的預設值。
常用策略調整
治療專注設定
讓治療者只專注治療,不進行攻擊:
/w [機器人名] nc -dps assist
/w [機器人名] nc +heal
坦克策略
確保坦克維持仇恨:
/w [機器人名] co +tank
/w [機器人名] co +threat
DPS 優化
讓 DPS 更積極攻擊:
/w [機器人名] co +dps assist
/w [機器人名] co +aoe
建立策略檔案
vim /opt/wow/server/etc/aiplayerbot/strategies/custom.txt
範例策略:
# 坦克策略
tank:
- defensive stance
- shield block > 80% health
- taunt on aggro loss
- thunder clap > 3 enemies
# 治療策略
healer:
- heal tank < 50% health
- group heal < 70% health
- dispel debuffs
- mana management
# DPS 策略
dps:
- attack from behind
- use cooldowns on boss
- aoe > 3 enemies
- focus priority target
機器人外觀設定
隨機外觀
# 外觀多樣性
AiPlayerbot.RandomBotRandomiseAppearance = 1
AiPlayerbot.RandomBotShowHelmet = 1
AiPlayerbot.RandomBotShowCloak = 1
# 裝備品質
AiPlayerbot.RandomGearQuality = "2,3,4" # 綠、藍、紫
AiPlayerbot.RandomBotArmorQuality = 3
AiPlayerbot.RandomBotWeaponQuality = 3
故障排除
機器人不出現
# 檢查帳號是否建立
mysql -u acore -p acore_auth -e "SELECT * FROM account WHERE username LIKE 'rndbot%';"
# 檢查模組載入
tail -f /opt/wow/server/logs/worldserver.log | grep PlayerBot
機器人不動作
# 調整設定
AiPlayerbot.AllowActivity = all
AiPlayerbot.BotActiveAlone = 1
AiPlayerbot.RandomBotUpdateInterval = 10
實用技巧
組建完美隊伍
# 5 人小隊配置
.bot add warrior # 坦克
.bot add priest # 治療
.bot add mage # DPS
.bot add hunter # DPS
.bot add rogue # DPS
副本攻略
# 設定隊伍模式
/w all formation arrow
/w tank protect healer
/w dps assist tank
/w healer focus tank
下一步
PlayerBots 設定完成!現在你的私服擁有:
✅ 智慧型 AI 機器人
✅ 豐富的互動體驗
✅ 自訂戰鬥策略
✅ 完整的隊伍系統
下一篇將介紹伺服器的基本配置調整。