Skip to content

ksmit799/Ardos

Ardos

A Realtime Distributed Object Server

Based on Astron (Modified BSD 3-Clause)

Ardos is a highly-distributed networking suite designed to power large-scale MMO games. Inspired by the in-house OTP (Online Theme Park) networking technology developed by Disney Interactive Studios, which was used to power MMOs such as Toontown Online, Pirates of The Caribbean Online, Pixie Hollow Online, and The World of Cars Online.

Ardos is first and foremost designed to be a first class citizen of the Panda3D game engine (developed by Disney and CMU), which has built-in, production ready support for this server technology. However, through tools such as otp-gen, it's possible to use Ardos via other game engines/languages.

It's highly recommended to view the Ardos wiki for build instructions, configuration examples, deployment strategies, networking topology, and help on determining whether Ardos is the right fit for you.

Building

Ardos uses CMake and vcpkg for dependency management. vcpkg is included as a git submodule, so you do not need to install it separately.

Prerequisites

  • CMake 3.22 or later
  • C++20 compatible compiler

Building Ardos

  1. Clone the repository and its submodules (this includes vcpkg):

    git clone --recurse-submodules https://github.com/ksmit799/Ardos.git
    cd Ardos

    If you already cloned without submodules:

    git submodule update --init --recursive
  2. Configure CMake using the bundled vcpkg toolchain:

    cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=libs/vcpkg/scripts/buildsystems/vcpkg.cmake
  3. Build:

    cmake --build build

Optional: Database Server Support

To build with MongoDB database server support, ensure ARDOS_WANT_DB_SERVER is enabled (it's ON by default). The MongoDB C++ driver will be automatically installed via vcpkg.

Optional: Legacy Mode

Ardos supports building in "legacy" mode, which makes the cluster compatible with original Disney clients. Generally, this shouldn't be used for new projects. To enable legacy mode, compile with ARDOS_USE_LEGACY_CLIENT.

OTP Architecture Resources

Helpful for understanding the internal architecture of Ardos and its usages.

Video Lectures (Disney Interactive Studios)

Presentation Slides

Other Documentation

About

A Realtime Distributed Object Server

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages