{"id":19134447,"url":"https://github.com/azerothcore/mod-npc-beastmaster","last_synced_at":"2025-07-14T22:33:03.081Z","repository":{"id":39708189,"uuid":"123951676","full_name":"azerothcore/mod-npc-beastmaster","owner":"azerothcore","description":"An NPC that lets you tame beasts.","archived":false,"fork":false,"pushed_at":"2025-05-31T14:44:35.000Z","size":118,"stargazers_count":18,"open_issues_count":2,"forks_count":39,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-07-04T23:06:12.650Z","etag":null,"topics":["azerothcore","azerothcore-module","core-module"],"latest_commit_sha":null,"homepage":"http://www.azerothcore.org/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/azerothcore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-03-05T17:06:44.000Z","updated_at":"2025-07-02T17:47:45.000Z","dependencies_parsed_at":"2025-06-09T10:38:06.652Z","dependency_job_id":null,"html_url":"https://github.com/azerothcore/mod-npc-beastmaster","commit_stats":{"total_commits":63,"total_committers":20,"mean_commits":3.15,"dds":0.5079365079365079,"last_synced_commit":"9b9bddbf675af21de16a22e2fc1ae911544f7504"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/azerothcore/mod-npc-beastmaster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azerothcore%2Fmod-npc-beastmaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azerothcore%2Fmod-npc-beastmaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azerothcore%2Fmod-npc-beastmaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azerothcore%2Fmod-npc-beastmaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/azerothcore","download_url":"https://codeload.github.com/azerothcore/mod-npc-beastmaster/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azerothcore%2Fmod-npc-beastmaster/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264584779,"owners_count":23632523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azerothcore","azerothcore-module","core-module"],"created_at":"2024-11-09T06:26:37.399Z","updated_at":"2025-07-14T22:33:03.070Z","avatar_url":"https://github.com/azerothcore.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![logo](https://raw.githubusercontent.com/azerothcore/azerothcore.github.io/master/images/logo-github.png) AzerothCore\n## BeastMaster NPC\n- Latest build status with azerothcore: [![core-build](https://github.com/azerothcore/mod-npc-beastmaster/actions/workflows/core-build.yml/badge.svg)](https://github.com/azerothcore/mod-npc-beastmaster/actions/workflows/core-build.yml)\n\n# AzerothCore - BeastMaster NPC\n\n## Description\n\nThis module allows **all classes** (not just hunters) to adopt and use hunter pets by interacting with a special NPC. The NPC provides:\n- Hunter skills (for non-hunters)\n- Adoption of normal, rare, and exotic pets (all loaded from `beastmaster_tames` table)\n- Pet food vendor\n- Stables (for hunters)\n- **Tracked pets system**: view, summon, rename, and delete your adopted pets\n\nPlayers can also summon the Beastmaster NPC anywhere using chat commands.\n\n## Important Notes\n\n- You have to use at least AzerothCore commit [3f0739f](https://github.com/azerothcore/azerothcore-wotlk/commit/3f0739f1c9a5289444ff9d62834b7ceb38879ba9).\n- The config file (`mod_npc_beastmaster.conf.dist`) controls rare and rare exotic pet highlighting by entry ID.\n- Tracked pets are stored in the `beastmaster_tamed_pets` table in your characters database.\n- Profanity filtering for pet names uses `conf/profanity.txt` (reloads automatically if changed).\n- Tracked pets cache is session-based, thread-safe, and updates instantly after rename/delete.\n\n## Tracked Pets Feature\n\n- When you adopt a pet, it is automatically tracked and stored in the database.\n- You can view your tracked pets from the BeastMaster NPC menu (all classes supported).\n- For each tracked pet, you can:\n  - **Summon**: Instantly summon the pet if you do not already have one out.\n  - **Rename**: Select \"Rename\" and then type the new name in chat using the `.petname rename \u003cname\u003e` command. Type `.petname cancel` to abort.\n  - **Delete**: Remove the pet from your tracked list (with confirmation).\n- The tracked pets menu supports pagination if you have many pets.\n- The menu displays each pet's name, date tamed, family, and rarity.\n- Tracked pets update instantly after rename or delete.\n\n## Pet Rename Commands\n\nWhen you choose to rename a pet, you must use the following chat commands:\n- `.petname rename \u003cnewname\u003e` — Renames your selected pet to `\u003cnewname\u003e`.\n- `.petname cancel` — Cancels the renaming process.\n\nIf you type anything else, you will be reminded of these commands.\n\n## How to use ingame\n\n### Option 1: Chat Commands (Recommended)\nPlayers can summon the Beastmaster anywhere using a chat command:\n- `.beastmaster` — Summons the Beastmaster NPC at your location for 2 minutes\n\n### Option 2: Spawn NPC Permanently\nAs GM:\n- Add NPC permanently:\n ```\n .npc add 601026\n ```\n- Add NPC temporarily:\n ```\n .npc add temp 601026\n ```\n\nThe NPC will appear as \"White Fang\" (entry: **601026**).\n\n\u003e **Note:**  \n\u003e The value `601026` is the default Beastmaster NPC entry used by this module.  \n\u003e If you wish to use a different NPC entry, update the `BeastMaster.NpcEntry` value in your `mod_npc_beastmaster.conf` file and adjust your database and configuration accordingly.\n\n## Player Login Notice\n\nWhen players log in, they will see a helpful message:\n\u003e **BeastMaster Commands Available!**  \n\u003e Type `.beastmaster` to summon the Beastmaster and adopt pets!\n\nThis notice can be disabled in the configuration file if desired.\n\n## Notice:\n\nDue to the uniqueness of the module you will get this message on the worldconsole, but nothing is broken.\nIt is due to the npc not exactly having a gossip menu in the database, the script handles the gossip menu.\n\n![image](https://user-images.githubusercontent.com/16887899/154327532-612b03d8-64f0-460e-8f4b-7cbfd31a7381.png)\n\nTo suppress this warning, add the following to your worldserver config:\n```\n#    Creatures.CustomIDs\n#        Description: The list of custom creatures with gossip dialogues hardcoded in core,\n#                     divided by \",\" without spaces.\n#                     It is implied that you do not use for these NPC dialogs data from \"gossip_menu\" table.\n#                     Server will skip these IDs during the definitions validation process.\n#        Example:     Creatures.CustomIDs = \"190010,55005,999991,25462,98888,601026\" - Npcs for Transmog, Guild-zone, 1v1-arena modules\n#                                                                               Skip Dk Module, Racial Trait Swap Modules\n#        Default:     \"\"\n\nCreatures.CustomIDs = \"190010,55005,999991,25462,98888,601026\"\n```\n\n## Features\n\n- Adopt normal, rare, and exotic pets\n- Configurable restrictions (class, level, etc.)\n- Optional tracking of all tamed pets (with menu)\n- Pet food vendor and stable access\n- Chat commands for easy access (`.beastmaster`)\n- Login notification for new players\n- **Tracked pets cache is session-based, thread-safe, and updates instantly after rename/delete**\n- **Profanity filter for pet names auto-reloads if the file changes**\n- **Rare and rare exotic pet highlighting is configurable by entry ID**\n- **Tracked pets menu supports pagination for large collections**\n- **Works with Docker deployments**\n\n## Configuration\n\nSee `conf/mod_npc_beastmaster.conf.dist` for all options, including:\n- Enable/disable login notifications\n- Class restrictions\n- Level requirements\n- Exotic pet settings\n- Pet tracking features\n\n## SQL\n\nImport the SQL files in `data/sql/db-world/` and `data/sql/db-characters/` to enable the NPC and tracked pets.\n\n## Installation\n\nClone Git repository:\n\n```\ncd \u003cACdir\u003e\ngit clone https://github.com/azerothcore/mod-npc-beastmaster.git modules/mod-npc-beastmaster\n```\n\nImport SQL automatically:\n```\ncd \u003cACdir\u003e\nbash apps/db_assembler/db_assembler.sh\n```\nchoose 8)\n\nImport SQL manually:\n```\ncd \u003cACdir\u003e\nbash apps/db_assembler/db_assembler.sh\n```\nchoose 4)\n```\ncd \u003cACdir\u003e\nmysql -P \u003cDBport\u003e -u \u003cDBuser\u003e --password=\u003cDBpassword\u003e world \u003cenv/dist/sql/world_custom.sql\n```\n\n## Edit module configuration (optional)\n\nIf you need to change the module configuration, go to your server configuration folder (where your `worldserver` or `worldserver.exe` is), copy `mod_npc_beastmaster.conf.dist` to `mod_npc_beastmaster.conf` and edit that new file.\n\n(If using Docker, place the `mod_npc_beastmaster.conf` file into your `azerothcore-wotlk/docker/worldserver/etc` folder.)\n\n## Customization\n\n- **NPC Entry:**  \n  The default Beastmaster NPC entry is `601026`.  \n  To use a different entry, set the `BeastMaster.NpcEntry` option in your `mod_npc_beastmaster.conf` file and update your database if needed.\n\n- **Login Notifications:**  \n  Login notifications can be enabled/disabled via the `BeastMaster.ShowLoginNotice` configuration option.\n\n## Credits\n\n* [BoiseComputer](https://github.com/BoiseComputer): further development\n* [Stoabrogga](https://github.com/Stoabrogga): further development\n* [Talamortis](https://github.com/talamortis): further development\n* [BarbzYHOOL](https://github.com/barbzyhool): support\n* [StygianTheBest](http://stygianthebest.github.io): original author (this module is based on v2017.09.03)\n\nAzerothCore: [repository](https://github.com/azerothcore) - [website](http://azerothcore.org/) - [discord chat community](https://discord.gg/PaqQRkd)\n\n## License\nThis code and content is released under the [GNU AGPL v3](https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-AGPL3).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazerothcore%2Fmod-npc-beastmaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazerothcore%2Fmod-npc-beastmaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazerothcore%2Fmod-npc-beastmaster/lists"}