Diarkis Client SDK

Introduction

The Diarkis Client SDK (hereinafter referred to as the Client SDK) is an SDK that allows applications running on various platforms to connect to the Diarkis server and use Diarkis's features.

C++ version and C# version of the SDK are provided, and each can be used from their respective languages. The Diarkis Client Runtime (hereinafter referred to as Runtime) included in the Client SDK absorbs the differences of each platform and provides a common API, allowing you to use Diarkis's features on each platform with the same code. Additionally, the C++ version provides a sample implementation to use Diarkis from Unreal Engine, and the C# version provides a sample implementation to use Diarkis from Unity.

To download the Client SDK and samples, you need a Diarkis license. For more details, please contact us via License and Billing.

Supported Platforms

  • Windows 10/11

  • Linux

  • macOS

  • PS4

  • PS5

  • Switch

  • Xbox One (GDK)

  • Xbox Series S/X

  • Android

  • iOS

Setting Up the Client SDK

The Client SDK is distributed as a zip archive for each platform, and you can use it simply by extracting the archive. Packages for the assumed development environments (Windows/macOS/Linux) include a complete set of base files, and packages for other platforms only include the differences to be combined with these main development environment packages. Therefore, please first extract the main development environment package, and then extract the packages for other platform development environments at the same location. Due to the structure, the same file may be included in multiple packages, but it is fine to overwrite them during extraction.

Package Structure

C++ SDK Package

. # Package Root
|   CHANGELOG.md
|   SAMPLE_README.md
|   
+---diarkis-module # Source code of diarkis-module
|   +---Client
|   |   +---Private
|   |   \---Public
|                   
+---include # Header files of Diarkis Runtime Library
|   \---diarkis
|               
+---platforms # Platform-specific header files and libraries
|   \---win-vs2019 
|       +---include
|       \---lib
|                           
+---samples # C++ Samples
|   +---directmessage_simple
|   +---group_sample
|   +---matching_and_turn
|   +---matchmaker_ticket
|   +---p2p_rudp_sample
|   +---room_broadcast
|   \---session_simple
|               
\---third-party # Third-party libraries etc.

Runtime Structure

The runtime consists of the Diarkis Runtime Library and the Diarkis Module.

The Diarkis Runtime Library includes the core functions of the runtime and is provided as a pre-built library. For more details, please refer to Diarkis Runtime Library. The Diarkis Module is a framework implemented with the necessary implementations and convenient features to use the Diarkis Runtime Library, making it easy to integrate the runtime into applications, and is provided as source code. For more details, please refer to Diarkis Module.

Diarkis Runtime Library

Overview

The Diarkis Runtime Library contains the core low-level functions of the runtime.

Main Features

  • Core Functions

    • Diarkis TCP/UDP/RUDP communication

    • Thread Management

    • Memory Management and Custom Allocator

    • NAT Type Detection

  • Diarkis Features

    • Room Module

    • MatchMaker Module

    • Field Module

    • P2P Module

    • Direct Message (DM) Module

    • Session Module

    • Group Module

For more details on the Diarkis Runtime Library, please refer to Diarkis Runtime Library.

Diarkis Module

Overview

The Diarkis Runtime Library provides low-level functions, but additional implementations are required to run it as an actual application. The Diarkis Module is a framework implemented with the necessary implementations and convenient features to use the Diarkis Runtime Library, making it easy to integrate the runtime into applications. The source code is located in the following location within the package.

diarkis-module

For more details on the Diarkis Module, please refer to Diarkis Module.

Last updated