7.8 KiB
Important
ALE is designed specifically for AzerothCore. If you're looking for compatibility with other emulators, check out ElunaAzerothCore for original Eluna compatibility.
📋 Table of Contents
⚡ 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:
cd <azerothcore-path>/modules
Example:
cd /home/user/azerothcore/modules
Step 2: Clone the Repository
Clone the mod-ale repository into your modules folder:
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:
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:
# 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:
make -j$(nproc)
Windows:
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/modulesorconfigs/modulesdirectory - Look for files like
mod-ale.conf
Copy the new .conf.dist files:
# Example - adjust paths as needed
cp mod-ale.conf.dist mod-ale.conf
Then edit worldserver.conf and configure ALE settings (see Configuration below).
⚙️ Configuration
ALE Settings in mod-ale.conf
After installation, configure ALE by editing your mod-ale.conf file:
###################################################################################################
# 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:
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
- Navigate to the mod-ale directory:
cd <azerothcore-path>/modules/mod-ale
- Pull the latest changes:
git pull
- Navigate to your build directory:
cd <azerothcore-build-directory>
- Reconfigure if needed (optional):
cmake ../ -DLUA_VERSION=luajit
- Recompile:
# Linux/macOS
make -j$(nproc)
# Windows
cmake --build . --config Release
- Restart your server to load the updated version
Tip
Always backup your database and scripts before updating!
🔧 Troubleshooting
ALE Not Loading
Check these things:
- Config file: Ensure you're using the new
worldserver.confgenerated after compilation - Enabled setting: Verify
ALE.Enabled = 1in config - Script path: Ensure
lua_scriptsfolder exists in the correct location - 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.distfile 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
- Check file extension: Must be
.lua - Check file names: Must be unique across all subdirectories
- Check syntax: Look for errors in the log file
- Check location: Scripts must be in the configured
ScriptPathfolder
Getting Help
If you encounter issues:
- GitHub Issues: Report problems
- Discord: Join our community
- AzerothCore Discord: Get support
📚 Next Steps
Now that ALE is installed, you're ready to start scripting!
Recommended Reading
- Usage Guide - Learn how to write your first script
- Implementation Details - Advanced features and best practices
- API Documentation - Complete API reference
- Hooks Reference - Available event hooks
Example Scripts
Create a test script to verify everything works:
File: lua_scripts/test.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. We acknowledge and thank the Eluna team for their pioneering work in Lua scripting for World of Warcraft server emulators.