Proyectos CreeperGuard
Activo Java 25 Docker Open Source

CreeperGuard

Servicio de backups automatizados para servidores Minecraft en Docker. Gestiona el flujo completo: avisa a los jugadores por chat, apaga el servidor de forma controlada, comprime los datos del mundo y lo reinicia, todo de forma desatendida.

Lenguaje

Java 25

Spring Boot

Despliegue

Docker

Compose ready

Interfaz

Web + API

Puerto 8080

Protocolo

RCON

Notificaciones in-game

¿Qué hace CreeperGuard?

Un servicio que vive junto a tu servidor Minecraft y se encarga de los backups sin que tengas que pensar en ello.

Backups programados

Múltiples expresiones cron configurables, con ajustes globales y sobreescrituras por horario.

Avisos por RCON

Cuenta atrás personalizable antes del backup con notificaciones en el chat de los jugadores.

Rotación de backups

Elimina automáticamente los backups más antiguos según la política de retención definida.

REST API

Endpoints para ejecutar comandos y lanzar backups manuales, todo con respuestas JSON.

Consola web RCON

Interfaz web en el puerto 8080 para enviar comandos al servidor en tiempo real.

Sin rebuild

Los cambios de configuración se aplican con un simple restart del contenedor, sin recompilar.

Cómo funciona

01

Llega la hora del backup

El scheduler interno evalúa las expresiones cron configuradas. Cuando coincide, arranca el proceso completo de forma automática.

02

Aviso a los jugadores

CreeperGuard conecta al servidor vía RCON y envía mensajes de cuenta atrás al chat. Los jugadores tienen tiempo de guardar y prepararse.

03

Apagado controlado

Una vez finalizada la cuenta atrás, envía el comando de parada al servidor Docker para que el mundo se guarde correctamente antes de comprimir.

04

Compresión y almacenamiento

Los datos del mundo se comprimen y se guardan en el directorio de destino configurado. Los backups más antiguos se eliminan según la política de retención.

05

Reinicio del servidor

CreeperGuard reinicia el contenedor del servidor Minecraft automáticamente. Los jugadores pueden volver a conectarse en segundos.

Configuración

Copia creeperguard.properties.example como creeperguard.properties junto a tu docker-compose.yml y edítalo.

creeperguard.properties

properties
# CreeperGuard config — copia este fichero a tu directorio de Minecraft
# como "creeperguard.properties" y edítalo allí.
#
# Aplica los cambios con: docker compose restart creeperguard

backup.source-path=/minecraft
backup.destination-path=/backups

backup.docker-container=minecraft

backup.rcon-host=minecraft
backup.rcon-port=25575
backup.rcon-password=your_rcon_password
backup.rcon-warning-seconds=10

# --- Horarios CRON ---
# Formato: segundo minuto hora día-mes mes día-semana

backup.schedules[0].cron=0 0 8 * * *

backup.schedules[1].cron=0 0 20 * * *

docker-compose.yml (fragmento)

yaml
services:
  creeperguard:
    image: creeperguard:latest
    container_name: creeperguard
    volumes:
      - ./creeperguard.properties:/app/creeperguard.properties:ro
      - /path/to/minecraft:/minecraft:ro
      - /path/to/backups:/backups
    ports:
      - "8080:8080"
    restart: unless-stopped

Requisito previo: activa RCON en server.properties de tu servidor Minecraft con enable-rcon=true y establece una contraseña.

API REST

Todos los endpoints responden con JSON. Disponibles en http://localhost:8080.

POST /api/command

Envía un comando arbitrario al servidor Minecraft vía RCON.

POST /api/backup

Lanza un backup manual de inmediato, responde con resultado o error en JSON.

La consola RCON web está disponible directamente en http://localhost:8080 para enviar comandos al servidor desde el navegador.

¿Usas Minecraft en Docker?

CreeperGuard está pensado para servidores privados que necesitan backups fiables sin intervención manual. El código está en abierto.

Ver en GitLab