---
title: Crafty Controller
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, gaming, minecraft, server-management, python]
confidence: high
contested: false
sources: [https://selfh.st/apps/?search=Crafty+Controller]
---

# Crafty Controller ⛏️
> Panneau de gestion web pour serveurs Minecraft, Java et Bedrock — création, supervision, sauvegardes et contrôle à distance.

| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://craftycontrol.com |
| **GitHub** | https://github.com/alphariver/crafty-3 |
| **License** | GPL-3.0 |
| **Langage** | Python |
| **Étoiles** | 137 |
| **Dernière MAJ** | 2025 |
| **Catégorie** | [[cat-gaming]] |

## Description

Crafty Controller est un panneau d'administration open source dédié à l'orchestration de serveurs de jeux, Minecraft en tête, mais aussi d'autres titres Java/Bedrock. Il encapsule la complexité de gestion des binaires Java, des arguments JVM, des fichiers de configuration `server.properties` et de la surveillance temps réel dans une interface web unique. L'objectif affiché est de permettre à un administrateur de déployer un nouveau serveur, le démarrer, le surveiller, le sauvegarder et l'arrêter sans jamais toucher à un terminal.

Le cœur de Crafty est un daemon Python (Flask + Socket.IO) qui communique avec les processus Java enfants via des flux stdout/stderr capturés, des fichiers PID et des signaux système. Une base de données MariaDB ou SQLite stocke les métadonnées, les comptes utilisateurs, les plannings de tâches Cron et l'historique des exécutions. Une interface React modernisée expose tableaux de bord, consoles live, explorateurs de fichiers, gestion des mondes et modules complémentaires. Des statistiques RAM/CPU, des graphiques joueurs connectés et des événements sont historisés pour audit.

Crafty se distingue par sa capacité à gérer simultanément plusieurs instances sur une même machine (avec allocation de ports et de RAM dédiée), à empaqueter des JAR custom, à créer des serveurs Bedrock cross-play et à déclencher des sauvegardes incrémentielles locales ou distantes (S3, SFTP). Il supporte les mods Forge, Fabric, Paper, Purpur et les packs de ressources, ce qui en fait une solution de référence pour les hébergeurs communautaires comme pour les particuliers.

## Installation

### Docker Compose

```yaml
version: "3.8"
services:
  crafty:
    image: registry.gitlab.com/crafty-controller/crafty-3:latest
    container_name: crafty-controller
    restart: unless-stopped
    ports:
      - "8000:8000"   # Web UI
      - "25565:25565" # Minecraft par défaut
      - "19132:19132/udp" # Bedrock par défaut
    environment:
      - CRAFTY_DB_HOST=mariadb
      - CRAFTY_DB_USER=crafty
      - CRAFTY_DB_PASS=changeme
      - CRAFTY_DB_NAME=crafty
      - CRAFTY_WEB_HOST=0.0.0.0
      - CRAFTY_WEB_PORT=8000
    volumes:
      - ./data:/crafty/data
      - ./servers:/crafty/servers
      - ./backups:/crafty/backups
      - ./logs:/crafty/logs
    depends_on:
      - mariadb

  mariadb:
    image: mariadb:11
    container_name: crafty-db
    restart: unless-stopped
    environment:
      MARIADB_ROOT_PASSWORD: rootpw
      MARIADB_DATABASE: crafty
      MARIADB_USER: crafty
      MARIADB_PASSWORD: changeme
    volumes:
      - ./db:/var/lib/mysql
```

### Installation manuelle

Prérequis : Python 3.9+, Java 17+ (selon version MC), MariaDB/MySQL, Node optionnel pour build UI.

```bash
git clone https://github.com/alphariver/crafty-3.git
cd crafty-3
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
python main.py -config config/default.json
```

L'interface est alors accessible sur `http://localhost:8000`. Le compte admin par défaut est `admin/admin` et doit être changé immédiatement.

## Configuration

Le fichier `config/default.json` (ou `config.yaml` en v4) regroupe les paramètres critiques :

- **Identifiants BD** : `db_host`, `db_user`, `db_pass`, `db_name`, `db_port` (3306 par défaut).
- **Serveur web** : `web_host`, `web_port`, secret key, activation HTTPS/TLS, CORS.
- **Chemins** : répertoire des serveurs, dossier de backups, dossier de logs, dossier des mods.
- **Sauvegardes** : fréquence Cron, rétention, destinations distantes (S3, SFTP, Rclone).
- **Limites** : RAM par défaut des serveurs, mémoire JVM heap min/max, nombre max d'instances concurrentes.
- **Sécurité** : 2FA TOTP, OAuth2 (Google, Discord, GitHub), rate limiting, IP whitelist.

L'interface permet ensuite de créer des serveurs Minecraft en assistant : choix de la version (snapshot, release, modded), type de JAR (Vanilla, Paper, Spigot, Forge, Fabric, Purpur), monde initial, seed, gamemode, difficulté, motd, max-players, whitelist, ops, view-distance et RCON. Chaque serveur a sa propre console live, son explorateur de fichiers (`server.properties`, `whitelist.json`, `ops.json`, `banned-players.json`, mods, configs), ses statistiques graphiques et son planificateur de redémarrage.

## Alternatives

### Open Source auto-hébergées
- [[app-minecraft-server]] — vanilla brut, sans panneau.
- **Pterodactyl Panel** + wings — gestion multi-jeux (Minecraft, CS2, Valheim, etc.), très utilisé par les hébergeurs communautaires.
- **AMP (Application Management Panel) de CubeCoders** — multi-jeux propriétaire, support étendu (Palworld, Satisfactory, ARK).
- **MCSManager** — panel web léger Minecraft écrit en Node.js, support Docker.
- **rcon-cli** + cron — méthode minimaliste par scripts.
- **Hetzner Cloud + Docker** — déploiement d'instances MC jetables.

### Propriétaires
- **Aternos** — gratuit avec files d'attente, limitations sévères.
- **BisectHosting** — location de serveurs managés payants.
- **Shockbyte**, **Apex Hosting**, **Hostinger MC** — concurrents directs.

## Sécurité

- Changer immédiatement le mot de passe admin et activer le **2FA TOTP** dans `User Settings`.
- Mettre Crafty derrière un reverse proxy (Traefik, Nginx, Caddy) avec TLS valide (Let's Encrypt) ; ne jamais exposer le port 8000 en clair sur Internet.
- Activer l'**authentification OAuth2** (Google/Discord) pour limiter les mots de passe stockés.
- Restreindre l'accès par **IP whitelist** ou VPN (WireGuard, Tailscale).
- Sauvegardes chiffrées côté destination (S3 SSE, SFTP clé SSH).
- Isoler les serveurs Minecraft dans des conteneurs Docker séparés avec limites CPU/RAM (`deploy.resources.limits`).
- Surveiller les logs de console : alertes sur crashloop, OOM, plugins malveillants, scans RCON.
- Mettre à jour régulièrement — Crafty a connu des CVEs sur son API Flask et son upload de JAR.

## Ressources

- Documentation officielle : https://docs.craftycontrol.com
- Wiki communautaire : https://wiki.craftycontrol.com
- Discord Crafty : https://discord.gg/crafty
- Suivi des versions Minecraft : https://minecraft.wiki
- PaperMC (JAR optimisé) : https://papermc.io
- Forge : https://files.minecraftforge.net
- Fabric : https://fabricmc.net

## Pages Liées
- [[cat-gaming]]
- [[recettes-docker-compose]]
- [[app-minecraft-server]]
- [[app-traefik]]
- [[app-authentik]]
