Prevent your K8s-managed Minecraft server from shutting down when players are connected.
Find a file
Renovate Bot 010e83aa25
All checks were successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/cron/build Pipeline was successful
chore(deps): update docker.io/library/rust:1.91.1-alpine docker digest to fbcca3e
2025-11-11 01:06:39 +00:00
.woodpecker chore(deps): update woodpeckerci/plugin-kaniko docker tag to v2.1.1 2025-11-08 20:38:08 +00:00
src Simplify initial last has players logic 2025-06-19 14:03:11 -04:00
.gitignore Initial commit 2025-06-19 01:40:16 -04:00
Cargo.lock fix(deps): update rust crate schemars to 1.1.x 2025-11-05 20:05:22 +00:00
Cargo.toml fix(deps): update rust crate schemars to 1.1.x 2025-11-05 20:05:22 +00:00
Containerfile chore(deps): update docker.io/library/rust:1.91.1-alpine docker digest to fbcca3e 2025-11-11 01:06:39 +00:00
LICENSE.md Initial commit 2025-06-19 01:40:16 -04:00
Makefile Use fuwafuwalabs project for container 2025-06-27 11:19:27 -04:00
README.md Add min players options to readme 2025-06-19 16:26:37 -04:00
renovate.json chore(config): migrate renovate config 2025-09-18 17:03:53 -04:00

minecraft-pdb-mgr

minecraft-pgb-mgr watches a Minecraft server for connected players and updates a Kubernetes PodDisruptionBudget to prevent server shutdowns when players are connected.

How?

Deploy minecraft-pdb-mgr to your cluster (only one replica is needed) and set the following environment variables:

  • POD_NAMESPACE - the namespace the pod runs in. You should use valueFrom.fieldRef.fieldPath: metadata.namespace for this.
  • RUST_LOG (optional) - the log level (i.e. info, debug,, warn, error)
  • UPDATE_INTERVAL - how often in seconds to check for players and to patch the PDB. The default value is 10.
  • PDB_NAME - the name of the PBB object in the same namespace as the pod to update. You need to create this PDB yourself.
  • SERVER_HOST - the hostname or IP address of the Minecraft server to monitor.
  • SERVER_PORT - the port of the Minecraft server to monitor.
  • MIN_PLAYERS - the minimum number of online players to consider when updating the PDB. Default is 1.
  • MIN_PLAYERS_PERCENT - a floating point value (0.0 - 1.0) representing the percent of online players to the maximum number of players to consider when updating the PDB. This takes precedence over MIN_PLAYERS.

License

See LICENSE.md.