diff options
Diffstat (limited to 'docs/The-Modular-Structure.md')
| -rw-r--r-- | docs/The-Modular-Structure.md | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/docs/The-Modular-Structure.md b/docs/The-Modular-Structure.md new file mode 100644 index 0000000..dd6c042 --- /dev/null +++ b/docs/The-Modular-Structure.md @@ -0,0 +1,43 @@ +# The Modular Structure + +The project of AzerothCore is based on a fully modular structure that is composed by: + +- Custom Modules +- Core Modules + +**CUSTOM MODULES:** + +The main purpose of AzerothCore modules is to add/extend functionalities to your server avoiding as much possible the modification of AzerothCore code ( patching ). + +Currently you are able to: + +Create scripts that don’t need any patches for CMake / ScriptLoader + +Use script hooks that can operate from the very first start of the server ( as soon as the World initialization starts ) In this way you can handle / overwrite the server configurations. + +Use cmake special hooks, allowing you to inject your instructions during specific events ( e.g. after/before game library configuration ) + +Create, Install and load your custom .conf files during the server startup, avoiding worldserver.conf.dist patching. + +Install other module dependencies using udw/joiner , a special bash script used by AzerothCore to maintain deps. + +Create and use include.sh in your root directory to interact with our bash system ( extend db_assembler, runner, compiler etc ) + +*NOTE: *Even if core file modification is not suggested by AzerothCore project, developing as much as possible under your module and patching the core with small rows of code could be a good practice. You can eventually provide an install/uninstall script that can automatically patch/unpatch the core using our bash system. + + +Read guide on [[how to create a module|Create-a-Module]] + +**CORE MODULES:** + +Core modules instead are composed by following projects: + +- AzerothCore: The platform that includes all shared tools and sources to develop a WoW Server +- World Engine: Our MMO framework on which the AzerothCore is based +- HW-Core: Generic Libraries for c++ +- UWD: Generic tools used by our project + +You can see a model of the Software Layers here: + + + |
