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.