Skip to content

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.*, and cluster.*.
  • 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.

Open an issue / PR