Craftboard
End-to-end game server hosting with Azure VM lifecycle management, automatic shutdown after player inactivity, real-time monitoring, and full mod/plugin management.
Visit websiteThe Architecture
A dual-VM strategy on Azure: a Web VM that's always-on (cheap, stateless) and a Game VM that spawns on-demand. When no players are active for 30 minutes, the game VM automatically shuts down. Full cost control without sacrificing responsiveness.
How It Works
Launch the dashboard and pick a server. The Web VM manages the interface — it's always there. Click "Start Server" and the game VM spins up, Minecraft Java process launches, and players can connect in seconds.
Inactivity Tracking — Dual-idle system monitors both dashboard activity (is anyone managing?) and in-game player count. Once both are idle for 30 minutes, the VM powers down automatically.
Real-time Communication — Socket.IO bridges the Web VM and Game VM, pushing player list updates, performance metrics, and server logs in real-time.
Azure ARM SDK Integration — Programmatic VM lifecycle: start, stop, deallocate. Minimal compute costs when idle.
Multi-server Support — 4 pre-configured servers (Cobbleverse, All the Mons, ATM10, Cobblemon Academy). Switch between them via status-gated switcher.
Features
Mod & Plugin Management — Search and install mods via Modrinth API. Automated dependency resolution.
Player Management — Whitelist control, session history, ban management from the dashboard.
Performance Monitoring — CPU, RAM, disk metrics with Recharts visualization. Spot bottlenecks fast.
File Browser & Backups — Upload/download world files, create snapshots, restore from backups. One-click disaster recovery.
Server Properties Editor — Adjust difficulty, mode, max players, render distance — all from the UI.
Authentication & Security
Dual auth: Google OAuth for quick login or local username/password for air-gapped environments. First user is auto-admin. Password hashing with bcrypt. JWT tokens for session management.
Tech Stack
Backend: Express 5, Socket.IO 4, Passport.js authentication, Azure ARM SDK for VM lifecycle, multer for file uploads, archiver for backups.
Frontend: React 18, Vite 5, Tailwind CSS 3, Recharts for metrics, Lucide icons.
Infrastructure: Azure VMs (Web and Game), Node.js runtime, Minecraft Java edition server on Linux.
Results
Deployed at mcpanel.rajrakshit.dev. Manages 4 active servers. Auto-shutdown saves ~60% on compute costs vs. 24/7 VMs. Real-time dashboards give instant visibility into server state and player activity.

