Overview
Discover what makes Crafty Controller powerful
Crafty Controller is a self‑hosted web application that acts as a comprehensive launcher and management console for Minecraft servers. From a developer’s viewpoint, it abstracts the intricacies of server lifecycle—download, configuration, start/stop, and backup—into a REST‑like API exposed through its web interface. The application is built to run on any machine that can host a lightweight HTTP server, making it ideal for local or edge deployments where privacy and control are paramount. The core logic is written in **Node.js**, with the front‑end rendered using a modern JavaScript framework (React/Vue) that communicates via WebSocket for real‑time updates on server status and logs.
Multi‑version support
Player & permission management
Command execution & console streaming
File editor & backup system
Overview
Crafty Controller is a self‑hosted web application that acts as a comprehensive launcher and management console for Minecraft servers. From a developer’s viewpoint, it abstracts the intricacies of server lifecycle—download, configuration, start/stop, and backup—into a REST‑like API exposed through its web interface. The application is built to run on any machine that can host a lightweight HTTP server, making it ideal for local or edge deployments where privacy and control are paramount. The core logic is written in Node.js, with the front‑end rendered using a modern JavaScript framework (React/Vue) that communicates via WebSocket for real‑time updates on server status and logs.
Key Features
- Multi‑version support – Automatically downloads the correct Java Runtime and server JAR for any Minecraft release, allowing simultaneous hosting of 1.12 through the latest snapshot.
- Player & permission management – Exposes API endpoints to query, add or remove operators, whitelist entries, and ban lists without touching
server.propertiesmanually. - Command execution & console streaming – WebSocket streams the server console in real time, while POST endpoints allow scripted command injection.
- File editor & backup system – Provides a web‑based file viewer/editor and a configurable snapshot/backup routine that can be triggered via API or scheduled cron jobs.
- Metrics & health checks – Offers built‑in Prometheus metrics and a lightweight
/healthendpoint for monitoring in Kubernetes or Docker Compose setups.
Technical Stack
| Layer | Technology |
|---|---|
| Backend | Node.js (v18+), Express-like framework, WebSocket (ws) |
| Frontend | React/Vue with Tailwind CSS for a responsive UI |
| Storage | SQLite (or optional PostgreSQL) for configuration, player lists, and logs |
| Security | Argon2 password hashing, TLS via self‑signed or Let’s Encrypt certificates, CSRF protection |
| Packaging | Docker image available on Docker Hub; also supports native binaries for Linux, Windows, macOS |
Architecture
The application follows a micro‑service‑like architecture within a single process. The core server module handles lifecycle operations, delegating heavy I/O (file downloads, Java execution) to child processes. A lightweight EventEmitter bus propagates state changes (e.g., server start/stop, backup completion) to the WebSocket layer, ensuring that UI clients remain in sync. Persistence is handled by a small SQLite database; all configuration files (e.g., server.properties, ops.json) are stored under a dedicated data directory, making backups trivial.
Deployment & Infrastructure
Crafty Controller is designed for zero‑config deployments. A single binary or Docker container exposes a web port (default 8080) and optionally an HTTPS endpoint. For production, the Docker image can be run behind a reverse proxy (NGINX/Traefik) with automatic TLS. The application scales horizontally by running multiple instances, each managing its own isolated server directory; a simple Redis or file‑based lock can prevent race conditions when sharing the same volume. On resource‑constrained devices (Raspberry Pi, NAS), the lightweight Node.js runtime keeps memory usage under 200 MB.
Integration & Extensibility
- Plugin SDK – Developers can write plugins in JavaScript that hook into lifecycle events (
onServerStart,onCommand) and expose new API routes. The plugin manifest is JSON‑based, allowing auto‑discovery. - Webhooks – Outgoing HTTP callbacks can be configured for events such as player join/leave, crash reports, or backup completion, enabling integration with Discord bots, monitoring dashboards, or CI pipelines.
- API – A JSON‑based RESTful API (authenticated via JWT) lets external systems start/stop servers, fetch logs, or modify
server.properties. The API is versioned (v1) and documented via OpenAPI spec available at/docs.
Developer Experience
Crafty Controller ships with comprehensive documentation: a quick‑start guide, API reference, and plugin tutorial. The community is active on Discord (14k+ members) where developers can request features or report bugs. The open‑source nature allows contributors to review the code on GitHub, where issues are triaged quickly. The configuration is declarative; a single config.json or environment variables control everything from server paths to SSL settings, making it straightforward to integrate into CI/CD pipelines.
Use Cases
- Game Server Hosting Provider – Spin up dozens of Minecraft servers per client, expose a unified API for billing and automation.
- Educational Labs – Deploy isolated Minecraft worlds per class, manage permissions programmatically, and archive sessions automatically.
- Mod Development – Test multiple Minecraft versions concurrently, script server restarts after each build, and collect logs via the API.
- Home Automation – Integrate with Home Assistant to start a server when a household member arrives, or stop it during off‑peak hours.
Advantages
- Performance – Node.js’ event loop handles concurrent server processes with minimal overhead; child processes isolate CPU‑intensive tasks.
- Flexibility – Full control over Java runtime, server JARs, and configuration files; no proprietary lock‑in.
- Licensing – Completely free under an open‑source license; no SaaS fees or data exfiltration concerns.
- Security – Argon2 hashing, TLS by default, and local data storage eliminate many of the risks associated with third‑party hosting platforms.
Crafty Controller thus
Open SourceReady to get started?
Join the community and start self-hosting Crafty Controller today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
FlatPress
Lightweight PHP blog engine without a database
Bitwarden
Secure, open‑source password manager for individuals and teams
Bitpoll
Self‑hosted poll platform for dates, times and general questions
Manifest
One-file backend for fast prototypes
Databunker
Secure PII/PCI tokenization in 10 minutes
PufferPanel
Centralized Game Server Management for All Platforms

