Skip to content
OpenArkStudioPublic

Latest commit

 

History

3,311 Commits

Folders and files

Repository files navigation

English · 简体中文

ARK

A C++20 framework for modular server applications.

Compose services. Model entities. Connect processes.

Merge queue CI C++20 Apache-2.0

Get started →   ·   Documentation   ·   Examples   ·   Roadmap


Features

  • Services: plugins and modules with lifecycle hooks; business plugins stay in their application repositories.
  • Entity data: properties, tables and containers with metadata, configuration defaults and change callbacks.
  • Communication: TCP, WebSocket, HTTP and RUDP through arknet, with bus identifiers and message routing.
  • Tooling: Protobuf messages and Excel configuration generation.

Get started

Build on Linux, macOS or Windows with C++20, CMake 3.21+, Ninja and vcpkg. Windows requires Visual Studio 2022+.

Configure app-build/ using the installation guide, then build:

cmake --build app-build --config Release --parallel 2

Follow the quick start to prepare the runtime binaries and configuration. On macOS/Linux, start Timers from run/timers/:

./bin/app --busid=1.0.1.1 --name=timers \
  --app_conf=conf/timers.app.toml --log_conf=conf/log.conf

The legacy Unity client has not been verified against the current ark server.

Module guide · Architecture · Tests · Contribute · Discord

Core developers: Nick Yang, flyicegood and loscaz. Thanks to all contributors.


Apache-2.0 · Copyright OpenArkStudio.

Releases

Packages

Used by

Contributors

Languages