Geruterra

Geruterra

So, here I am. Starting work on Geruterra. My experiments in Mantilogs Godot UI have come to an end for now, it appears I will need a classic HTML/JavaScript interface for the time being as Godot doesn't load on the older hardware we're using here.

The first step with Geruterra is to build the API. This API will be responsible for authentication and loading data. Some of the data will be directly loaded to the client, some of it will be loaded to socket servers that will handle things like player interaction and exploring the world.

This API is currently set up with a self-hosted AWS-style distributed Object Storage (Minio) server to host all it's media and static files. This has 3 nodes currently, which gives me some fail-overs and essentially built-in backups and file versioning. Later it will give me a CDN, so I can distribute the load of the servers and lower player load times.

On top of that is Django, of course. Primarily for Auth, ORM and the Admin interface.

On top of that is Django Rest Framework, because we want this thing to be an API and that will handle a lot of the important bits for us, though there will be some heavy customization of some of the serializers as we go.

Then taking a page from an old project in a similar vain, Tamakai's Sprite Generator API. A micro-service style Flask application that can assemble a sprite sheet from parts, coloring the parts accordingly.

I've also written a Dockerfile for it, of course. Everything here is container based.

After that I wrote a CI file to automatically build and upload the images to my container registry for easier deployment.

Set up the start of documentation as well.

Documentation
CI Build
Contiainer Registry
Token Auth

Next up, I will have to figure out my models and serializers starting tomorrow.

Clocking out.