Thanks¶
Splintertree stands on the shoulders of two decades of open-source World of Warcraft server emulation. None of this works without the people and projects below.
Upstream emulators¶
The cluster's game logic, packet structures, and database schemas trace back through a long chain of forks and reimplementations.
AzerothCore¶
github.com/azerothcore/azerothcore-wotlk — GPLv2.
Splintertree tracks AzerothCore parity for game logic where it
matters. AC's world.* schemas, smart-script DSL, condition system,
loot pools, achievement criteria, and script hook surface are the
direct model for ours. The Python script base classes mirror AC's
C++ *Script family one-to-one.
TrinityCore (3.3.5)¶
github.com/TrinityCore/TrinityCore — GPLv2.
The shared ancestor for AzerothCore. The 3.3.5 branch informed the gateway / world-server boundary, the SRP6 implementation, and a number of opcode handlers.
vmangos¶
github.com/vmangos/core — GPLv2.
The Vanilla 1.12 reference. Splintertree connects a 3.3.5a client to a 1.12 game world, so vmangos' behaviour for the Classic-era spell table, talent tree, quest pacing, and creature stats is the benchmark for "blizzlike Classic".
TSWoW¶
github.com/tswow/tswow — GPLv3.
The modding-pipeline inspiration. TSWoW's TypeScript-driven content
authoring and on-the-fly DBC re-packing shaped Splintertree's
stctl family of subcommands and the launcher's MPQ patch-chain
sync.
Playerbots¶
github.com/liyunfan1223/mod-playerbots — AGPLv3.
The Playerbots module (and its predecessors going back to ahbot / cmangos-bot) is the reference design for our bot population work.
MaNGOS / cmangos¶
getmangos.eu · github.com/cmangos
The grandparent project. Every emulator above forks (directly or transitively) from MaNGOS. The whole community owes them.
Tools, libraries, and infrastructure¶
A handful of open-source projects do disproportionate amounts of heavy lifting:
- Rust and the tokio ecosystem — the entire server is async Rust on tokio.
- NATS — the message bus that holds the microservice cluster together.
- PostgreSQL — primary data
store for
auth.*,characters.*,world.*, andcluster.*. - Redis — launcher manifest cache and read-mostly hot paths.
- PyO3 — embedded Python runtime that powers mod scripting.
- axum — HTTP plane for the admin / public / launcher REST API.
- Quasar + Vue 3 — the SPA framework behind the player site, admin portal, and launcher UI.
- Tauri 2 — desktop launcher shell.
- Prometheus + Grafana
— observability stack bundled under
monitoring/.
Documentation site¶
This site is built with MkDocs Material by @squidfunk and friends, deployed on Netlify. Both make publishing a documentation site embarrassingly easy — and the Material theme is the reason the site looks like this with so little custom CSS.
Game and trademarks¶
World of Warcraft, the game client, the artwork, the music, the quest text, and the lore are the property of Blizzard Entertainment, Inc. — Splintertree is a server emulator written from public protocol documentation and is not affiliated with, endorsed by, or sponsored by Blizzard. Players bring their own original game client.
Contributors¶
A growing list of individual contributors lives in the repository's
CONTRIBUTORS file (and in the GitHub contributors view).
Splintertree is open source — your name belongs on that list too if
you have an itch to scratch.