Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
183 commits
Select commit Hold shift + click to select a range
3900237
Filter bot logins by level range
NoxMax Aug 3, 2025
1061170
formatting
NoxMax Aug 3, 2025
95410c5
formatting
NoxMax Aug 4, 2025
c38303c
Merge branch 'liyunfan1223:master' into login-range
NoxMax Aug 9, 2025
0cf41ad
Merge branch 'master' into login-range
NoxMax Aug 9, 2025
93975cc
Merge branch 'master' into login-range
hermensbas Aug 10, 2025
cb8c7a8
Merge branch 'liyunfan1223:master' into login-range
NoxMax Aug 10, 2025
f37ef41
Clarify user conf
NoxMax Aug 12, 2025
0c3a799
Merge branch 'liyunfan1223:master' into login-range
NoxMax Aug 18, 2025
5f87541
Better error handling when no eligible bots for level login range
NoxMax Aug 21, 2025
02343ed
Merge branch 'master' into login-range
NoxMax Aug 27, 2025
19399c6
Implement Karazhan strategy
noisiver Jul 20, 2025
fe9791e
Revert edit not intended for PR
brighton-chi Sep 10, 2025
311bf32
Update Shadow Nova action
brighton-chi Sep 10, 2025
6d57172
Merge remote-tracking branch 'upstream/master' into karazhan
brighton-chi Sep 12, 2025
e60876a
Update Aran, Netherspite, Prince
brighton-chi Sep 12, 2025
22d1cc9
BBW and other edits
brighton-chi Sep 21, 2025
ca0dafd
Fix SetTotemAction
Tierisch Sep 22, 2025
f35e39e
Removing unnecessary variable
Tierisch Sep 22, 2025
103c738
Add support for Wintergrasp battleground strategies
icemansparks Sep 25, 2025
7dcd4d0
Adds Wintergrasp battleground support with conditional logic
icemansparks Sep 25, 2025
c023178
Prioritize Wintergrasp in battleground queue selection
icemansparks Sep 25, 2025
2c3e7a0
Add Wintergrasp capture interactions and vehicle entry requirements
icemansparks Sep 25, 2025
4dba578
Add key positions and objective selection logic for Wintergrasp battl…
icemansparks Sep 25, 2025
e8b7036
Add minimal path definitions for Wintergrasp battleground navigation
icemansparks Sep 25, 2025
da07bbb
Enhance Wintergrasp vehicle entry logic with rank requirements and ro…
icemansparks Sep 25, 2025
697f162
Improve objective selection logic to prioritize capturable banners fo…
icemansparks Sep 25, 2025
d62299e
Enhance objective selection logic to prioritize gate pushes based on …
icemansparks Sep 25, 2025
ac0aab8
Enhance Wintergrasp vehicle logic to improve entry conditions and rol…
icemansparks Sep 25, 2025
73aa17a
Enhance objective selection for defenders to prioritize intercepting …
icemansparks Sep 25, 2025
9869734
Enhance vehicle selection logic for defenders to prioritize tower can…
icemansparks Sep 25, 2025
58b53ae
Refactor Wintergrasp handling by removing conditional compilation and…
icemansparks Sep 25, 2025
a27dd1b
Add Wintergrasp-specific strategies and objective selection logic for…
icemansparks Sep 25, 2025
721ebb1
Prevent vehicle entry during Wintergrasp preparation and ensure battl…
icemansparks Sep 25, 2025
903c6e5
Implement defender strategy to send strike teams to attacker towers w…
icemansparks Sep 25, 2025
a44e5bd
Enhance vehicle selection logic for bots to prioritize entering siege…
icemansparks Sep 25, 2025
ac41c9e
Enhance objective selection logic to introduce randomness for side br…
icemansparks Sep 25, 2025
558c0dd
correct formatting
icemansparks Sep 25, 2025
a18c903
fix wrong formatting
icemansparks Sep 25, 2025
078b9b2
Refactor EnterVehicleAction to remove duplicated declaration
icemansparks Sep 25, 2025
8e71225
Apply suggestion from @Copilot
icemansparks Sep 25, 2025
4752992
Update src/strategy/actions/BattleGroundTactics.cpp
icemansparks Sep 25, 2025
8985b6f
Update src/strategy/actions/BattleGroundTactics.cpp
icemansparks Sep 25, 2025
d34857c
Update src/strategy/actions/BattleGroundTactics.cpp
icemansparks Sep 25, 2025
dd9027c
Update src/strategy/actions/BattleGroundTactics.cpp
icemansparks Sep 25, 2025
f050518
Remove mapping for BATTLEGROUND_WG in JoinQueue and Execute methods, …
icemansparks Sep 25, 2025
6ae7bec
Add Battlefield support for Wintergrasp in BGTactics and update trigg…
icemansparks Sep 25, 2025
2d2f516
Update src/strategy/actions/BattleGroundTactics.cpp
icemansparks Sep 25, 2025
057c845
Update src/strategy/actions/VehicleActions.cpp
icemansparks Sep 25, 2025
01f0b71
- Code refactoring
kadeshar Sep 25, 2025
d315a0b
Refactor Wintergrasp handling in BattleGroundTactics and VehicleActio…
icemansparks Sep 25, 2025
fc69dd5
FIX Random Bot Guilds not initialising random emblem, colors, etc #16…
Wishmaster117 Sep 25, 2025
c6b40ac
Implement Wintergrasp support for random bots: add auto-join queue, t…
icemansparks Sep 25, 2025
d530947
Add Wintergrasp support for random bots: enable participation and que…
icemansparks Sep 25, 2025
60db1ce
Update playerbots configuration for Wintergrasp: enable auto-join que…
icemansparks Sep 25, 2025
b990c1d
Fix level bracket retrieval in WintergraspQueueAction: change from 'f…
icemansparks Sep 25, 2025
54039a3
Add detailed logging for Wintergrasp actions: enhance debugging infor…
icemansparks Sep 25, 2025
f26c4e9
Fix: Prevent bots from eating and drinking while mounted
gacuna89 Sep 25, 2025
dff4934
Fix: Prevent priests in Spirit of Redemption form from using mana
gacuna89 Sep 25, 2025
005ddee
Add Wintergrasp fill logic for random bots: implement CheckWGFill to …
icemansparks Sep 25, 2025
f444227
Refactor randomization in CheckWGFill: use global RandomEngine for lo…
icemansparks Sep 25, 2025
e8954f6
resolve some comments + more
brighton-chi Sep 26, 2025
bdfd45c
Merge remote-tracking branch 'upstream/master' into karazhan
brighton-chi Sep 27, 2025
f23b2ea
fix: Optimize DrinkAction to check mana in isUseful instead of Execut…
gacuna89 Sep 27, 2025
f5a6194
Fixed some comments in the config (#1668)
brighton-chi Sep 27, 2025
0547ce5
- Code optimalizations
kadeshar Sep 27, 2025
3228667
Merge branch 'master' into patch-2
hermensbas Sep 27, 2025
b9dbfe9
fix: Allow following master's mount state regardless of group leader …
icemansparks Sep 27, 2025
e042e3b
Added shapeshift
hermensbas Sep 27, 2025
662e7f1
Update ShamanActions.cpp
hermensbas Sep 27, 2025
05d3a44
Merge pull request #1651 from Tierisch/shaman_fix
kadeshar Sep 27, 2025
d9b57fc
Updated the locations of the checks, also added the checks as additio…
hermensbas Sep 27, 2025
62e2ca2
formatting
hermensbas Sep 27, 2025
ec4ab34
Update NonCombatActions.cpp
hermensbas Sep 27, 2025
23d9931
Resolved crash in BGStatusAction (#1656)
avirar Sep 27, 2025
c8f3256
Merge branch 'master' into login-range
hermensbas Sep 27, 2025
59555b2
Moved yells to database
brighton-chi Sep 28, 2025
ec8e9db
Merge remote-tracking branch 'upstream/master' into karazhan
brighton-chi Sep 28, 2025
e525c22
Fix SPEC_TAB names
brighton-chi Sep 28, 2025
34ce17f
Fix wrong cast spell action passed to the PullPowerSparkAction constr…
privatecore Sep 27, 2025
c20fb34
- Added method to get translation bot text or default (#1678)
kadeshar Sep 28, 2025
30bd58b
Fix wrong PlayerbotAI parameter name passed to the constructor (#1672)
privatecore Sep 28, 2025
b0f3de6
Fix warning: delete called on non-final that has virtual functions bu…
privatecore Sep 28, 2025
6f79193
Config option to set max number of guild members in random bot guilds
IainD92 Sep 28, 2025
03a5640
Merge pull request #1681 from IainD92/GuildSizeConfig
kadeshar Sep 28, 2025
873767d
Merge pull request #1670 from icemansparks/fix-mount-state-logic
kadeshar Sep 28, 2025
7ff56df
Merge pull request #1673 from privatecore/fix-pull-power-spark
kadeshar Sep 28, 2025
c3eecc0
Merge pull request #1676 from brighton-chi/spec-tab-names
kadeshar Sep 28, 2025
df77668
Review
hermensbas Sep 28, 2025
0afeca4
Merge remote-tracking branch 'upstream/master' into karazhan
brighton-chi Sep 28, 2025
aaa9e1a
Placed cheap checks in isPossible() more expensive in isUseful()
hermensbas Sep 28, 2025
972e260
Update NonCombatActions.cpp
hermensbas Sep 28, 2025
55b58a2
Simplify checks & implement getbottext method
brighton-chi Sep 29, 2025
a196040
Merge pull request #1662 from gacuna89/patch-2
kadeshar Sep 29, 2025
2e1507b
Various corrections
brighton-chi Sep 29, 2025
01915ff
Added null check to Queue::findHighestRelevanceBasket() (#1686)
avirar Sep 30, 2025
0cc1541
license update (#1674)
hermensbas Sep 30, 2025
a5120c0
Fix spacing issue and removed unnecessary spaces (#1684)
noisiver Sep 30, 2025
7dac49c
Fix wrong prepared statement used for the PlayerbotDbStore::Reset iss…
privatecore Sep 30, 2025
25726f5
Update RandomPlayerbotMgr.cpp
NoxMax Oct 1, 2025
1ea17e5
Merge pull request #1499 from NoxMax/login-range
kadeshar Oct 1, 2025
06e4530
Added const
hermensbas Oct 1, 2025
aea5841
- Changed item usage value on new method (#1692)
kadeshar Oct 1, 2025
31b19aa
Minor correction, scope was to big.
hermensbas Oct 1, 2025
c503199
Merge pull request #1663 from gacuna89/patch-3
kadeshar Oct 2, 2025
24e6922
Fix: Shaman bots stuck spamming “Call of the Elements” / “set … totem…
Wishmaster117 Oct 2, 2025
ffa8c6d
Merge pull request #1623 from brighton-chi/karazhan
kadeshar Oct 3, 2025
387c491
fix(Playerbots): Remove auras before teleporting to prevent crash
Oct 3, 2025
f2b5580
Maintenance config for altbots (#1693)
IainD92 Oct 3, 2025
2a340ce
Update playerbots.conf.dist (#1698)
IainD92 Oct 3, 2025
377ac19
Revert "Feat: Filter bot logins by level range" (#1705)
hermensbas Oct 3, 2025
21ea3a7
Merge branch 'liyunfan1223:master' into fix/remove-auras-before-teleport
avirar Oct 3, 2025
7d50cee
Update RandomPlayerbotFactory.cpp
IainD92 Oct 1, 2025
8a68de4
Update RandomPlayerbotFactory.cpp
IainD92 Oct 1, 2025
444be29
v2
IainD92 Oct 1, 2025
24f841f
Verbose logging.
IainD92 Oct 1, 2025
0e4c759
Wishmaster update
IainD92 Oct 2, 2025
d26c2a3
fix: Clean visibility references before bot teleport to prevent crash
Oct 5, 2025
1faf20f
removeFromGroup replaced with worldpackets
hermensbas Oct 5, 2025
780f6d6
fix build errors
hermensbas Oct 5, 2025
c90b155
fix: Replace static m_botReleaseTimes with per-bot storage to prevent…
Oct 6, 2025
e00c8fc
Updated the spell id for Spirit of Redemption (#1709)
noisiver Oct 6, 2025
cf4f0f6
renamed function name
hermensbas Oct 6, 2025
5681f29
Merge branch 'liyunfan1223:master' into fix/remove-auras-before-teleport
avirar Oct 7, 2025
3f050a4
Change LOG_INFO to LOG_DEBUG
IainD92 Oct 7, 2025
5b128b3
- Update method in QueryItemUsageForEquip (#1701)
kadeshar Oct 9, 2025
31ed5cb
fixes
hermensbas Oct 9, 2025
1fb66e9
- Fixed issues in ai_playerbot_texts table scripts (#1723)
kadeshar Oct 9, 2025
cea1e90
Merge pull request #1714 from avirar/fix/remove-auras-before-teleport
kadeshar Oct 10, 2025
5a0c276
Merge pull request #1708 from hermensbas/feature/removeFromGroup_repl…
kadeshar Oct 10, 2025
8a30d10
Prevent Crash if sTaxiPathStore.LookupEntry return nullptr
Wishmaster117 Oct 11, 2025
d0ac945
Fix Opcode dispatch, trusts every queued packet to have a handler
Wishmaster117 Oct 11, 2025
bd13d6b
Merge pull request #1727 from Wishmaster117/Prevent-Crash-if-sTaxiPat…
kadeshar Oct 11, 2025
525eceb
Merge pull request #1728 from Wishmaster117/Fix-Opcode-dispatch,-trus…
kadeshar Oct 11, 2025
e1fa733
Preparation for project transfer (#1733)
liyunfan1223 Oct 13, 2025
3260ca1
Cleanups to config and source (#1720)
brighton-chi Oct 14, 2025
f791ab6
Update server loading message
brighton-chi Oct 16, 2025
553b827
Heirloom quality auto-equip calculation implemented (#1732)
kikiviki Oct 18, 2025
10ce94e
Removal space lel (#1740)
hermensbas Oct 18, 2025
e693b20
FIX: ICC - default return position for BQL (#1737)
nl-saw Oct 18, 2025
5a4acbe
Update PvpValues.cpp (#1746)
nl-saw Oct 19, 2025
f874d2c
Fix typo in server loading message (#1742)
brighton-chi Oct 19, 2025
2c5185a
Update StatsWeightCalculator.cpp (#1744)
Wishmaster117 Oct 20, 2025
50ac6e5
core_merge_changes (#1747)
hermensbas Oct 20, 2025
e0df655
Added shaman default combat strategy names on top of custom (#1739)
hermensbas Oct 20, 2025
7e810f8
Update README.md (#1750)
hermensbas Oct 20, 2025
6e1c911
FIX: part of logic in picking quest reward (#1752)
nl-saw Oct 21, 2025
1d19dea
Update RandomPlayerbotFactory.cpp
IainD92 Oct 22, 2025
286213e
Fix Playerbots won't fly #1753 (#1761)
Wishmaster117 Oct 22, 2025
c3fd97b
Fix: Prevent addClass bots from getting realm firsts (#1745)
NoxMax Oct 23, 2025
7237b15
Added intelliJ project folder on exclusion list (#1764)
hermensbas Oct 24, 2025
235f024
insert of deDE localized chatter texts into text_loc3 (#1675)
Raz0r1337 Oct 28, 2025
5d3e648
important bugfix for the last PR #1675 (#1782)
Raz0r1337 Oct 29, 2025
cb099bc
Update repository condition for C++ job
kadeshar Nov 1, 2025
586c4d9
- Added codestyle azerothcore python script
kadeshar Nov 1, 2025
bbbf71d
- added missing var for codestyle azerothcore
kadeshar Nov 1, 2025
12a5132
Merge pull request #1793 from kadeshar/codestyle-azerothcore
noisiver Nov 1, 2025
f7fea45
Fix PositionInfo constructors' members order (#1776)
privatecore Nov 2, 2025
43164e7
Normalize line endings for 2025_10_27_00_ai_playerbot_german_texts.sq…
noisiver Nov 2, 2025
7d5c9e3
Update 2025_10_27_00_ai_playerbot_german_texts.sql
Raz0r1337 Nov 4, 2025
d9f0d5a
Merge pull request #1808 from Raz0r1337/typo_fix
kadeshar Nov 4, 2025
e35900f
Merge pull request #1699 from IainD92/RandomBotGuildTotals_fix
kadeshar Nov 4, 2025
983a55d
Implement Gruul's Lair strategy (#1647)
brighton-chi Nov 4, 2025
26a135a
Rewrite RandomPlayerbotFactory for improved maintainability and futur…
privatecore Nov 4, 2025
80dbd22
Fixes equip bug with random suffix rings (#1757)
avirar Nov 4, 2025
c4c801e
Merge branch 'master' into feature/BG_Strategy_Wintergrasp
icemansparks Nov 5, 2025
acdb646
Enhance Wintergrasp bot behavior: Implement auto-join feature and ref…
icemansparks Nov 5, 2025
d02d61e
Implement Magtheridon strategy (#1721)
brighton-chi Nov 5, 2025
80886d6
Refine Wintergrasp bot strategy: Enhance objective selection and role…
icemansparks Nov 5, 2025
1f27b31
Add Wintergrasp battlefield data constants and update tower state que…
icemansparks Nov 5, 2025
0f46bc6
Enhance Wintergrasp strategy: Implement workshop control tracking, dy…
icemansparks Nov 5, 2025
ce51191
Fix. Leave group actions (#1774)
Celandriel Nov 5, 2025
26e5008
Refine Wintergrasp workshop and data IDs: Update enum definitions for…
icemansparks Nov 5, 2025
cf41198
Remove redundant comments regarding Wintergrasp battlefield ID mappin…
icemansparks Nov 5, 2025
72947b7
Update src/PlayerbotAIConfig.cpp
icemansparks Nov 5, 2025
819291e
Apply suggestion from @Copilot
icemansparks Nov 5, 2025
9689c2f
Replaces hardcoded Wintergrasp zone ID (4197) with a defined constant
icemansparks Nov 5, 2025
85c7009
Codestyle fix (#1797)
kadeshar Nov 5, 2025
82b066c
Optimize Wintergrasp logic with cached team capacity and refactoring
icemansparks Nov 5, 2025
946c725
Prevents bots from entering IoC Catapults
icemansparks Nov 5, 2025
4f96e6f
Codestyle fixes
icemansparks Nov 5, 2025
791d1f5
Merge remote-tracking branch 'origin/master' into feature/BG_Strategy…
icemansparks Nov 5, 2025
cb240a0
remove blanklines (codestyle)
icemansparks Nov 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
35 changes: 35 additions & 0 deletions .github/workflows/codestyle_cpp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: C++ Codestyle
on:
pull_request:
types:
- opened
- reopened
- synchronize
paths:
- src/**
- "!README.md"
- "!docs/**"

jobs:
triage:
runs-on: ubuntu-latest
name: C++
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v4
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: AzerothCore codestyle
run: python ./apps/codestyle/codestyle-cpp.py
- name: C++ Advanced
run: |
sudo apt update -y
sudo apt install -y cppcheck
cppcheck --force --inline-suppr --suppressions-list=./.suppress.cppcheck src/ --output-file=report.txt

if [ -s report.txt ]; then # if file is not empty
cat report.txt
exit 1 # let github action fails
fi
4 changes: 2 additions & 2 deletions .github/workflows/core_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
- name: Checkout AzerothCore
uses: actions/checkout@v3
with:
repository: 'liyunfan1223/azerothcore-wotlk'
repository: 'mod-playerbots/azerothcore-wotlk'
ref: 'Playerbot'

- name: Set reusable strings
Expand All @@ -50,7 +50,7 @@ jobs:
- name: Checkout Playerbot Module
uses: actions/checkout@v3
with:
repository: 'liyunfan1223/mod-playerbots'
repository: 'mod-playerbots/mod-playerbots'
path: 'modules/mod-playerbots'

- name: Cache
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/macos_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ jobs:
- name: Checkout AzerothCore
uses: actions/checkout@v4
with:
repository: 'liyunfan1223/azerothcore-wotlk'
repository: 'mod-playerbots/azerothcore-wotlk'
ref: 'Playerbot'
- name: Checkout Playerbot Module
uses: actions/checkout@v4
with:
repository: 'liyunfan1223/mod-playerbots'
repository: 'mod-playerbots/mod-playerbots'
path: 'modules/mod-playerbots'
- name: Cache
uses: actions/cache@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/windows_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ jobs:
- name: Checkout AzerothCore
uses: actions/checkout@v3
with:
repository: 'liyunfan1223/azerothcore-wotlk'
repository: 'mod-playerbots/azerothcore-wotlk'
ref: 'Playerbot'
- name: Checkout Playerbot Module
uses: actions/checkout@v3
with:
repository: 'liyunfan1223/mod-playerbots'
repository: 'mod-playerbots/mod-playerbots'
path: 'modules/mod-playerbots'
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2.13
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,5 @@ local.properties
.loadpath
.project
.cproject
.vscode
.vscode
.idea
1 change: 1 addition & 0 deletions .suppress.cppcheck
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cppcheckError
39 changes: 21 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<p align="center">
<a href="https://github.com/liyunfan1223/mod-playerbots/blob/master/README.md">English</a>
<a href="https://github.com/mod-playerbots/mod-playerbots/blob/master/README.md">English</a>
|
<a href="https://github.com/liyunfan1223/mod-playerbots/blob/master/README_CN.md">中文</a>
<a href="https://github.com/mod-playerbots/mod-playerbots/blob/master/README_CN.md">中文</a>
|
<a href="https://github.com/brighton-chi/mod-playerbots/blob/readme/README_ES.md">Español</a>
</p>
Expand All @@ -12,13 +12,13 @@
</div>

<div align="center">
<img src="https://github.com/liyunfan1223/mod-playerbots/actions/workflows/macos_build.yml/badge.svg">
<img src="https://github.com/liyunfan1223/mod-playerbots/actions/workflows/core_build.yml/badge.svg">
<img src="https://github.com/liyunfan1223/mod-playerbots/actions/workflows/windows_build.yml/badge.svg">
<img src="https://github.com/mod-playerbots/mod-playerbots/actions/workflows/macos_build.yml/badge.svg">
<img src="https://github.com/mod-playerbots/mod-playerbots/actions/workflows/core_build.yml/badge.svg">
<img src="https://github.com/mod-playerbots/mod-playerbots/actions/workflows/windows_build.yml/badge.svg">
</div>

# Playerbots Module
`mod-playerbots` is an [AzerothCore](https://www.azerothcore.org/) module that adds player-like bots to a server. The project is based off [IKE3's Playerbots](https://github.com/ike3/mangosbot) and requires a custom branch of AzerothCore to compile and run: [liyunfan1223/azerothcore-wotlk/tree/Playerbot](https://github.com/liyunfan1223/azerothcore-wotlk/tree/Playerbot).
`mod-playerbots` is an [AzerothCore](https://www.azerothcore.org/) module that adds player-like bots to a server. The project is based off [IKE3's Playerbots](https://github.com/ike3/mangosbot) and requires a custom branch of AzerothCore to compile and run: [mod-playerbots/azerothcore-wotlk/tree/Playerbot](https://github.com/mod-playerbots/azerothcore-wotlk/tree/Playerbot).

Features include:

Expand All @@ -28,20 +28,20 @@ Features include:
- Highly configurable settings to define how bots behave;
- Excellent performance, even when running thousands of bots.

**This project is still under development**. If you encounter any errors or experience crashes, we kindly request that you [report them as GitHub issues](https://github.com/liyunfan1223/mod-playerbots/issues/new?template=bug_report.md). Your valuable feedback will help us improve this project collaboratively.
**This project is still under development**. If you encounter any errors or experience crashes, we kindly request that you [report them as GitHub issues](https://github.com/mod-playerbots/mod-playerbots/issues/new?template=bug_report.md). Your valuable feedback will help us improve this project collaboratively.

`mod-playerbots` has a **[Discord server](https://discord.gg/NQm5QShwf9)** where you can discuss the project, ask questions, and get involved in the community!

## Installation

### Classic Installation

As noted above, `mod-playerbots` requires a custom branch of AzerothCore: [liyunfan1223/azerothcore-wotlk/tree/Playerbot](https://github.com/liyunfan1223/azerothcore-wotlk/tree/Playerbot). To install the module, simply run:
As noted above, `mod-playerbots` requires a custom branch of AzerothCore: [mod-playerbots/azerothcore-wotlk/tree/Playerbot](https://github.com/mod-playerbots/azerothcore-wotlk/tree/Playerbot). To install the module, simply run:

```bash
git clone https://github.com/liyunfan1223/azerothcore-wotlk.git --branch=Playerbot
git clone https://github.com/mod-playerbots/azerothcore-wotlk.git --branch=Playerbot
cd azerothcore-wotlk/modules
git clone https://github.com/liyunfan1223/mod-playerbots.git --branch=master
git clone https://github.com/mod-playerbots/mod-playerbots.git --branch=master
```

For more information, refer to the [AzerothCore Installation Guide](https://www.azerothcore.org/wiki/installation) and [Installing a Module](https://www.azerothcore.org/wiki/installing-a-module) pages.
Expand All @@ -51,9 +51,9 @@ For more information, refer to the [AzerothCore Installation Guide](https://www.
**Docker installation is considered experimental.** To install the module on a Docker installation, run:

```bash
git clone https://github.com/liyunfan1223/azerothcore-wotlk.git --branch=Playerbot
git clone https://github.com/mod-playerbots/azerothcore-wotlk.git --branch=Playerbot
cd azerothcore-wotlk/modules
git clone https://github.com/liyunfan1223/mod-playerbots.git --branch=master
git clone https://github.com/mod-playerbots/mod-playerbots.git --branch=master
```

Afterwards, create a `docker-compose.override.yml` file in the `azerothcore-wotlk` directory. This override file allows for mounting the modules directory to the `ac-worldserver` service which is required for it to run. Put the following inside and save:
Expand All @@ -77,21 +77,24 @@ services:
- ./modules:/azerothcore/modules:ro
```

For example, to double the experience gain rate per kill, take the setting `Rate.XP.Kill = 1` from [woldserver.conf](https://github.com/liyunfan1223/azerothcore-wotlk/blob/Playerbot/src/server/apps/worldserver/worldserver.conf.dist), convert it to an environment variable, and change it to the desired setting in the override file to get `AC_RATE_XP_KILL: "2"`. If you wanted to disable random bots from logging in automatically, take the `AiPlayerbot.RandomBotAutologin = 1` setting from [playerbots.conf](https://github.com/liyunfan1223/mod-playerbots/blob/master/conf/playerbots.conf.dist) and do the same to get `AC_AI_PLAYERBOT_RANDOM_BOT_AUTOLOGIN: "0"`. For more information on how to configure Azerothcore, Playerbots, and other module settings as environment variables in Docker Compose, see the "Configuring AzerothCore in Containers" section in the [Install With Docker](https://www.azerothcore.org/wiki/install-with-docker) guide.
For example, to double the experience gain rate per kill, take the setting `Rate.XP.Kill = 1` from [woldserver.conf](https://github.com/mod-playerbots/azerothcore-wotlk/blob/Playerbot/src/server/apps/worldserver/worldserver.conf.dist), convert it to an environment variable, and change it to the desired setting in the override file to get `AC_RATE_XP_KILL: "2"`. If you wanted to disable random bots from logging in automatically, take the `AiPlayerbot.RandomBotAutologin = 1` setting from [playerbots.conf](https://github.com/mod-playerbots/mod-playerbots/blob/master/conf/playerbots.conf.dist) and do the same to get `AC_AI_PLAYERBOT_RANDOM_BOT_AUTOLOGIN: "0"`. For more information on how to configure Azerothcore, Playerbots, and other module settings as environment variables in Docker Compose, see the "Configuring AzerothCore in Containers" section in the [Install With Docker](https://www.azerothcore.org/wiki/install-with-docker) guide.

Before building, consider setting the database password. One way to do this is to create a `.env` file in the root `azerothcore-wotlk` directory using the [template](https://github.com/liyunfan1223/azerothcore-wotlk/blob/Playerbot/conf/dist/env.docker). This file also allows you to set the user and group Docker uses for the services in case you run into any permissions issues, which are the most common cause for Docker installation problems.
Before building, consider setting the database password. One way to do this is to create a `.env` file in the root `azerothcore-wotlk` directory using the [template](https://github.com/mod-playerbots/azerothcore-wotlk/blob/Playerbot/conf/dist/env.docker). This file also allows you to set the user and group Docker uses for the services in case you run into any permissions issues, which are the most common cause for Docker installation problems.

Use `docker compose up -d --build` to build and run the server. For more information, including how to create an account and taking backups, refer to the [Install With Docker](https://www.azerothcore.org/wiki/install-with-docker) page.

## Documentation

The [Playerbots Wiki](https://github.com/liyunfan1223/mod-playerbots/wiki) contains an extensive overview of addons, commands, raids with programmed bot strategies, and recommended performance configurations. Please note that documentation may be incomplete or out-of-date in some sections. Contributions are welcome.
The [Playerbots Wiki](https://github.com/mod-playerbots/mod-playerbots/wiki) contains an extensive overview of addons, commands, raids with programmed bot strategies, and recommended performance configurations. Please note that documentation may be incomplete or out-of-date in some sections. Contributions are welcome.

## Frequently Asked Questions

- **Why aren't my bots casting spells?** Please make sure that the necessary English DBC file (enUS) is present.
- **What platforms are supported?** We support Ubuntu, Windows, and macOS. Other Linux distros may work, but will not receive support.
- **Why isn't my source compiling?** Please ensure that you are compiling with the required [custom branch of AzerothCore](https://github.com/liyunfan1223/azerothcore-wotlk/tree/Playerbot). Additionally, please [check the build status of our CI](https://github.com/liyunfan1223/mod-playerbots/actions). If the latest build is failing, rever to the last successful commit until we address the issue.
- **Why isn't my source compiling?** Please ensure that you are compiling with the required [custom branch of AzerothCore](https://github.com/mod-playerbots/azerothcore-wotlk/tree/Playerbot). Additionally, please [check the build status of our CI](https://github.com/mod-playerbots/mod-playerbots/actions). If the latest build is failing, rever to the last successful commit until we address the issue.

## Code standards
- https://www.azerothcore.org/wiki/cpp-code-standards

## Addons

Expand All @@ -107,6 +110,6 @@ Typically, bots are controlled via chat commands. For larger bot groups, this ca

Also, a thank you to the many contributors who've helped build this project:

<a href="https://github.com/liyunfan1223/mod-playerbots/graphs/contributors">
<img src="https://contrib.rocks/image?repo=liyunfan1223/mod-playerbots" />
<a href="https://github.com/mod-playerbots/mod-playerbots/graphs/contributors">
<img src="https://contrib.rocks/image?repo=mod-playerbots/mod-playerbots" />
</a>
8 changes: 4 additions & 4 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@

## 安装

请注意,此模块需要对AzerothCore进行特定的自定义更改。为了确保兼容性,您必须使用我fork的自定义分支来编译它,可以在这里找到:[liyunfan1223/azerothcore-wotlk/tree/Playerbot](https://github.com/liyunfan1223/azerothcore-wotlk/tree/Playerbot)
请注意,此模块需要对AzerothCore进行特定的自定义更改。为了确保兼容性,您必须使用我fork的自定义分支来编译它,可以在这里找到:[mod-playerbots/azerothcore-wotlk/tree/Playerbot](https://github.com/mod-playerbots/azerothcore-wotlk/tree/Playerbot)

要安装此模块,请参考AzerothCore Wiki的详细说明:[AzerothCore安装指南](https://www.azerothcore.org/wiki/installation)

我们提供了一个简单的方法来克隆该模块:

```bash
git clone https://github.com/liyunfan1223/azerothcore-wotlk.git --branch=Playerbot
git clone https://github.com/mod-playerbots/azerothcore-wotlk.git --branch=Playerbot
cd azerothcore-wotlk/modules
git clone https://github.com/liyunfan1223/mod-playerbots.git --branch=master
git clone https://github.com/mod-playerbots/mod-playerbots.git --branch=master
```

## 快速开始与文档
Expand Down Expand Up @@ -60,7 +60,7 @@ git clone https://github.com/liyunfan1223/mod-playerbots.git --branch=master

- 我们支持Ubuntu、Windows和macOS。

- 我们建立了持续集成工作流。您可以在[GitHub Actions](https://github.com/liyunfan1223/mod-playerbots/actions)中查看构建状态。
- 我们建立了持续集成工作流。您可以在[GitHub Actions](https://github.com/mod-playerbots/mod-playerbots/actions)中查看构建状态。

- 如果最新的构建状态失败,请恢复到上一个提交。我们将尽快解决此问题。

Expand Down
Loading