From a876a63007aba707592047f6c50068b1bf1069e3 Mon Sep 17 00:00:00 2001 From: Keleborn <22352763+Celandriel@users.noreply.github.com> Date: Mon, 16 Mar 2026 13:06:14 -0700 Subject: [PATCH] Updates based on feedback --- Installation-Guide.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Installation-Guide.md b/Installation-Guide.md index dc4e774..28d5c95 100644 --- a/Installation-Guide.md +++ b/Installation-Guide.md @@ -115,10 +115,19 @@ After building and installing, a `playerbots.conf.dist` file will be in your ser > **Critical:** Always edit the `.conf` file in your **server's install/config directory**, not the `.conf.dist` file in the module source folder. Changes to `.conf.dist` or to files in the source `modules/` directory have no effect on the running server. Both the `.conf.dist` and `.conf` files must be present for the module to work. -3. **Tune MySQL for playerbots.** The default MySQL configuration is not adequate for use with playerbots and will lead to increased disk activity and decreased performance. Key settings to add to your MySQL config (`my.cnf` or `my.ini`): +3. **Increase map update threads** in `worldserver.conf`. This is the single most impactful performance setting for playerbots: + + ``` + MapUpdate.Threads = 4 + ``` + + Set this to 4–6 for most systems (roughly number of CPU cores minus 2). AzerothCore performance is heavily dependent on single-core performance, and you are unlikely to see any benefit from using more than 8 threads. Setting this to 12, 16, or higher does not improve performance — it can actually increase overhead. + +4. **Tune MySQL for playerbots.** The default MySQL configuration is not adequate for use with playerbots and will lead to increased disk activity and decreased performance. Key settings to add to your MySQL config (`my.cnf` or `my.ini`): ```ini [mysqld] + skip-log-bin # Disables binary logging — reduces disk writes by 75-90%. Safe for single-server setups that don't need replication. innodb_buffer_pool_size = 4G # Set to ~50% of total RAM innodb_io_capacity = 500 innodb_io_capacity_max = 2500 @@ -147,6 +156,8 @@ If you already have a working AzerothCore server and want to add `mod-playerbots mysqldump -u acore -p acore_characters > characters_backup.sql ``` + > **Tip:** If you only need to back up specific characters rather than the entire database, you can use the `.pdump write` and `.pdump load` commands in-game. For example, `.pdump write dump.sql ` exports a single character, and `.pdump load dump.sql ` imports it. This is a quick option if you don't need a full database backup. + 2. **Switch your AzerothCore repository to the Playerbots fork.** From your existing `azerothcore-wotlk` directory, change the remote URL and pull the Playerbot branch: ```bash cd azerothcore-wotlk @@ -275,4 +286,6 @@ make -j $(nproc) make install ``` +> **Note:** If you are only pulling updates (no new cmake options or module additions), you can skip the `cmake ..` step and just run `make -j $(nproc) && make install`. Re-running cmake is only necessary when you change build options, add/remove modules, or do a fresh build. + > **Important:** Always update **both** the core and the module together. Running a newer module against an older core (or vice versa) can cause compilation errors or runtime crashes.