Skip to content

Latest commit

 

History

History
74 lines (49 loc) · 1.76 KB

File metadata and controls

74 lines (49 loc) · 1.76 KB

Kepler

A small TCP server written in C11 powered by libuv, an asynchronous networking library. It powers the Habbo Hotel version 18 client from 2007 era. The aim is to fully replicate this version by writing the back-end server in the C11 language.

This was the original Kepler emulator before it was recoded in Java. Both the C and Java versions share the same MySQL database schema.

Quick Install

Pre-built binaries are available from the latest release. The zip includes the binary and data files.

Linux

curl -fsSL https://raw.githubusercontent.com/Quackster/KeplerC/master/install.sh | bash

Windows (PowerShell)

irm https://raw.githubusercontent.com/Quackster/KeplerC/master/install.ps1 | iex

Both scripts download and extract to ~/KeplerC.


Requirements

  • MySQL or MariaDB server
  • Load the database schema from the Java Kepler project (tools/kepler.sql and migrations)

On first run, a config.ini file is created where you can configure your MySQL connection:

[MySQL]
mysql.host=127.0.0.1
mysql.port=3306
mysql.user=kepler
mysql.password=
mysql.database=kepler

Building from Source

Dependencies

Linux (Debian/Ubuntu)

sudo apt install make cmake git libuv1-dev libmariadb-dev libsodium-dev

Windows (MSYS2 MinGW64)

pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-make mingw-w64-x86_64-libuv mingw-w64-x86_64-libsodium mingw-w64-x86_64-libmariadbclient

Clone

git clone --recursive https://github.com/Quackster/KeplerC

Compile and Run

cd KeplerC
cmake -B build
cmake --build build
./build/Kepler