LogoLogo
English
English
  • Diarkis Help Center
  • Overview of Diarkis
  • Getting Started
    • Diarkis Server Template
    • Diarkis Client SDK
    • Tutorials
      • 1. Launch Diarkis Server in Local Environment
      • 2. Perform Connectivity Check with Test Client
      • 3. Implement Custom Command
      • Connect to Server from Diarkis Client
    • Samples
  • Diarkis Modules
    • Room Module
      • Set Up Room Module on Server
      • Room Sample
        • room_broadcast
      • Utilizing Room Module from Client
      • Additional Features of Room
    • MatchMaker Module
      • Set Up MatchMaker Module on Server
    • Field Module
      • Set Up Field Module on Server
    • P2P Module
      • Set Up P2P Module on Server
      • P2P Sample
    • DM (Direct Message) Module
      • Set Up DM Module on Server
    • Notifier Module
      • Set Up Notifier Module on Server
    • Session Module
      • Set Up Session Module on Server
    • Group Module
      • Set Up Group Module on Server
  • Diarkis Server
    • Launch Diarkis Server in Cloud Environment
      • AWS
    • Launch Diarkis Server on Windows Environment
    • MARS Server
    • UDP Server
    • TCP Server
    • HTTP Server
    • Metrics API
    • Inter-server Communication - Mesh
  • Diarkis Client
    • Runtime Library
      • Diarkis RUDP
    • Diarkis Module
      • Initialization and Termination of Diarkis Module
      • Customization of Diarkis Module
      • Logging System of Diarkis Module
      • Migration
      • Threads of Diarkis
    • Samples
      • C++
        • room_broadcast
        • directmessage_simple
        • group_sample
        • matching_and_turn
        • matchmaker_ticket
        • p2p_rudp_sample
        • session_simple
      • Unreal Engine Plugin
        • FieldWalker
      • Unity Plugin
        • FieldWalker
          • HowToReplicatePosition.md
  • Diarkis Tools
    • Diarkis CLI
      • Procedures to Switch to Diarkis CLI v3
  • References
    • API Reference
    • Release Notes
      • v1.0
      • v1.0.1
      • v1.0.2
      • v1.0.3
      • v1.0.4
      • v1.0.5
      • v1.0.6
  • Support
    • License and Billing
Powered by GitBook
On this page
  • Introduction
  • Supported Platforms
  • Setting Up the Client SDK
  • Package Structure
  • C++ SDK Package
  • Runtime Structure
  • Diarkis Runtime Library
  • Overview
  • Main Features
  • Diarkis Module
  • Overview

Was this helpful?

  1. Getting Started

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 absorbs 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 provided 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 zip archives for each platform and can be used simply by extracting the archives. The packages for Windows/macOS/Linux, which are intended as development environments, contain a full set of base files, while packages for other platforms contain only the differences needed to pair with the main development environment packages. Therefore, first extract the package for the main development environment, and then extract the packages for other platform development environments in the same location. Due to its configuration, the same file may be included in multiple packages, but it is not an issue if you overwrite files during extraction.

Package Structure

C++ SDK Package

. # Package root
|   CHANGELOG.md
|   SAMPLE_README.md
|   
+---diarkis-module # Source code for diarkis-module
|   +---Client
|   |   +---Private
|   |   \---Public
|                   
+---include # Header files for 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 is composed of the Diarkis Runtime Library and the Diarkis Module.

Diarkis Runtime Library

Overview

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

Main Features

  • Core Features

    • 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

    • DM (Direct Message) module

    • Session module

    • Group module

Diarkis Module

Overview

While the Diarkis Runtime Library provides low-level features, additional functionalities are required to operate as an actual application. The Diarkis Module is a framework designed to make it easy to incorporate the runtime into applications by providing necessary implementations and convenient features to use the Diarkis Runtime Library. The source code is located in the following location within the package:

diarkis-module

PreviousDiarkis Server TemplateNextTutorials

Last updated 2 months ago

Was this helpful?

The Diarkis Runtime Library contains core features of the runtime and is provided as a pre-built library. For details, refer to the . The Diarkis Module is a framework that implements the functions and necessary implementations to use the Diarkis Runtime Library in an application easily, and is provided in source code form. For details, see .

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

For more details about the Diarkis Module, refer to .

Diarkis Runtime Library
Diarkis Module
Diarkis Runtime Library
Diarkis Module