Wrapper around a Minecraft server process, designed to automate backups.
 
 
Go to file
Jef Roosens 53dc3783ca
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/clippy Pipeline was successful Details
ci/woodpecker/push/build Pipeline was successful Details
feat: store server info in metadata file; change cli flags
2023-06-20 19:31:50 +02:00
.cargo feat: move running server to subcommand 2023-06-14 22:17:53 +02:00
.woodpecker fix(ci): i'm dumb 2023-06-05 11:44:18 +02:00
src feat: store server info in metadata file; change cli flags 2023-06-20 19:31:50 +02:00
.dockerignore feat: solely handle single terminating signal for now 2023-06-06 20:49:00 +02:00
.gitignore refactor: move backup logic to separate module 2023-06-13 15:12:30 +02:00
CHANGELOG.md feat: store server info in metadata file; change cli flags 2023-06-20 19:31:50 +02:00
Cargo.lock feat: persistently store backup state 2023-06-15 20:38:52 +02:00
Cargo.toml feat: persistently store backup state 2023-06-15 20:38:52 +02:00
Dockerfile fix: use correct env var for backup dir 2023-06-13 13:44:08 +02:00
LICENSE Initial commit 2021-09-13 12:02:06 +02:00
README.md chore: update readme 2023-06-13 11:51:18 +02:00

README.md

Alex

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.