mirror of
https://github.com/azerothcore/mod-ale
synced 2025-11-29 15:38:17 +08:00
Chore: Rename Eluna to ALE (#344)
This commit is contained in:
@@ -45,7 +45,7 @@ ALE settings are located in the AzerothCore server configuration file.
|
|||||||
Reload scripts during development with:
|
Reload scripts during development with:
|
||||||
|
|
||||||
```
|
```
|
||||||
.reload eluna
|
.reload ale
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!CAUTION]
|
> [!CAUTION]
|
||||||
@@ -160,7 +160,7 @@ end
|
|||||||
#### Safe to Store
|
#### Safe to Store
|
||||||
|
|
||||||
These userdata objects are Lua-managed and safe to store:
|
These userdata objects are Lua-managed and safe to store:
|
||||||
- Query results (`ElunaQuery`)
|
- Query results (`ALEQuery`)
|
||||||
- World packets (`WorldPacket`)
|
- World packets (`WorldPacket`)
|
||||||
- 64-bit numbers (`uint64`, `int64`)
|
- 64-bit numbers (`uint64`, `int64`)
|
||||||
|
|
||||||
@@ -384,7 +384,7 @@ Check these locations for errors:
|
|||||||
|
|
||||||
Enable traceback in the server config for detailed error information:
|
Enable traceback in the server config for detailed error information:
|
||||||
```
|
```
|
||||||
Eluna.TraceBack = 1
|
ALE.TraceBack = 1
|
||||||
```
|
```
|
||||||
|
|
||||||
This adds call stack information to errors.
|
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
|
1. **Start Small**: Test basic functionality first
|
||||||
2. **Add Gradually**: Implement features one at a time
|
2. **Add Gradually**: Implement features one at a time
|
||||||
3. **Test Each Step**: Verify each addition works before moving on
|
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
|
5. **Full Restart**: Always do final testing with a server restart
|
||||||
|
|
||||||
### Common Issues
|
### Common Issues
|
||||||
|
|||||||
@@ -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.).
|
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:**
|
**Location of config files:**
|
||||||
- Usually in your server's `etc/` or `configs/` directory
|
- Usually in your server's `etc/modules` or `configs/modules` directory
|
||||||
- Look for files like `worldserver.conf`
|
- Look for files like `mod-ale.conf`
|
||||||
|
|
||||||
Copy the new `.conf.dist` files:
|
Copy the new `.conf.dist` files:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Example - adjust paths as needed
|
# 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).
|
Then edit `worldserver.conf` and configure ALE settings (see [Configuration](#-configuration) below).
|
||||||
|
|
||||||
## ⚙️ Configuration
|
## ⚙️ 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
|
```ini
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
@@ -152,24 +152,16 @@ After installation, configure ALE by editing your `worldserver.conf` file:
|
|||||||
|
|
||||||
# Enable or disable ALE
|
# Enable or disable ALE
|
||||||
# Default: 1 (enabled)
|
# Default: 1 (enabled)
|
||||||
Eluna.Enabled = 1
|
ALE.Enabled = 1
|
||||||
|
|
||||||
# Enable traceback for detailed error information
|
# Enable traceback for detailed error information
|
||||||
# Useful for debugging but has performance overhead
|
# Useful for debugging but has performance overhead
|
||||||
# Default: 1 (enabled)
|
# Default: 1 (enabled)
|
||||||
Eluna.TraceBack = 1
|
ALE.TraceBack = 1
|
||||||
|
|
||||||
# Script folder location (relative to server binary)
|
# Script folder location (relative to server binary)
|
||||||
# Default: "lua_scripts"
|
# Default: "lua_scripts"
|
||||||
Eluna.ScriptPath = "lua_scripts"
|
ALE.ScriptPath = "lua_scripts"
|
||||||
|
|
||||||
# Logging level
|
|
||||||
# 0 = Disabled
|
|
||||||
# 1 = Errors only
|
|
||||||
# 2 = Errors and warnings
|
|
||||||
# 3 = All messages (debug)
|
|
||||||
# Default: 2
|
|
||||||
Eluna.LogLevel = 2
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Creating the Scripts Folder
|
### Creating the Scripts Folder
|
||||||
@@ -234,7 +226,7 @@ cmake --build . --config Release
|
|||||||
**Check these things:**
|
**Check these things:**
|
||||||
|
|
||||||
1. **Config file**: Ensure you're using the new `worldserver.conf` generated after compilation
|
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
|
3. **Script path**: Ensure `lua_scripts` folder exists in the correct location
|
||||||
4. **Logs**: Check server logs for error messages
|
4. **Logs**: Check server logs for error messages
|
||||||
|
|
||||||
|
|||||||
@@ -236,11 +236,11 @@ end
|
|||||||
For quick testing during development, you can reload scripts without restarting:
|
For quick testing during development, you can reload scripts without restarting:
|
||||||
|
|
||||||
```
|
```
|
||||||
.reload eluna
|
.reload ale
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!WARNING]
|
> [!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:**
|
**Important Limitations:**
|
||||||
- Reloading doesn't trigger events like login for already-connected players
|
- Reloading doesn't trigger events like login for already-connected players
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import shutil
|
|||||||
import typing
|
import typing
|
||||||
from jinja2 import Environment, FileSystemLoader
|
from jinja2 import Environment, FileSystemLoader
|
||||||
from typedecorator import params, returns
|
from typedecorator import params, returns
|
||||||
from ElunaDoc.parser import ClassParser, MethodDoc
|
from ALEDoc.parser import ClassParser, MethodDoc
|
||||||
import glob
|
import glob
|
||||||
import time
|
import time
|
||||||
|
|
||||||
@@ -11,10 +11,10 @@ import time
|
|||||||
@returns([(str, typing.IO)])
|
@returns([(str, typing.IO)])
|
||||||
@params(search_path=str)
|
@params(search_path=str)
|
||||||
def find_class_files(search_path):
|
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
|
:param search_path: the path to search for ALE methods in
|
||||||
:return: a list of all files containing Eluna methods, and the name of their respective classes
|
:return: a list of all files containing ALE methods, and the name of their respective classes
|
||||||
"""
|
"""
|
||||||
# Search for all files ending in "Methods.h".
|
# Search for all files ending in "Methods.h".
|
||||||
method_file_names = glob.glob(os.path.join(search_path, '**', '*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'):
|
if os.path.exists('build'):
|
||||||
shutil.rmtree('build')
|
shutil.rmtree('build')
|
||||||
os.mkdir('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.
|
# 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('../')
|
class_files = find_class_files('../')
|
||||||
|
|
||||||
# Parse all the method files.
|
# Parse all the method files.
|
||||||
@@ -131,7 +131,7 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
# Case for enums to direct to a search on github
|
# Case for enums to direct to a search on github
|
||||||
enum_name = content[1:-1]
|
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)
|
return '<strong><a href="{}">{}</a></strong>'.format(url, enum_name)
|
||||||
|
|
||||||
# By default we just return the name without the [] around it
|
# By default we just return the name without the [] around it
|
||||||
@@ -140,7 +140,7 @@ if __name__ == '__main__':
|
|||||||
return link_parser, data_type_parser
|
return link_parser, data_type_parser
|
||||||
|
|
||||||
# Create the render function with the template path and parser maker.
|
# 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 the index.
|
||||||
render('index.html', 'index.html', level=0, classes=classes)
|
render('index.html', 'index.html', level=0, classes=classes)
|
||||||
@@ -6,7 +6,7 @@ from typedecorator import params, returns, Nullable
|
|||||||
|
|
||||||
|
|
||||||
class ParameterDoc(object):
|
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.
|
# The integer ranges that each C++ type is valid for. None means valid for all numbers.
|
||||||
valid_ranges = {
|
valid_ranges = {
|
||||||
@@ -64,7 +64,7 @@ class ParameterDoc(object):
|
|||||||
|
|
||||||
|
|
||||||
class MethodDoc(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])
|
@params(self=object, name=str, description=str, prototypes=[str], parameters=[ParameterDoc], returned=[ParameterDoc])
|
||||||
def __init__(self, name, description, prototypes, parameters, returned):
|
def __init__(self, name, description, prototypes, parameters, returned):
|
||||||
self.name = name
|
self.name = name
|
||||||
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -497,7 +497,7 @@
|
|||||||
'</span></td></tr>';
|
'</span></td></tr>';
|
||||||
});
|
});
|
||||||
} else {
|
} 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>";
|
output += "</p>";
|
||||||
@@ -3,10 +3,10 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<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="description" content="{% block description %}API documentation for the ALE engine.{% endblock %}">
|
||||||
<meta name="keywords" content="eluna, lua, lua engine, azerothcore, script, scripting, doc, docs, documentation">
|
<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('main.css') }}">
|
||||||
<link rel="stylesheet" type="text/css" href="{{ static('dark.css') }}">
|
<link rel="stylesheet" type="text/css" href="{{ static('dark.css') }}">
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
<![endif]-->
|
<![endif]-->
|
||||||
|
|
||||||
<section class="sidebar">
|
<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">
|
<div class="block">
|
||||||
{% block sidebar %}
|
{% block sidebar %}
|
||||||
<h2>All Classes</h2>
|
<h2>All Classes</h2>
|
||||||
@@ -101,6 +101,6 @@
|
|||||||
<script src="{{ static('main.js') }}"></script>
|
<script src="{{ static('main.js') }}"></script>
|
||||||
<script async src="{{ root('search-index.js') }}"></script>
|
<script async src="{{ root('search-index.js') }}"></script>
|
||||||
<center>Generated on <script src="{{ root('date.js') }}"></script></center>
|
<center>Generated on <script src="{{ root('date.js') }}"></script></center>
|
||||||
<center>©2016 - Eluna Lua Engine</center>
|
<center>©2026 - ALE Lua Engine</center>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
|
|
||||||
{% block description -%}
|
{% 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 %}
|
{%- endblock %}
|
||||||
|
|
||||||
|
|
||||||
@@ -2,39 +2,39 @@
|
|||||||
|
|
||||||
|
|
||||||
{% block document_title -%}
|
{% block document_title -%}
|
||||||
Eluna API Documentation
|
ALE API Documentation
|
||||||
{%- endblock %}
|
{%- endblock %}
|
||||||
|
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class='docblock'>
|
<div class='docblock'>
|
||||||
<h1 id="the-eluna-engine-api" class='section-header'>
|
<h1 id="the-ale-engine-api" class='section-header'>
|
||||||
<a href="#the-eluna-engine-api">The Eluna Lua Engine© API</a>
|
<a href="#the-ale-engine-api">The ALE Lua Engine© API</a>
|
||||||
</h1>
|
</h1>
|
||||||
<p>
|
<p>
|
||||||
The Eluna Lua Engine© API allows you to add your own Lua code to be executed when certain events (called "hooks") occur.
|
The ALE Lua Engine© API allows you to add your own Lua code to be executed when certain events (called "hooks") occur.
|
||||||
</p>
|
</p>
|
||||||
<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!
|
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.
|
If the hook exists, you can script it.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2 id="about-eluna" class='section-header'>
|
<h2 id="about-ale" class='section-header'>
|
||||||
<a href="#about-eluna">About Eluna</a>
|
<a href="#about-ale">About ALE</a>
|
||||||
</h2>
|
</h2>
|
||||||
<p>
|
<p>
|
||||||
Eluna is a <a href="http://www.lua.org/">Lua</a> engine for World of Warcraft emulators.
|
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 Eluna also supports
|
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>.
|
<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>
|
||||||
<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>
|
||||||
<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>
|
||||||
<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>
|
</p>
|
||||||
|
|
||||||
<h2 id="installation" class='section-header'>
|
<h2 id="installation" class='section-header'>
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
<p>
|
<p>
|
||||||
<ol>
|
<ol>
|
||||||
<li>If you haven't already, clone AzerothCore from <a href="https://github.com/azerothcore/azerothcore-wotlk">our GitHub repository</a></li>
|
<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>Run CMake</li>
|
||||||
<li>Build AzerothCore</li>
|
<li>Build AzerothCore</li>
|
||||||
</ol>
|
</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>.
|
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>
|
||||||
<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>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
|
|
||||||
{% block title -%}
|
{% block title -%}
|
||||||
{{ current_class.name }}:{{ current_method.name }} - Eluna
|
{{ current_class.name }}:{{ current_method.name }} - ALE
|
||||||
{%- endblock %}
|
{%- endblock %}
|
||||||
|
|
||||||
|
|
||||||
{% block description -%}
|
{% 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 %}
|
{%- endblock %}
|
||||||
|
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
{{ current_method.description|parse_links }}
|
{{ current_method.description|parse_links }}
|
||||||
{%- else %}
|
{%- else %}
|
||||||
<p>This method is <em>undocumented</em>. <strong>Use at your own risk.</strong></p>
|
<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 %}
|
{%- endif %}
|
||||||
|
|
||||||
<h2 id="synopsis" class='section-header'>
|
<h2 id="synopsis" class='section-header'>
|
||||||
Reference in New Issue
Block a user