Security fixes (HIGH): - Remove NOPASSWD sudo access in Dockerfile - Require secure passwords in docker-compose.yml (no weak defaults) - Replace libboost-all-dev with specific runtime libs in araxia_docs/Dockerfile Code quality fixes (MEDIUM): - Remove weak default password from .env.example - Fix AMS_Server.lua: vendor Smallfolk dependency, add CHAT_CHANNEL_WHISPER constant - Fix AMS_Client.lua: correct misleading comments about channel selection Fixes issues identified by Gemini Code Assist review.
Araxia Online TrinityCore
Introduction
Araxia Online is a MMORPG server based on TrinityCore. Our goal is to pin the core at the Midnight expansion (just to get player housing!) and focus on creating a stable, playable game environment. Our primary goals are:
- Create a stable, maintained fork that is no longer focused on staying current but is instead focused on a quality playing experience across Azeroth from 1.x -> 12.x.
- Create tools for assiting in creating world content. These tools will be a mix of server side, client side, and separate apps and other tools to simplify the process of creating quality content.
- Build a core that WE at Araxia want to play. This will not be a pure Bliz like experience and we are NOT wanting to try to replicate all retail WoW content ala AzerothCore (which we love!).
Initial goals of this project are:
- Create a nice docker build/deploy process that's easy to use.
- Make it easy to get a server going and get a client connected.
- Embed Eluna into the engine as a first class citizen.
- Get AIO style communication bettween the server/client so that we can start to build client side tooling that has direct access to any/all client side functionality we want.
- Build out @AraxiaTrinityAdmin to provide a UI for managing the server and world content.
- Build content, make it fun.
- Play the game!
Repository Structure
This is a multi-repository workspace. The main repositories are:
q:\github.com\araxiaonline\TrinityCore- TrinityCore fork (this repo)araxiaonline/- Custom Docker setup, configs, and documentationsrc/server/game/LuaEngine/- Eluna integration (custom)
q:\github.com\araxiaonline\TrinityServerBits- Server runtime filesetc/- Server config files (worldserver.conf, authserver.conf)lua_scripts/- Server-side Lua scripts (Eluna)client_files_11.2.5.63834/- Game data files (DBC, maps, etc.)logs/- Server logs (Server.log, Eluna.log, DBErrors.log, GM.log)
q:\Araxia Online\World of Warcraft Araxia Trinity 11.2.5.83634\_retail_\Interface- WoW clientAddOns/AraxiaTrinityAdmin/- Content creation UI addonAddOns/AIO_Client/- Client-side AIO communicationAddOns/AIO_Test/- Test addon for debugging AIO messages
Technical Stack
- TrinityCore 11.2.5 (Midnight expansion)
- Eluna Lua Engine - Embedded as first-class citizen (via
-DWITH_ELUNA=1) - AIO (Addon I/O) - Client↔Server Lua communication (based on Rochet2's work)
- Docker - Development environment (Ubuntu 24.04, Clang, ccache)
- MySQL - External database at
192.168.63.11:3456 - WoW Client 11.2.5.83634 - Retail client
Key Components
AraxiaTrinityAdmin Addon
Location: Interface/AddOns/AraxiaTrinityAdmin/
Content creation UI for managing NPCs, spawns, and world content. Built with WoW's FrameXML API.
Current Features:
- NPC info panel with target inspection
- Add NPC panel for spawning creatures
- Minimap button for quick access
AIO (Addon I/O) System
Client: Interface/AddOns/AIO_Client/
Server: lua_scripts/AIO_Server/
Bidirectional Lua communication between client and server. Allows custom client UI to call server-side functions and vice versa.
Based on: https://github.com/Rochet2/AIO
Eluna Integration
Location: src/server/game/LuaEngine/
Embedded Lua scripting engine for TrinityCore. Provides hooks for game events, creature AI, and custom content.
Key Files:
lua_scripts/init.lua- Main entry pointlua_scripts/integration_tests/- Test suite for Eluna bindingslua_scripts/run_tests.lua- Test runner
Development Workflow
See DEVELOPING.md for Docker setup and build instructions.
Quick Start:
# Start container
docker compose --env-file .env up -d
# Attach and build
docker exec -it trinitycore-dev bash
cd /workspace/build
bash ../araxiaonline/cmake_setup.sh
cmake --build . -j$(nproc)
# Run server
/opt/trinitycore/bin/worldserver
Important Notes for AI/LLM Developers
- Eluna is enabled via CMake: Use
-DWITH_ELUNA=1, not-DELUNA=1 - Multi-repo workspace: Changes may span TrinityCore, TrinityServerBits, and Interface folders
- No upstream README changes: Keep
TrinityCore/README.mduntouched to avoid merge conflicts - Docker-first development: All builds happen inside the container
- External database: Server connects to external MySQL, not containerized DB
- Paths differ by context:
- Container paths:
/opt/trinitycore/,/workspace/ - Windows paths:
q:\github.com\araxiaonline\,q:\Araxia Online\
- Container paths:
- AIO communication: Client and server Lua must stay in sync
- WoW API version: Interface 110205 (11.2.5)
- Live addon development:
q:\Araxia Online\...\Interface\AddOns\is the LIVE client addons folder. Changes are immediately available after/reloadin-game - no client restart needed. Excellent for rapid debugging.
Runtime Files & Logs
Server Logs (TrinityServerBits/logs/)
Accessible via workspace context @logs
Server.log- Main server log (includes ouraio.debuglogging)Eluna.log- Eluna Lua engine log (script loading, Lua errors)DBErrors.log- Database query errorsGM.log- GM command history
Monitoring logs in real-time:
# In container
tail -f /opt/trinitycore/logs/Server.log | grep "aio.debug"
tail -f /opt/trinitycore/logs/Eluna.log
Server Config (TrinityServerBits/etc/)
Accessible via workspace context @etc
worldserver.conf- Main server configurationAddonChannel.Enable- Must be1for addon messages to work- Logging levels, database connections, etc.
authserver.conf- Auth server configuration
Important config settings for AIO:
# In worldserver.conf
AddonChannel.Enable = 1
Documentation
Additional docs in araxiaonline/araxia_docs/:
ELUNA_INTEGRATION_COMPLETE.md- Eluna setup detailsELUNA_CONFIG_GUIDE.md- Configuration guideDOCKER_BUILD_README.md- Docker build processARAXIA_TODO.md- Project roadmap