TrinityCore is open-source server software that lets you create your own World of Warcraft private server. You can play with friends, learn how MMO servers work, or contribute to game preservation.
- Wrath of the Lich King (3.3.5a) - This branch
- Cataclysm Classic - cata_classic branch
- Server Features: Authentication, character management, and world simulation
- Database Support: MySQL/MariaDB database backend
- Scripting System: Customize quests, NPCs, and game mechanics
- Cross-Platform: Works on Windows, Linux, and macOS
- Community: Regular updates and community support
- Open Source: No costs or limitations
Before starting, make sure you have:
- Operating System: Windows 10+, Ubuntu 20.04+, or macOS 10.15+
- C++ Compiler: C++20 compatible - GCC 11+, Clang 14+, or Visual Studio 2022+
- CMake: Version 3.28 or newer
- Git: For downloading the source code
- MySQL/MariaDB: Version 8.0+ recommended
- Boost Libraries: Version 1.74 or newer
- OpenSSL: Version 3.0 or newer
Windows Installation
-
Download and install Visual Studio 2022
- Choose "Community" (free version)
- Include "Desktop development with C++"
-
Install MySQL: Download from MySQL Downloads
-
Install Git: Download from git-scm.com
-
Clone the repository:
git clone https://github.com/wowemulation-dev/wooly-beast.git cd wooly-beast -
Create build directory:
mkdir build cd build
-
Configure the build:
cmake ../ -DCMAKE_INSTALL_PREFIX=../install
-
Build the project:
- Open
TrinityCore.slnin Visual Studio - Right-click the solution and select "Build Solution"
- Wait for compilation to complete (this may take 20-60 minutes)
- Open
Linux Installation (Ubuntu/Debian)
# Update your system
sudo apt update && sudo apt upgrade -y
# Install build tools
sudo apt install -y git cmake make build-essential
# Install MySQL/MariaDB
sudo apt install -y libmysqlclient-dev mysql-server
# Install additional dependencies
sudo apt install -y libssl-dev libboost-all-dev# Clone the repository
git clone https://github.com/wowemulation-dev/wooly-beast.git
cd wooly-beast
# Create and enter build directory
mkdir build && cd build
# Configure
cmake ../ -DCMAKE_INSTALL_PREFIX=../install
# Build (use all CPU cores for faster compilation)
make -j$(nproc)
# Install
make installmacOS Installation
# Install Homebrew (if not already installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install dependencies
brew install git cmake boost openssl mysql# Clone and build (same as Linux)
git clone https://github.com/wowemulation-dev/wooly-beast.git
cd wooly-beast
mkdir build && cd build
# Configure and build
cmake ../ -DCMAKE_INSTALL_PREFIX=../install
make -j$(sysctl -n hw.ncpu)
make installCREATE DATABASE trinity_auth;
CREATE DATABASE trinity_characters;
CREATE DATABASE trinity_world;mysql -u root -p trinity_auth < sql/base/auth_database.sql
mysql -u root -p trinity_characters < sql/base/characters_database.sqlFor the world database, you need to download and import the full world database release from the TrinityCore releases page.
Edit the configuration files in the etc/ directory:
LoginDatabaseInfo = "127.0.0.1;3306;root;password;trinity_auth"
WorldDatabaseInfo = "127.0.0.1;3306;root;password;trinity_world"
CharacterDatabaseInfo = "127.0.0.1;3306;root;password;trinity_characters"| Option | Description | Default | Example |
|---|---|---|---|
SERVERS |
Build server executables | ON | -DSERVERS=1 |
TOOLS |
Build extraction tools | ON | -DTOOLS=1 |
SCRIPTS |
Script loading method | static | -DSCRIPTS=dynamic |
BUILD_TESTING |
Enable unit tests | OFF | -DBUILD_TESTING=1 |
WITH_WARNINGS |
Enable compiler warnings | ON | -DWITH_WARNINGS=0 |
WITH_COREDEBUG |
Enable core debugging | OFF | -DWITH_COREDEBUG=1 |
static: Scripts compiled into the server (faster, requires recompile for changes)dynamic: Scripts loaded as libraries (slower, can reload without recompiling)none: No scripts (minimal server for testing)
- Installation Guide - Detailed step-by-step instructions
- Database Setup - Database configuration help
- Troubleshooting - Common problems and solutions
- Community Forums - Ask questions and share knowledge
- Discord Chat - Real-time help and discussion
- Issue Tracker - Report bugs and request features
- Search first - Check if your question has been answered before
- Be specific - Include your OS, database type, and error messages
- Show your work - Share what you've tried and what did not work
- Be patient - Volunteers help in their free time
TrinityCore thrives thanks to contributors like you. Here is how to get involved:
- Report bugs you encounter
- Improve documentation - fix typos, add clarity
- Test new features and provide feedback
- Help others in forums and Discord
- Fork the repository on GitHub
- Create a branch for your feature:
git checkout -b feature/amazing-feature - Make your changes following our coding standards
- Test thoroughly
- Submit a pull request with a clear description
- Follow existing code style and conventions
- Add tests for new functionality
- Update documentation for user-facing changes
How long does compilation take?
Compilation time varies by system:
- Modern computer: 10-20 minutes
- Average computer: 30-60 minutes
- Older system: 1-2 hours
Using make -j$(nproc) (Linux) or building in Release mode (Windows) will be faster.
Is this legal?
TrinityCore itself is legal open-source software. However:
- You need a legal copy of World of Warcraft to extract game data
- Running a private server may have legal implications in your jurisdiction
- This is for educational and personal use only
- Check your local laws before proceeding
- License: TrinityCore is released under the GNU GPL v2 License
- Purpose: This software is for educational purposes only
- Trademarks: World of Warcraft and Warcraft are trademarks of Blizzard Entertainment, Inc.
- Disclaimer: Check your local laws before using this software
TrinityCore is built on the work of thousands of developers over many years:
- Original MaNGOS team - Foundation of the codebase
- TrinityCore developers - Continued development and improvements
- Community contributors - Bug reports, testing, and code contributions
Thanks to all our contributors
