Skip to main content

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 website
  • Cloud Infrastructure
  • Real-time Systems
  • Full-Stack Development
  • DevOps
Craftboard server dashboard showing server status, players, and metrics

The 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.

Craftboard login and authentication interface

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.