1. Help Center
  2. Getting Started
  3. Getting Started With Diarkis Server Development

Introduction To Diarkis Server

This is the server-side documentation for enterprise licensee developers.

This documentation aims to explain how to use Diarkis server APIs and their module interfaces to build our server applications.

The scope of this document includes how to set up HTTP, TCP, and UDP servers, their server configurations, Room module, Match Making module,  and internal server-to-server communication.

This documentation assumes that the reader understands the basics of Go and its development environment. 

Also, the reader is assumed to have access to the development server with the builder server of Diarkis.

Primary Language Used

Diarkis server uses Go as its primary language. You do, however, have a way to use C/C++ language with Go’s C interface. (Go official documentation on the C interface here.)

Goroutines

Diarkis engine handles and manages goroutines internally. In most cases, your application logic does not require the use of goroutines. Functions provided by Diarkis engine with callbacks usually indicate that goroutines are used internally although this is not always the case.

Diarkis Server Cluster and Application Server(s)

In order to establish a connection to interact with the Diarkis server cluster, you must obtain a connection endpoint and other necessary data from it via HTTP API.

The diagram below describes the relations between the clients, Diarkis server cluster, and your application server(s).

Diarkis cluster consists of HTTP, UDP/RUDP and/or TCP and/or WebSocket.


HTTP The entry point for real-time connection with TCP, UDP/RUDP, and WebSocket.
TCP Real-time communication server for TCP network protocol.
UDP Real-time communication server for UDP/RUDP network protocol.
WebSocket Real-time communication server for WebSocket network protocol. 

NOTE: HTTP client included in the client SDK is ONLY for test CLI.

Documentations