Fractured: Paragon core hooks, mod-paragon, mod-ale, Docker build cap
- Track mod-paragon and mod-ale (un-ignore modules in .gitignore). - Ship docker-compose.override.yml with CMAKE_EXTRA_OPTIONS for LuaJIT (mod-ale). - Dockerfile: CBUILD_PARALLEL default to limit OOM under Docker/WSL2. - Core: CLASS_PARAGON sticky combo points (DetachComboTarget), selection rebind, Spell::CheckPower rune path for multi-resource Paragon. - spell_dk_death_rune: IsClass(CLASS_DEATH_KNIGHT, CLASS_CONTEXT_ABILITY) for Blood of the North / Reaping / DRM on Paragon. - Remove temporary Paragon CheckPower logging. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,308 @@
|
||||
<div align="center">
|
||||
|
||||
# 🔧 ALE Installation Guide
|
||||
|
||||
*Step-by-step instructions for installing ALE on AzerothCore*
|
||||
|
||||
[](https://discord.com/invite/ZKSVREE7)
|
||||
[](http://www.azerothcore.org/)
|
||||
|
||||
---
|
||||
</div>
|
||||
|
||||
> [!IMPORTANT]
|
||||
> ALE is designed specifically for **AzerothCore**. If you're looking for compatibility with other emulators, check out [ElunaAzerothCore](https://github.com/Eluna-Ports/ElunaAzerothCore) for original Eluna compatibility.
|
||||
|
||||
## 📋 Table of Contents
|
||||
|
||||
- [Requirements](#-requirements)
|
||||
- [Installation](#-installation)
|
||||
- [Configuration](#-configuration)
|
||||
- [Updating](#-updating)
|
||||
- [Troubleshooting](#-troubleshooting)
|
||||
- [Next Steps](#-next-steps)
|
||||
|
||||
## ⚡ Requirements
|
||||
|
||||
Before installing ALE, ensure you have:
|
||||
|
||||
### System Requirements
|
||||
|
||||
- **AzerothCore Server**: A working AzerothCore installation
|
||||
- **Git**: Version control system for cloning repositories
|
||||
- **CMake**: Build system (3.16 or higher recommended)
|
||||
- **Compiler with C++11 Support**:
|
||||
- Windows: Visual Studio 2019 or later
|
||||
- Linux: GCC 7+ or Clang 5+
|
||||
- macOS: Xcode 10+
|
||||
|
||||
### Build Dependencies
|
||||
|
||||
ALE can use either:
|
||||
- **ACE** (ADAPTIVE Communication Environment), or
|
||||
- **Boost** (for filesystem library)
|
||||
|
||||
These should already be available if you have AzerothCore set up.
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Step 1: Navigate to Modules Directory
|
||||
|
||||
Open your terminal (or Git Bash on Windows) and navigate to your AzerothCore modules directory:
|
||||
|
||||
```bash
|
||||
cd <azerothcore-path>/modules
|
||||
```
|
||||
|
||||
**Example:**
|
||||
```bash
|
||||
cd /home/user/azerothcore/modules
|
||||
```
|
||||
|
||||
### Step 2: Clone the Repository
|
||||
|
||||
Clone the mod-ale repository into your modules folder:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/azerothcore/mod-ale.git
|
||||
```
|
||||
|
||||
This will create a `mod-ale` folder containing all necessary files.
|
||||
|
||||
### Step 3: Configure Build
|
||||
|
||||
Navigate to your AzerothCore build directory and configure with CMake:
|
||||
|
||||
```bash
|
||||
cd <azerothcore-build-directory>
|
||||
cmake ../ -DLUA_VERSION=luajit
|
||||
```
|
||||
|
||||
#### Lua Version Options
|
||||
|
||||
Choose your preferred Lua version with the `-DLUA_VERSION` flag:
|
||||
|
||||
| Version | Flag | Notes |
|
||||
|---------|------|-------|
|
||||
| **LuaJIT** | `luajit` | **Recommended** - Best performance via JIT compilation |
|
||||
| **Lua 5.2** | `lua52` | **Default** - Used if no version specified |
|
||||
| **Lua 5.3** | `lua53` | Newer features, compatible |
|
||||
| **Lua 5.4** | `lua54` | Latest version, all features |
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Using LuaJIT (recommended for performance)
|
||||
cmake ../ -DLUA_VERSION=luajit
|
||||
|
||||
# Using Lua 5.3
|
||||
cmake ../ -DLUA_VERSION=lua53
|
||||
|
||||
# Using default (Lua 5.2)
|
||||
cmake ../
|
||||
```
|
||||
|
||||
### Step 4: Compile
|
||||
|
||||
Compile AzerothCore with the newly added module:
|
||||
|
||||
**Linux/macOS:**
|
||||
```bash
|
||||
make -j$(nproc)
|
||||
```
|
||||
|
||||
**Windows:**
|
||||
```bash
|
||||
cmake --build . --config Release
|
||||
```
|
||||
|
||||
> [!TIP]
|
||||
> The `-j$(nproc)` flag uses all available CPU cores for faster compilation.
|
||||
|
||||
### Step 5: Update Configuration
|
||||
|
||||
> [!CAUTION]
|
||||
> **Critical Step:** After compiling, you must use the newly generated configuration files!
|
||||
|
||||
The compilation process generates updated config files with ALE settings. Without these, ALE may not function correctly (no error messages, logging issues, etc.).
|
||||
|
||||
**Location of config files:**
|
||||
- Usually in your server's `etc/modules` or `configs/modules` directory
|
||||
- Look for files like `mod-ale.conf`
|
||||
|
||||
Copy the new `.conf.dist` files:
|
||||
|
||||
```bash
|
||||
# Example - adjust paths as needed
|
||||
cp mod-ale.conf.dist mod-ale.conf
|
||||
```
|
||||
|
||||
Then edit `worldserver.conf` and configure ALE settings (see [Configuration](#-configuration) below).
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
### ALE Settings in mod-ale.conf
|
||||
|
||||
After installation, configure ALE by editing your `mod-ale.conf` file:
|
||||
|
||||
```ini
|
||||
###################################################################################################
|
||||
# ALE (AZEROTHCORE LUA ENGINE)
|
||||
###################################################################################################
|
||||
|
||||
# Enable or disable ALE
|
||||
# Default: 1 (enabled)
|
||||
ALE.Enabled = 1
|
||||
|
||||
# Enable traceback for detailed error information
|
||||
# Useful for debugging but has performance overhead
|
||||
# Default: 1 (enabled)
|
||||
ALE.TraceBack = 1
|
||||
|
||||
# Script folder location (relative to server binary)
|
||||
# Default: "lua_scripts"
|
||||
ALE.ScriptPath = "lua_scripts"
|
||||
```
|
||||
|
||||
### Creating the Scripts Folder
|
||||
|
||||
Create the scripts folder next to your server executable:
|
||||
|
||||
```bash
|
||||
mkdir lua_scripts
|
||||
```
|
||||
|
||||
Place your `.lua` script files in this folder. ALE will automatically load them on server start.
|
||||
|
||||
## 🔄 Updating
|
||||
|
||||
Keep your ALE installation up to date with the latest features and bug fixes.
|
||||
|
||||
### Update Steps
|
||||
|
||||
1. **Navigate to the mod-ale directory:**
|
||||
|
||||
```bash
|
||||
cd <azerothcore-path>/modules/mod-ale
|
||||
```
|
||||
|
||||
2. **Pull the latest changes:**
|
||||
|
||||
```bash
|
||||
git pull
|
||||
```
|
||||
|
||||
3. **Navigate to your build directory:**
|
||||
|
||||
```bash
|
||||
cd <azerothcore-build-directory>
|
||||
```
|
||||
|
||||
4. **Reconfigure if needed (optional):**
|
||||
|
||||
```bash
|
||||
cmake ../ -DLUA_VERSION=luajit
|
||||
```
|
||||
|
||||
5. **Recompile:**
|
||||
|
||||
```bash
|
||||
# Linux/macOS
|
||||
make -j$(nproc)
|
||||
|
||||
# Windows
|
||||
cmake --build . --config Release
|
||||
```
|
||||
|
||||
6. **Restart your server** to load the updated version
|
||||
|
||||
> [!TIP]
|
||||
> Always backup your database and scripts before updating!
|
||||
|
||||
## 🔧 Troubleshooting
|
||||
|
||||
### ALE Not Loading
|
||||
|
||||
**Check these things:**
|
||||
|
||||
1. **Config file**: Ensure you're using the new `worldserver.conf` generated after compilation
|
||||
2. **Enabled setting**: Verify `ALE.Enabled = 1` in config
|
||||
3. **Script path**: Ensure `lua_scripts` folder exists in the correct location
|
||||
4. **Logs**: Check server logs for error messages
|
||||
|
||||
### No Error Messages
|
||||
|
||||
If you're not seeing ALE errors:
|
||||
|
||||
- **Solution**: You're using an old config file. Copy the new `.conf.dist` file and reconfigure.
|
||||
|
||||
### Compilation Errors
|
||||
|
||||
**"Lua headers not found":**
|
||||
- ALE should automatically download Lua dependencies
|
||||
- Ensure you have internet connection during CMake configuration
|
||||
|
||||
**C++11 errors:**
|
||||
- Update your compiler to one that supports C++11 or later
|
||||
|
||||
**ACE/Boost errors:**
|
||||
- These should be installed with AzerothCore
|
||||
- Check your AzerothCore installation
|
||||
|
||||
### Scripts Not Loading
|
||||
|
||||
1. **Check file extension**: Must be `.lua`
|
||||
2. **Check file names**: Must be unique across all subdirectories
|
||||
3. **Check syntax**: Look for errors in the log file
|
||||
4. **Check location**: Scripts must be in the configured `ScriptPath` folder
|
||||
|
||||
### Getting Help
|
||||
|
||||
If you encounter issues:
|
||||
|
||||
- **GitHub Issues**: [Report problems](https://github.com/azerothcore/mod-ale/issues)
|
||||
- **Discord**: [Join our community](https://discord.com/invite/bx3y5Qmy)
|
||||
- **AzerothCore Discord**: [Get support](http://www.azerothcore.org/)
|
||||
|
||||
## 📚 Next Steps
|
||||
|
||||
Now that ALE is installed, you're ready to start scripting!
|
||||
|
||||
### Recommended Reading
|
||||
|
||||
1. **[Usage Guide](USAGE.md)** - Learn how to write your first script
|
||||
2. **[Implementation Details](IMPL_DETAILS.md)** - Advanced features and best practices
|
||||
3. **[API Documentation](https://www.azerothcore.org/eluna/)** - Complete API reference
|
||||
4. **[Hooks Reference](https://github.com/azerothcore/mod-ale/blob/master/src/LuaEngine/Hooks.h)** - Available event hooks
|
||||
|
||||
### Example Scripts
|
||||
|
||||
Create a test script to verify everything works:
|
||||
|
||||
**File:** `lua_scripts/test.lua`
|
||||
```lua
|
||||
local function OnServerStartup()
|
||||
print("ALE is working! Server started successfully.")
|
||||
end
|
||||
|
||||
RegisterServerEvent(33, OnServerStartup) -- SERVER_EVENT_ON_CONFIG_LOAD
|
||||
```
|
||||
|
||||
Restart your server and look for the message in the console.
|
||||
|
||||
---
|
||||
|
||||
## 🌟 Acknowledgements
|
||||
|
||||
ALE is built upon the foundation of the [Eluna Lua Engine](https://github.com/ElunaLuaEngine/Eluna). We acknowledge and thank the Eluna team for their pioneering work in Lua scripting for World of Warcraft server emulators.
|
||||
|
||||
- **[Original Eluna Repository](https://github.com/ElunaLuaEngine/Eluna)**
|
||||
- **[Eluna Discord Community](https://discord.gg/bjkCVWqqfX)**
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
<sub>Developed with ❤️ by the AzerothCore and ALE community</sub>
|
||||
|
||||
[⬆ Back to Top](#-ale-installation-guide)
|
||||
</div>
|
||||
Reference in New Issue
Block a user