Skip to content

feat(Core/Pdump): add config to specify default directory for pdump files - #28270

Open
FineWolf wants to merge 1 commit into
azerothcore:masterfrom
FineWolf:feature/pdump-dir
Open

FineWolf wants to merge 1 commit into
azerothcore:masterfrom
FineWolf:feature/pdump-dir

Conversation

@FineWolf

@FineWolf FineWolf commented Oct 26, 2026 •

Copy link
Copy Markdown

Changes Proposed:

This PR proposes changes to:

  • Core (units, players, creatures, game systems).
  • Scripts (bosses, spell scripts, creature scripts).
  • Database (SAI, creatures, etc).

This PR adds a new configuration key: PlayerDump.Dir. Currently, if PlayerDump.DisallowPaths is enabled, all player dumps are written in the CWD of the worldserver process. This is problematic when running in a container (via Docker or Podman) as that folder is not usually mounted as a volume.

Having a worldserver setting which allows the server operator to specify where to load/write dumps enables them to mount a volume specifically for player dumps, which may then be shared with other external software.

The default value is empty as to not break the current behaviour.

AI-assisted Pull Requests

Important

Using AI tools to prepare pull requests is allowed, but it must be disclosed and it must follow our AC guidelines for AI Agentic Engineering (link below).

You are expected to fully understand the changes you submit and to be able to explain and justify them when maintainers ask.

  • AI tools (e.g. Claude, ChatGPT, or similar) were used entirely or partially to prepare this pull request. If checked, specify which tools and models below.
    • Tools/models used: Claude Opus 5.5
  • I have read and understood the AC guidelines for AI Agentic Engineering

Note: Claude was used in plan mode to identify the areas where changes needed to occur. Changes were mostly written by hand, except for a member renaming pass to ensure that the name of the setting and functions match established guidelines.

Issues Addressed:

SOURCE:

The changes have been validated through:

  • Live research (checked on live servers, e.g Classic WotLK, Retail, etc.)
  • Sniffs (remember to share them with the open source community!)
  • Video evidence, knowledge databases or other public sources (e.g forums, Wowhead, etc.)
  • The changes promoted by this pull request come partially or entirely from another project (cherry-pick). Cherry-picks must be committed using the proper --author tag in order to be accepted, thus crediting the original authors, unless otherwise unable to be found
  • N/A

Tests Performed:

This PR has been:

  • Tested on a test server, running under Podman 6.1.4
  • Tested in-game by the author.
  • Tested in-game by other community members/someone else other than the author/has been live on production servers.
  • This pull request requires further testing and may have edge cases to be tested.

How to Test the Changes:

  • This pull request can be tested by following the reproduction steps provided in the linked issue
  • This pull request requires further testing. Provide steps to test your changes. If it requires any specific setup e.g multiple players please specify it as well.
  1. Compile and containerize AzerothCore
  2. Create a volume mount for a directory of your choice within the container
  3. Configure PlayerDump.Dir to the in-container path of your volume as created in step 2.
  4. Use .pdump write

Known Issues and TODO List:

None

How to Test AzerothCore PRs

When a PR is ready to be tested, it will be marked as [WAITING TO BE TESTED].

You can help by testing PRs and writing your feedback here on the PR's page on GitHub. Follow the instructions here:

http://www.azerothcore.org/wiki/How-to-test-a-PR

REMEMBER: when testing a PR that changes something generic (i.e. a part of code that handles more than one specific thing), the tester should not only check that the PR does its job (e.g. fixing spell XXX) but especially check that the PR does not cause any regression (i.e. introducing new bugs).

For example: if a PR fixes spell X by changing a part of code that handles spells X, Y, and Z, we should not only test X, but we should test Y and Z as well.

@github-actions github-actions Bot added CORE Related to the core file-cpp Used to trigger the matrix build labels Oct 26, 2026
@coderabbitai

coderabbitai Bot commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 3179ea3 and 8a1c3ed.

Files selected for processing: 4
  • src/server/apps/worldserver/worldserver.conf.dist
  • src/server/game/Tools/PlayerDump.cpp
  • src/server/game/World/WorldConfig.cpp
  • src/server/game/World/WorldConfig.h

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.

Walkthrough

The server configuration adds PlayerDump.Dir, with an empty-string default. Dump writes join this directory with the requested filename and create the directory tree when needed. Dump loads also resolve filenames relative to the configured directory.

Priority: Normal

Merge Risk: Minimal · up to 8a1c3

No concrete merge-blocking defect was found in the changed configuration or dump path handling.

- [ ] Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CORE Related to the core file-cpp Used to trigger the matrix build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant