Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codacy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# IS NUL-terminated, and no core calls that overload at all -- every one of them uses
# the two-iterator form.
#
# src/modules/{Bots,AhWorker} are deliberately absent: they are in-tree, they
# src/modules/{Bots,AuctionHouseBot,AhService} are deliberately absent: they are in-tree, they
# are ours, and they are analysed.
exclude_paths:
- "dep/**"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/core_windows_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ concurrency:
cancel-in-progress: true

env:
OPENSSL_VERSION: 3.6.4
OPENSSL_SHA512: 4FF8244287A027B1A138F4E1B56F425DD0988A6247830F1D7A47C179DCDB29A6A485490630647A7638569EC09D5B75FF4DC2B10ACFA41AFC4C68D7C21B44EC7F
OPENSSL_VERSION: 3.6.5
OPENSSL_SHA512: A7526344337A14EA270A1A7BDE590C4950CF08DCE631E9D485CCCDFCB14F737F42AFC73403656226B605A013D8E191BF831CEE34EEE6CDB810FFA4E0AEC53764

jobs:
build:
Expand Down
13 changes: 8 additions & 5 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ this repo. Humans: also read [`doc/CodingStandard.md`](doc/CodingStandard.md).
`Rel##_##_###_*.sql` migrations that chain via `db_version`.
- Clone/update **recursively**: `dep`, `src/realmd`, `src/modules/{SD3,Eluna}`, `src/tools/Extractor_projects`
and `win` are submodules. Never shallow-update a submodule to a non-tip pinned SHA.
- Less-obvious locations: out-of-process services in `src/ipc/` + `src/ah-service/`; scripting in
- Less-obvious locations: auction modules in `src/modules/AuctionHouseBot/` and `src/modules/AhService/`
(registered through `src/game/Object/AuctionHouseModule.h`); scripting in
`src/modules/` (Eluna = Lua, SD3 = C++, Bots = playerbots).

## Build & test
Expand All @@ -34,7 +35,7 @@ make -j"$(nproc)" && make install -j"$(nproc)"

Windows: use the EasyBuild helper in `win/`. **A PR MUST keep CI green:** the Linux build compiles with
**both** GCC and Clang, Windows builds on AppVeyor, and Codacy/CodeFactor gate quality. If you touch
`src/ipc/` or `src/ah-service/`, keep `ah-service --selftest` passing (it must print `intent codec selftest OK`
`src/modules/AhService/`, keep `ah-service --selftest` passing (it must print `intent codec selftest OK`
and `ipc selftest OK`).

## Code style
Expand All @@ -56,9 +57,11 @@ Source of truth: [`doc/CodingStandard.md`](doc/CodingStandard.md). Non-default r

## Architecture note

The **in-process AuctionHouseBot is the default**; the out-of-process AH service is additive and default-off
(`AH.Service.Enabled`). `mangosd` is the **sole authority** over game state — worker/service "intents" are
re-validated server-side before they are applied.
Auction house extras are **modules**: the core knows only `AuctionHouseModule` and never names one. Each
module is a CMake option (`BUILD_AHBOT`, default on; `BUILD_AH_SERVICE`, default off), brings its own
`.conf` whose first key is `Enable`, and registers itself from a static object. The playerbots' ike3 AhBot
(`src/modules/Bots/ahbot/`) is not built; `src/modules/Bots/AhBotPrices.cpp` answers its price queries. `mangosd.conf` stays module-agnostic. `mangosd` is the **sole authority** over game state —
worker/service "intents" are re-validated server-side before they are applied.

## Review focus (for `@claude`)

Expand Down
5 changes: 4 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ option(PCH "Enable precompiled headers" ON)
option(WITH_IO_URING "Use the io_uring network backend (Linux, needs liburing)" OFF)
option(DEBUG "Enable debug build (only on non IDEs)" OFF)
option(WITHOUT_GIT "Disable Git revision detection" OFF)
option(BUILD_AH_SERVICE "Build the out-of-process auction-house service" ON)
option(BUILD_AHBOT "Build the auction house bot module" ON)
option(BUILD_AH_SERVICE "Build the out-of-process auction house service module" OFF)
option(WITH_TESTS "Build the unit tests" OFF)
option(WITH_NET_TESTS "Build the socket tests (slow; never in CI)" OFF)
#==================================================================================
Expand All @@ -99,6 +100,8 @@ message(
SCRIPT_LIB_SD3 Compile with support for ScriptDev3 scripts
Modules:
PLAYERBOTS Enable Player Bots
BUILD_AHBOT Build the auction house bot module
BUILD_AH_SERVICE Build the out-of-process auction house service module

To set an option simply type -D<OPTION>=<VALUE> after 'cmake <srcs>'.
Also, you can specify the generator with -G. See 'cmake --help' for more details
Expand Down
4 changes: 2 additions & 2 deletions cmake/MangosParams.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
set(MANGOS_EXP "CLASSIC")
set(MANGOS_PKG "Mangos Zero")
set(MANGOS_WORLD_VER 2026082000)
set(MANGOS_WORLD_VER 2026100200)
set(MANGOS_REALM_VER 2026060300)
set(MANGOS_AHBOT_VER 2026071400)
set(MANGOS_AHBOT_VER 2026100200)
Loading
Loading