2023-06-13 11:51:18 +02:00
|
|
|
# Alex
|
2021-09-13 12:02:06 +02:00
|
|
|
|
2023-06-13 11:51:18 +02:00
|
|
|
Alex is a wrapper around a typical Minecraft server process. It acts as the
|
|
|
|
parent process, and sits in between the user's input and the server's stdin.
|
|
|
|
This allows Alex to support additional commands that execute Rust code.
|
|
|
|
|
|
|
|
## Why
|
|
|
|
|
|
|
|
The primary usecase for this is backups. A common problem I've had with
|
|
|
|
Minecraft backups is that they fail, because the server is writing to one of
|
|
|
|
the region files as the backup is being created. Alex solves this be sending
|
|
|
|
`save-off` and `save-all` to the server, before creating the tarball.
|
|
|
|
Afterwards, saving is enabled again with `save-on`.
|
|
|
|
|
|
|
|
## Features
|
|
|
|
|
|
|
|
* Create safe backups as gzip-compressed tarballs using the `backup` command
|
|
|
|
* Automatically create backups periodically
|
|
|
|
* Properly configures the process (working directory, optimisation flags)
|
|
|
|
* Configure everything as CLI arguments or environment variables
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
Alex is distributed as statically compiled binaries for Linux amd64 and arm64.
|
|
|
|
These can be found
|
|
|
|
[here](https://git.rustybever.be/Chewing_Bever/alex/packages).
|