Chore: Rename Eluna to ALE (#344)

This commit is contained in:
iThorgrim
2025-11-09 15:34:33 +01:00
committed by GitHub
parent 47699ffc35
commit 2cedf6ffd7
29 changed files with 48 additions and 56 deletions

View File

@@ -45,7 +45,7 @@ ALE settings are located in the AzerothCore server configuration file.
Reload scripts during development with:
```
.reload eluna
.reload ale
```
> [!CAUTION]
@@ -160,7 +160,7 @@ end
#### Safe to Store
These userdata objects are Lua-managed and safe to store:
- Query results (`ElunaQuery`)
- Query results (`ALEQuery`)
- World packets (`WorldPacket`)
- 64-bit numbers (`uint64`, `int64`)
@@ -384,7 +384,7 @@ Check these locations for errors:
Enable traceback in the server config for detailed error information:
```
Eluna.TraceBack = 1
ALE.TraceBack = 1
```
This adds call stack information to errors.
@@ -394,7 +394,7 @@ This adds call stack information to errors.
1. **Start Small**: Test basic functionality first
2. **Add Gradually**: Implement features one at a time
3. **Test Each Step**: Verify each addition works before moving on
4. **Use Reload**: Use `.reload eluna` for quick iteration (dev only)
4. **Use Reload**: Use `.reload ale` for quick iteration (dev only)
5. **Full Restart**: Always do final testing with a server restart
### Common Issues

View File

@@ -127,23 +127,23 @@ cmake --build . --config Release
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/` or `configs/` directory
- Look for files like `worldserver.conf`
- 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 worldserver.conf.dist worldserver.conf
cp mod-ale.conf.dist mod-ale.conf
```
Then edit `worldserver.conf` and configure ALE settings (see [Configuration](#-configuration) below).
## ⚙️ Configuration
### ALE Settings in worldserver.conf
### ALE Settings in mod-ale.conf
After installation, configure ALE by editing your `worldserver.conf` file:
After installation, configure ALE by editing your `mod-ale.conf` file:
```ini
###################################################################################################
@@ -152,24 +152,16 @@ After installation, configure ALE by editing your `worldserver.conf` file:
# Enable or disable ALE
# Default: 1 (enabled)
Eluna.Enabled = 1
ALE.Enabled = 1
# Enable traceback for detailed error information
# Useful for debugging but has performance overhead
# Default: 1 (enabled)
Eluna.TraceBack = 1
ALE.TraceBack = 1
# Script folder location (relative to server binary)
# Default: "lua_scripts"
Eluna.ScriptPath = "lua_scripts"
# Logging level
# 0 = Disabled
# 1 = Errors only
# 2 = Errors and warnings
# 3 = All messages (debug)
# Default: 2
Eluna.LogLevel = 2
ALE.ScriptPath = "lua_scripts"
```
### Creating the Scripts Folder
@@ -234,7 +226,7 @@ cmake --build . --config Release
**Check these things:**
1. **Config file**: Ensure you're using the new `worldserver.conf` generated after compilation
2. **Enabled setting**: Verify `Eluna.Enabled = 1` in config
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

View File

@@ -236,11 +236,11 @@ end
For quick testing during development, you can reload scripts without restarting:
```
.reload eluna
.reload ale
```
> [!WARNING]
> **Development Only:** Use `.reload eluna` only for development. For production or if experiencing issues, always restart the server.
> **Development Only:** Use `.reload ale` only for development. For production or if experiencing issues, always restart the server.
**Important Limitations:**
- Reloading doesn't trigger events like login for already-connected players

View File

@@ -3,7 +3,7 @@ import shutil
import typing
from jinja2 import Environment, FileSystemLoader
from typedecorator import params, returns
from ElunaDoc.parser import ClassParser, MethodDoc
from ALEDoc.parser import ClassParser, MethodDoc
import glob
import time
@@ -11,10 +11,10 @@ import time
@returns([(str, typing.IO)])
@params(search_path=str)
def find_class_files(search_path):
"""Find and open all files containing Eluna class methods in `search_path`.
"""Find and open all files containing ALE class methods in `search_path`.
:param search_path: the path to search for Eluna methods in
:return: a list of all files containing Eluna methods, and the name of their respective classes
:param search_path: the path to search for ALE methods in
:return: a list of all files containing ALE methods, and the name of their respective classes
"""
# Search for all files ending in "Methods.h".
method_file_names = glob.glob(os.path.join(search_path, '**', '*Methods.h'))
@@ -55,10 +55,10 @@ if __name__ == '__main__':
if os.path.exists('build'):
shutil.rmtree('build')
os.mkdir('build')
shutil.copytree('ElunaDoc/static', 'build/static')
shutil.copytree('ALEDoc/static', 'build/static')
# Load up all files with methods we need to parse.
print('Finding Eluna method files...')
print('Finding ALE method files...')
class_files = find_class_files('../')
# Parse all the method files.
@@ -131,7 +131,7 @@ if __name__ == '__main__':
# Case for enums to direct to a search on github
enum_name = content[1:-1]
url = 'https://github.com/ElunaLuaEngine/ElunaTrinityWotlk/search?l=cpp&q=%22enum+{}%22&type=Code&utf8=%E2%9C%93'.format(enum_name)
url = 'https://github.com/azerothcore/azerothcore-wotlk/search?l=cpp&q=%22enum+{}%22&type=Code&utf8=%E2%9C%93'.format(enum_name)
return '<strong><a href="{}">{}</a></strong>'.format(url, enum_name)
# By default we just return the name without the [] around it
@@ -140,7 +140,7 @@ if __name__ == '__main__':
return link_parser, data_type_parser
# Create the render function with the template path and parser maker.
render = make_renderer('ElunaDoc/templates', make_parsers)
render = make_renderer('ALEDoc/templates', make_parsers)
# Render the index.
render('index.html', 'index.html', level=0, classes=classes)

View File

@@ -6,7 +6,7 @@ from typedecorator import params, returns, Nullable
class ParameterDoc(object):
"""The documentation data of a parameter or return value for an Eluna method."""
"""The documentation data of a parameter or return value for an ALE method."""
# The integer ranges that each C++ type is valid for. None means valid for all numbers.
valid_ranges = {
@@ -64,7 +64,7 @@ class ParameterDoc(object):
class MethodDoc(object):
"""The documentation data of an Eluna method."""
"""The documentation data of an ALE method."""
@params(self=object, name=str, description=str, prototypes=[str], parameters=[ParameterDoc], returned=[ParameterDoc])
def __init__(self, name, description, prototypes, parameters, returned):
self.name = name

View File

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -497,7 +497,7 @@
'</span></td></tr>';
});
} else {
output += 'No results - Request function at <a href="https://github.com/ElunaLuaEngine/Eluna/issues">Eluna issue tracker</a>';
output += 'No results - Request function at <a href="https://github.com/azerothcore/mod-ale/issues">ALE issue tracker</a>';
}
output += "</p>";

View File

@@ -3,10 +3,10 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="{% block description %}API documentation for the Eluna engine.{% endblock %}">
<meta name="keywords" content="eluna, lua, lua engine, azerothcore, script, scripting, doc, docs, documentation">
<meta name="description" content="{% block description %}API documentation for the ALE engine.{% endblock %}">
<meta name="keywords" content="ALE, lua, lua engine, azerothcore, script, scripting, doc, docs, documentation">
<title>{% block title %}Eluna API{% endblock %}</title>
<title>{% block title %}ALE API{% endblock %}</title>
<link rel="stylesheet" type="text/css" href="{{ static('main.css') }}">
<link rel="stylesheet" type="text/css" href="{{ static('dark.css') }}">
@@ -23,7 +23,7 @@
<![endif]-->
<section class="sidebar">
<a href='{{ root('index.html') }}'><img src='{{ static('eluna-logo.png') }}' alt='Eluna Logo' width='100'></a>
<a href='{{ root('index.html') }}'><img src='{{ static('eluna-logo.png') }}' alt='ALE Logo' width='100'></a>
<div class="block">
{% block sidebar %}
<h2>All Classes</h2>
@@ -101,6 +101,6 @@
<script src="{{ static('main.js') }}"></script>
<script async src="{{ root('search-index.js') }}"></script>
<center>Generated on <script src="{{ root('date.js') }}"></script></center>
<center>&copy;2016 - Eluna Lua Engine</center>
<center>&copy;2026 - ALE Lua Engine</center>
</body>
</html>

View File

@@ -7,7 +7,7 @@
{% block description -%}
API documentation for the {{ current_class.name }} class in the Eluna engine.
API documentation for the {{ current_class.name }} class in the ALE engine.
{%- endblock %}

View File

@@ -2,39 +2,39 @@
{% block document_title -%}
Eluna API Documentation
ALE API Documentation
{%- endblock %}
{% block content %}
<div class='docblock'>
<h1 id="the-eluna-engine-api" class='section-header'>
<a href="#the-eluna-engine-api">The Eluna Lua Engine&copy; API</a>
<h1 id="the-ale-engine-api" class='section-header'>
<a href="#the-ale-engine-api">The ALE Lua Engine&copy; API</a>
</h1>
<p>
The Eluna Lua Engine&copy; API allows you to add your own Lua code to be executed when certain events (called "hooks") occur.
The ALE Lua Engine&copy; API allows you to add your own Lua code to be executed when certain events (called "hooks") occur.
</p>
<p>
Add a new in-game command, give life to creatures with new AI, or even light players who try to duel on fire!
If the hook exists, you can script it.
</p>
<h2 id="about-eluna" class='section-header'>
<a href="#about-eluna">About Eluna</a>
<h2 id="about-ale" class='section-header'>
<a href="#about-ale">About ALE</a>
</h2>
<p>
Eluna is a <a href="http://www.lua.org/">Lua</a> engine for World of Warcraft emulators.
These pages are for <a href="https://www.azerothcore.org/">AzerothCore</a>'s version, but Eluna also supports
ALE is a <a href="http://www.lua.org/">Lua</a> engine for World of Warcraft emulators.
These pages are for <a href="https://www.azerothcore.org/">AzerothCore</a>'s version, but ALE also supports
<a href="https://cmangos.net/">CMaNGOS</a>/<a href="https://www.getmangos.eu/">MaNGOS</a> and <a href="https://www.trinitycore.org/">TrinityCore</a>.
</p>
<p>
If you come from the TypeScript / JavaScript world, or would prefer to use a typed language instead of Lua, check out <a href="https://github.com/azerothcore/eluna-ts">eluna-ts</a>!
If you come from the TypeScript / JavaScript world, or would prefer to use a typed language instead of Lua, check out <a href="https://github.com/azerothcore/eluna-ts">ale-ts</a>!
</p>
<p>
You can get support in the <code>#eluna-ac</code> channel of <a href="https://discord.com/invite/V3Dkwxvh">AzerothCore's Discord server</a>.
You can get support in the <code>#ale-ac</code> channel of <a href="https://discord.com/invite/V3Dkwxvh">AzerothCore's Discord server</a>.
</p>
<p>
You can also join the <a href="https://discord.com/invite/bjkCVWqqfX">official Eluna Discord server</a>, where you'll be able to find resources, releases and support provided by the Eluna community.
You can also join the <a href="https://discord.com/invite/bjkCVWqqfX">official ALE Discord server</a>, where you'll be able to find resources, releases and support provided by the ALE community.
</p>
<h2 id="installation" class='section-header'>
@@ -43,7 +43,7 @@
<p>
<ol>
<li>If you haven't already, clone AzerothCore from <a href="https://github.com/azerothcore/azerothcore-wotlk">our GitHub repository</a></li>
<li>Go to the modules directory and run the following command: <pre>git clone https://github.com/azerothcore/mod-eluna.git mod-eluna</pre></li>
<li>Go to the modules directory and run the following command: <pre>git clone https://github.com/azerothcore/mod-ale.git mod-ale</pre></li>
<li>Run CMake</li>
<li>Build AzerothCore</li>
</ol>
@@ -63,7 +63,7 @@
The layout, CSS, and Javascript code for this documentation was borrowed from <a href="http://doc.rust-lang.org/">doc.rust-lang.org</a>.
</p>
<p>
The documentation generator was originally written by <a href="https://github.com/Patman64">Patman64</a> and is maintained by the Eluna team.
The documentation generator was originally written by <a href="https://github.com/Patman64">Patman64</a> and is maintained by the ALE team.
</p>
</div>

View File

@@ -2,12 +2,12 @@
{% block title -%}
{{ current_class.name }}:{{ current_method.name }} - Eluna
{{ current_class.name }}:{{ current_method.name }} - ALE
{%- endblock %}
{% block description -%}
API documentation for the {{ current_class.name }}:{{ current_method.name }} method in the Eluna engine.
API documentation for the {{ current_class.name }}:{{ current_method.name }} method in the ALE engine.
{%- endblock %}
@@ -44,7 +44,7 @@
{{ current_method.description|parse_links }}
{%- else %}
<p>This method is <em>undocumented</em>. <strong>Use at your own risk.</strong></p>
<p>For temporary documentation, please check the <a href="https://github.com/ElunaLuaEngine/Eluna/blob/master/LuaFunctions.cpp">LuaFunctions</a> source file.</p>
<p>For temporary documentation, please check the <a href="https://github.com/azerothcore/mod-ale/blob/master/src/LuaEngine/LuaFunctions.cpp">LuaFunctions</a> source file.</p>
{%- endif %}
<h2 id="synopsis" class='section-header'>