Wrapper around a Minecraft server process, designed to automate backups.
 
 
Go to file
Jef Roosens a236c36a4f
feat: take backup layers as arguments
2023-06-23 10:53:17 +02:00
.cargo refactor: let backup manager calculate next backup time 2023-06-22 21:15:40 +02:00
.woodpecker fix(ci): i'm dumb 2023-06-05 11:44:18 +02:00
src feat: take backup layers as arguments 2023-06-23 10:53:17 +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 fix: better serde bounds 2023-06-22 20:10:37 +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.