Skip to main content

Overview

This document provides a step-by-step guide to setting up the development environment for the project. The project is developed in four main parts:

Setup export in bashrc

The project need some environment variable, here is what you need to add at the end of your bashrc (~/.bashrc) : Path to your vcpkg:

export VCPKG_ROOT= ~/vcpkg

Your type of OS (the exmple is for linux): arm64-osx : macos aarch64-linux : linux arm x64-linux : linux

export VCPKG_TARGET_TRIPLET=x64-linux

export VCPKG_TARGET_TRIPLET=aarch64-linux

export VCPKG_TARGET_TRIPLET=arm64-osx

Add vcpkg_root to your path:

export PATH=$VCPKG_ROOT:$PATH

Add the config path:

export PKG_CONFIG_PATH=/usr/lib64/pkgconfig/:$PKG_CONFIG_PATH

Add the type of host (local by default):

export CELTE_CLUSTER_HOST=localhost

Install Perl

Vcpkg don't install it by default at the compilation, you may need ton install it manually if not already installed

sudo dnf install perl-IPC-Cmd

Redis

Redis is used for the error managment and report, it's a dynamic database using RAM instead of hard drive for better performance

To use it launch it using the run command

./automations/run --redis

Pulsar

Pulsar is a distributed messaging and event-streaming platform designed to provide high performance, scalability, and flexibility. It enables real-time data processing and is widely used for use cases like message queuing, pub-sub systems, and streaming data pipelines.

To use it you just have to go to the celte-system folder and run the following command:

./automations/run --pulsar

Master

Master is the conductor of the orchestra. He is responsible :

  • Of the assignation of the different client to the different server nodes.
  • He is also responsible for the creation of the different server nodes.

go to the celte-system folder and run the following command:

./automations/run --master

Godot

The godot project contain the client and the server node.

godot installation:

  • install godotversion 4.2.2
  • import godot project from the godot folder

import godot project

  • Run the project:

  1. open at least one the project in godot.
  2. Go to the celte-system folder and run the following command:
./automations/setup_repository.sh PATH-TO..  /celte-godot
  1. rm godot-cpp then git clone the cpp module then git switch to 4.2

    rm -rf godot-cpp ; git clone git@github.com:godotengine/godot-cpp.git ; cd godot-cpp ; git checkout 4.2
  2. go to celte-system/system/build and run the following command:

    cmake install .
  1. Then compile the project in godot. go back to celte/celte-godot/gdprojects/p1 and run the following command:
make

⚠️ You must have installed on your machine the following tools:

  • scons
  • boost

MAC OS users must install the following packages:

  • boost-python3 : brew install boost-python3

Run the project:

To easily run the project, you can use the run script in the celte-system folder.

launch them in this order : redis -> pulsar -> master

./automations/run (--redis, --pulsar, --master)

Now that all the dockers are launched go to the godot.project (by default in celte-godot/projects/demo1)

To launch a server:

export CELTE_MODE=server
godot . --headless

To launch a client (need at least one server launched)

godot .

Docker:

There is a docker image containing the celte-system folder and already compiled. clmt/celte_server:latest This will be use to run the project with the --cpp option.