Skip to content

Azothacore is an open-source rust implementation of a game-server application for World of Warcraft

License

Notifications You must be signed in to change notification settings

lohvht/azothacore-rs

Repository files navigation

Azothacore

Azothacore is an attempt at rewriting an World of Warcraft emulator based on TrinityCore/Azerothcore tagged to version 7.3.5 (rev 269672), using Rust.

7.3.5 source reference is based on TrinityCore's 7.3.5/269672 release.

Referencing Database files notes from here: https://github.com/TrinityCore/TrinityCore/commit/7f2b7dc9c2165d2608742473a931f55b1c1a753a

It is completely open source and still a work in progress; Community involvement is highly encouraged.

Run the following to clone the repo, including submodules.

git clone --recurse-submodules [email protected]:lohvht/azothacore-rs.git

Requirements

Ensure that you're on a NIGHTLY toolchain for rust as the project uses a few features that are not stable yet.

There are several other dependencies required to compile this project other than a nightly build due to the project's dependencies on non-rust components. These are the crates in the crates/ directory ending with -sys. As well as recastnavigation-sys

These are the following requirements needed at the moment:

  • cmake
  • clang
  • C/C++ compiler

For casclib-sys, Cmake and a C++ compiler is required to compile CascLib while clang is required to parse the C++ headers to generate bindings to CascLib.

A C++ compiler and clang is also required to compile recastnavigation-sys.

TODO: FILL THIS IN WITH CMAKE/C++ REQUIREMENTS AND TEST OUT BUILDS FOR WINDOWS/Other Systems

Roadmap checklist (To be updated as it goes)

  • Extractors/Generators
    • Map & DB2
    • Vmap4 Extractor
    • Vmap4 Assembler
    • Mmap Generator
  • CI/CD helpers
    • Database pending updates / archive / etc (to prevent clashes)
    • CI lint / format
    • compile check for windows / linux / macos
    • Tests + Coverage
      • Coverage backbone code
  • Authserver netcode
    • Login REST service
    • Auth session handling
    • SSL/TLS cert patching / override
    • Test can login to login screen in UI
      • Can login and see RealmList
  • Loading game assets
  • Loading DB fixes
  • Migrations / DB reloader
  • Worldserver netcode
  • ...

Special Thanks

Special Thanks goes out to the authors of the following World of Warcraft emulators for providing a source to reference for this following implementation

About

Azothacore is an open-source rust implementation of a game-server application for World of Warcraft

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages