For development and play
- VMWARE player
- ubuntu-24.04-live-server-amd64.iso (minimal setup)
- 100GB disk
- 64 GB memory
- assigned 16 threads (8 cores, 2 cores per thread) running on AMD 7945HX
- network (bridged mode)
mysql --help | grep my.cnf
sudo nano /etc/mysql/my.cnf
sudo systemctl restart mysql
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
# error while restart?
sudo journalctl -xeu mysql.service --no-pager | tail -n 30
/etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
# ------------------ Memory Usage ------------------
innodb_buffer_pool_size = 24G
innodb_buffer_pool_instances = 8
innodb_log_buffer_size = 512M
innodb_redo_log_capacity = 2G
# ------------------ I/O & NVMe Tuning ------------------
innodb_flush_method = O_DIRECT # Avoid OS cache — best for NVMe
innodb_use_fdatasync = ON
innodb_io_capacity = 8000 # Pushes high IOPS for writes
innodb_io_capacity_max = 16000 # Maximize during bursts
# ------------------ Temp Tables & Buffers ------------------
tmp_table_size = 256M
max_heap_table_size = 256M
table_open_cache = 4096
open_files_limit = 65535
thread_cache_size = 200
join_buffer_size = 2M
sort_buffer_size = 4M
read_buffer_size = 2M
read_rnd_buffer_size = 1M
# ------------------ Concurrency / Threads ------------------
thread_handling = one-thread-per-connection
thread_cache_size = 64
max_connections = 300
table_open_cache = 4000
open_files_limit = 65535
# ------------------ Locking/Deadlocks ------------------
innodb_lock_wait_timeout = 10
innodb_deadlock_detect = ON
# ------------------ File & Table Management ------------------
innodb_file_per_table = 1
# ------------------ Logging / Debug ------------------
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 1
log_queries_not_using_indexes = 1
binlog_expire_logs_seconds = 604800 # 7 days
sudo apt update -y && sudo apt upgrade -y && sudo apt install -y git net-tools nano
git clone https://github.com/hermensbas/azerothcore_installer.git
cd azerothcore_installer.git
chmod +x *.sh
ifconfig (in order to find your ip)
nano settings.env (update ur settings)
./setup.sh
source ~/.bashrc
update
build
compiledisable playerbots
nano config/modules/playerbots.config
AiPlayerbot.Enabled = 0disable ahbot
nano config/modules/mod_ahbot.config
#AuctionHouseBot.Account = 0
AuctionHouseBot.GUID = 0
AuctionHouseBot.EnableSeller = 0
#AuctionHouseBot.EnableBuyer = 0Start the server
config
startCreate accounts
> account create ahbot mypass
> account create admin mypass
> account set gmlevel admin 3 -1 Logon the server with 'ahbot' and create lvl 1 char and logoff again.
Find ah-bot character settings
./script/find-character.sh ahbot
accountId characterName characterId
1 Yappe 1
Find character executed...Configure and enable ahbot
nano config/modules/mod_ahbot.config
#AuctionHouseBot.Account = 1
AuctionHouseBot.GUID = 1
AuctionHouseBot.EnableSeller = 1
#AuctionHouseBot.EnableBuyer = 1Enable playerbots
nano config/modules/playerbots.config
AiPlayerbot.Enabled = 1Stop server, re-apply configuration, and start server
ctrl + z
stop
config
start- 3.3.5a (Chromiecraft.com)
- Chromiecraft HD patch optional or huge patch 2024 23GB graphic patch
Personally i prefere the chromiecraft HD patch without the T-patch, blizzlike :)
Configure your server IP in 'data/enUS/realmlist.wtf' files
Addons (download):
- Allstats
- Mapster (map fog disabled, we wanna explore instead seeing the whole map out of the box)
- Grid
- UnBot (english version)
- AI_VoiceOver
- AI_VoiceOverData_Vanilla
- https://gitlab.com/Tsoukie/compactraidframe-3.3.5
- https://github.com/Macx-Lio/MultiBot (still under development)
Use the above (ifconfig) IP for the following router poort-forwarding and/or firewall rules settings.
# 3724 TCP AUTH-SERVER
# 8085 TCP WORLD-SERVER
.server info (shows latency and amount of bots)
.modify speed <default 1>
.gm fly on | off
.modify money
.appear
.server shutdown 5
.maxskill
.learn all my class
.level <amount of levels to add>
.character level <name> <level>
.teleport orgrimmar or .tel orgrimmar)
.leave (when you want the group to leave you alone!)
.addItem itemName (or ctrl+click the item)
.lookup item ThunderFury
.lookup event moonfair
.event start|stop id
.distance (amount of yards between you and selected target)
.gps
.go xyz
/whisper bot nc +debugCode references
- See mod-playerbot/src/strategy/actions/ChatActionContext.h | cpp
- See mod-playerbot/src/strategy/action/ActionContext.h | cpp
- See mod-playerbot/src/ChatFilter.cp
- See mod-playerbot/src/PlayerbotMgr.cpp
- See unbot add-on tooltips
# Unbot has init=auto but that doesnt always work, esp when ur level 1 (for now) alternativy use
# the following or when the bots are to strong you can lower the equipment.
.playerbot bot init=white | common | uncommon | rare | epic | legendary
.playerbot bot init=MaxItemLevel
.playerbot rndbot init (re-randomize all bots again)
(rndbot stats/update/reset/init/refresh/add/remove)
autogear (whenever init is broken, max equipment levelItem configured in playerbot.conf)
maintenance ( e.g. clears quest log, smart destroy items in inventory etc)
# let alt bots attack other bot on sight in pvp zone
nc +pvp
nc -pvp
# equip urself
'.playerbot bot self', whisper yourself 'maintenance', whisper yourself 'autogear', whisper yourself 'nc +new rpg,+grind'
# After init or talents respec make sure you reset bot AI (see unbot).
.playerbot bot add <name-of-character-on-account> (or account name instead of character name to add all characters on an account
# while in BG
.playerbots debug bg showpath=all Tank attack @dps attack in 10 seconds
@tank attack
/in 10 @dps attack
or use
you could also use co +passive to get the dps to not attack until you use co -passive
