Skip to content

Repository files navigation

Project SkyFire logo

Build Status

windows-cluster-build ubuntu-cluster-build CodeFactor Codacy Badge

Clustering CI runs on pushes and pull requests to clustering, main and trunk, including SQL changes. Windows and Ubuntu builds verify the CMake INSTALL layout and upload packages under each workflow run. Ubuntu PCH CI also runs focused cluster, hub, chat and battleground tests. Packages include native daemons, web assets, Python services and distribution configs; operators still supply their runtime dependencies, databases, certificates and game data.

Project Information

SkyFire is a MMORPG Framework based mostly on C++.

SkyFireEMU is a MMORPG Framework based mostly on C++. It is completely open-source, and is community supported. It is derived from CactusEmu, TrinityCore, and MaNGOS, the Massive Network Game Object Servers, and is based on the code of their projects with extensive changes over time to optimize, improve and cleanup the code base at the same time as improving the in game mechanics and functionality.

It is completely open source; community involvement is highly encouraged.

If you wish to contribute ideas or code please visit our site linked below or make pull requests to our Github repository.

For further information on the SkyFire project, please visit our project website at projectskyfire.org.

Supported Client Version

MoP 5.4.8 Build 18414

Requirements

  • Platform/Architecture:
    • Ubuntu 24.04 LTS: x86_64
    • Windows 11: x86_64
    • Windows 10: x86_64
    • Windows Server 2025: x86_64
    • Windows Server 2022: x86_64
  • Processor with SSE2 support.
  • C++23-capable compiler:
    • GCC 14.0 or newer on Linux.
    • MSVC 19.44.35217.0 or newer with Visual Studio 2022 on Windows.
  • CMake:
    • 3.27.7 or newer on Linux.
    • 4.1.2 or newer on Windows.
  • Boost 1.91.0. Set BOOST_ROOT when Boost is installed outside the system prefix.
  • OpenSSL 4.0.1 with the legacy provider module available.
  • MySQL client development libraries.
    • MySQL 9.6 is the tested Windows install.
    • On Ubuntu, install the distro client development package such as default-libmysqlclient-dev.
  • Ninja is recommended for Linux builds.

Clustering package requirements

Clustering uses the C++ build requirements above. Deploy matching hubserver, authserver and worldserver binaries together. The Python services below are separate processes; install their dependencies on the hosts that run them.

Component Additional packages and runtime requirements
Hub and cluster nodes MySQL server for the hub database, plus the existing auth, characters and world databases. OpenSSL runtime libraries and a CA-signed certificate/private key for each cluster identity; cluster registration requires mutual TLS.
Local hub web interface A browser and the installed web/ directory. No Python, PHP or Node.js runtime is required for this interface.
Optional HTTPS/WebSocket control gateway Python 3.11+, pip, a Python virtual environment, PHP 8.2+ CLI, and aiohttp==3.14.3 from control/requirements.txt. Also requires an HTTPS certificate/private key and the shared hub control token.
Backup and recovery worker Python 3.11+, pip, a Python virtual environment, MySQL 8+ mysql and mysqldump executables, and tzlocal>=5.2,<6 plus tzdata>=2025.2 from backup/requirements.txt. Configure absolute paths to the MySQL tools and a writable backup volume.
Optional native chat foundation Build/install chatserver with the core dependencies and a dedicated mutual-TLS certificate. Supports multiple configured realms and optional same-world whisper relay; other chat routing is pending. See chat daemon setup.
Optional battleground matchmaking Build/install battlegroundserver with the core dependencies and a dedicated mutual-TLS certificate. Owns unrated queue selection and backfill per realm; worldserver hosts matches. See battleground daemon setup.
Optional character service (experimental) Python 3.11+, pip, and PyMySQL[rsa]==1.1.2 from characterserver/requirements.txt; an initialized InnoDB character schema and a dedicated cluster certificate. See character service setup and limitations.
Isolated restore verification A separate compatible MySQL server instance with binary logging disabled, configured through verification_config. The verification identity needs permission to create/drop temporary databases and users and grant database-local privileges; see the backup guide.

See clustering setup notes for package installation, configuration, database migrations and service startup references. See managed data services for web lifecycle controls and character-server health metrics.

Install

Detailed installation guides are available in the wiki for

Windows, Fedora 39, Ubuntu 24.04 and Mac OSX.

Reporting issues

Please use the search function before you report issues. SkyFire Issue Tracker.

Submitting fixes

Fixes are submitted as pull requests.

SkyFire Pull Request

Copyright

License: GPL 3.0

Read file LICENSE

Authors & Contributors

Read file THANKS

Links

Forum: https://www.projectskyfire.org/

Database Releases: https://github.com/ProjectSkyfire/SkyFire_548/releases

Wiki: https://wiki.projectskyfire.org

The optional terrain/collision mapserver proof of concept requires Python 3.11+ and src/server/mapserver/requirements.txt (aiohttp and cryptography). Its world startup helper additionally uses cryptography when certificate revocation is enabled. See mapserver setup and multi-continent assignments.

The hub's optional certificate authority and remote enrollment provisions managed daemon credentials, renews expiring certificates and distributes signed revocation lists. Python services and the remote enrollment utility require cryptography==50.0.1. Existing clusters must import their matching CA/key and current public certificate inventory before enabling it.

About

SkyFireEMU is a full featured World of Warcraft: Mists of Pandaria emulator written in C++. || Compatible with World of Warcraft client 5.4.8 (Build: 18414) Project Established in 2011 || Support on Discord https://discord.gg/DnKZycD

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages