Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dr-nekoma/lyceum

An MMO game written in Erlang + Zig (+ Raylib)
https://github.com/dr-nekoma/lyceum

erlang game justfile nix nix-flake postgresql raylib raylib-zig zig ziglang

Last synced: 16 days ago
JSON representation

An MMO game written in Erlang + Zig (+ Raylib)

Awesome Lists containing this project

README

        

#+TITLE: Lyceum Server πŸ›οΈ

#+html: built with nix

#+html: [Build] Client
#+html: [Build] Server Client
#+html: [Deploy] Server Status

* About

This is an MMO Server written in Erlang, for a game called Lyceum.

* How to run

There are several ways to run this project, but they all leverage [[https://nixos.org/][Nix]].

** Development Shell

We have a single [[https://devenv.sh/][devenv]] configured, that has all the tooling required to run this project, it also includes postgres:

#+BEGIN_SRC shell
# To enter the developmet shell
nix develop --impure
# To spawn postgres
devenv up -d
#+END_SRC

Then simply interact with ~/localhost:8080/~. For more commands, make sure to check ~just~.

#+BEGIN_SRC shell
# Will list all commands we have right now
just
#+END_SRC

to migrate the local dababase, you can use ~just db-up~ or ~db-up~.

*** Nix Builds

You can also build the server and related OCI images with Nix.

#+BEGIN_SRC shell
nix build .#server
#+END_SRC
if you prefer running a container for the server:
#+BEGIN_SRC shell
nix build .#buildImage
docker load < ./result
docker container run --network=host lyceum:latest
#+END_SRC

* Lore

In the dawn of ages, a solitary tower rose at the very heart of
creation. Its heights soared beyond measure, each stone wrought by the
hand of Adraman. Within its lofty chambers, knights slumbered in
homage to their lord, their dreams steeped in profound reverence.

Adraman, the architect of realms unseen, fashioned each brick with
meticulous care, imbuing them with the essence of creation itself. The
tower stood as a beacon in the void, a testament to Adraman's craft
and vision.

Yet one knight, restless and wide awake amidst the collective slumber,
was drawn by the haunting whispers of the wind. Captivated by the
unseen melodies that danced upon the breeze, he cast himself from the
tower's precipice. As he plummeted, his trumpet echoed through the
realms five times, a clarion call that shattered the tranquility of
ages past.

The reverberations of the trumpet stirred the knights from their deep
repose, igniting a tumultuous awakening. With swords unsheathed and
hearts ablaze, they clashed in a thunderous symphony of war, each
seeking to claim dominance over the waking realm.

In the aftermath of countless battles, only one knight remained
standing amidst the echoes of strife. His valor and defiance marked
him as both hero and pariah, banished to the realm of the lowly ones
where he ascended to rule over the twin cities of Tlova.

To reclaim the lost harmony and seek redemption in Adraman's eyes, the
Lyceum aroseβ€”a monumental testament to humanity's quest to bridge the
chasm between the heavens and the mortal realm.

Now far from the tower, a new era dawns as humanity's torch flickers
into darkness, its once radiant light dimming against the encroaching
shadows. With trepidation etched upon their faces, barbarian tribes
lay claim to the northern realms, and their conquests marking a steady
advance southward. Meanwhile, corruption festers within the Cities'
beating heart, severing its ancient ties to the source of all
creation.

In the fading twilight of their former glory, the heavens whisper of
impending change, and the lands tremble beneath the weight of
uncertainty. As the Cities now struggle to stem the tide of internal
decay and external aggression, the balance of power shifts perilously,
casting doubt upon the fate of civilizations wrought by the hands of
gods and men alike.