Skip to content

Quackster/KeplerC

Repository files navigation

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

About

A lightweight TCP server in C11 using libuv, designed for the 2007-era Habbo Hotel v18 client, back when Kepler used to be in C.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages