ftz.Lyberta.net

Modern C++ goodness

ftz LGI

Reference implementation of Libre Gaming Infrastructure

LGI is a framework designed to unify libre games. It provides features for handling user accounts, server list and other. It creates a peer-to-peer network of servers which help each other without any central authority. Every client and server have a cryptographic key pair and use public key for authentication. All traffic is encrypted using strong algorithms with mandatory perfect forward secrecy.

Key features

  • Cross platform - written in pure ISO C++17 + Filesystem TS (+ #pragma once).
  • Free software - released under the terms of GNU AGPLv3 or any later version.

Dependencies

Compiler support

  • G++ 7 or newer with libstdc++

Setting up

1. Install all needed packages

Debian/Ubuntu/Mint and derivatives

# apt-get install build-essential cmake git

2. Install other ftz libraries listed in dependencies section.

Please see README.md of the each library.

3. Clone the repository and switch into it

$ git clone https://gitlab.com/ftz/lgi.git
$ cd lgi

4. Build the library

$ make

5. Install the library

# make symlink

Physical copy (you will have to do this after each commit)

# make install

How to use

#include <ftz/LGI/someheader.h>

API reference