Diarkis Client SDK

Introduction

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

C++ version and C# version SDKs are provided and can be used from each respective language. The Diarkis Client Runtime (hereinafter referred to as the Runtime) included in the Client SDK abstracts platform differences to provide a common API, allowing you to use Diarkis's features across different platforms with the same code. Sample implementations for using Diarkis are available for Unreal Engine with the C++ version and Unity with the C# version.

A license for Diarkis is required to download the Client SDK and samples. For more details, please 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 in the form of zip archives for each platform, and can be used simply by extracting the archive. The packages for the Windows/macOS/Linux versions, which are envisioned as development environments, contain a complete set of base files, while the packages for other platforms include only the differences that are used in conjunction with these main development environment packages. Therefore, please extract the main development environment package first and then extract the packages for other platform development environments in the same location. Due to the configuration, the same files may be included in multiple packages, but it is safe to overwrite them during extraction.

Package Structure

C++ SDK Package

. # Package Root
|   CHANGELOG.md
|   SAMPLE_README.md
|   
+---diarkis-module # Source code of the diarkis-module
|   +---Client
|   |   +---Private
|   |   \---Public
|                   
+---include # Header files of the 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 contains core functionality of the Runtime and is provided as a pre-built library. For details, refer to Diarkis Runtime Library. The Diarkis Module is a framework provided in source code form that implements the necessary implementations and convenient features for using the Diarkis Runtime Library to easily integrate the Runtime into applications. For more details, refer to Diarkis Module.

Diarkis Runtime Library

Overview

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

Main Features

  • Foundational features

    • Diarkis TCP/UDP/RUDP communication

    • Thread management

    • Memory management and custom allocators

    • NAT type determination

  • Diarkis features

    • Room module

    • MatchMaker module

    • Field module

    • P2P module

    • DM(Direct Message) module

    • Session module

    • Group module

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

Diarkis Module

Overview

The Diarkis Runtime Library provides low-level functions; however, additional feature implementations are required to actually operate as an application. The Diarkis Module is a framework that implements the necessary features to use the Diarkis Runtime Library and additional convenient functions to easily integrate the Runtime into an application. The source code is located in the following directory within the package.

diarkis-module

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

Last updated