celte-team

Developer resources

Here you will find resources documenting the inner workings of Celte Server Meshing, sorted by topics.

This is still a work in progress, but you can expect to find diagrams and explainations about the various procedures performed by Celte, both from an algorithmic and from a network point of view.

How to setup Celte ?

Click here to learn how to setup Celte on your machine.

Fundamental concepts

Kafka

Apache Kafka is the communication protocol used by Celte. You may want to check out both the official kafka documentation, the repository of the c++ kafka encapsulation used by Celte, as well as how to use kafka in Celte.

Topics

At the heart of kafka (and thus, Celte), topics create diffusion lists for the information of the game. Each topic has its own rules when it comes to which data to pass, and how this data gets formatted. Click here to see the list of all available topics and learn how to format data to produce it to kafka.

RPCs

RPCs (Remote Procedure Calls) are methods that can be invoked on another machine and are at the very heart of Celte. See this documentation.

Hooks

Hooks are customizable lambda expressions that are called by Celte at key moments of the execution, to implement specialized behaviors for the user. Such behavior may include spawning the player… See here.

Docker overview

Celte is designed to run in a dockerized environment. This is a brief overview of how Celte is designed to run in a dockerized environment. See here.

Server Meshing Algorithms

Server Meshing comes with a number of notions not always seen in classical game networking. Click here to learn more.