Skip to content
Sahaj Italiya edited this page Jun 12, 2026 · 29 revisions

Here is the updated roadmap. I have moved several items to Completed based on the current state of the codebase (e.g., dependency resolution, update checking, Ollama integration, and secure remote tunneling).

I have also added a completely new section at the bottom for Architecture & Tech Debt and New Product Suggestions based on the recent senior-level audit of the codebase to ensure long-term stability and security.


PocketMC Roadmap

This roadmap tracks completed, in-progress, planned, and experimental work for PocketMC.

PocketMC’s goal is simple:

Make local Minecraft server hosting on Windows feel safe, understandable, and friend-ready without forcing users through terminals, random tutorials, manual port chaos, or Java version misery.


Status guide

  • ✅ Completed
  • 🟡 Partial / in progress
  • ⏳ Planned
  • 🧪 Research / needs validation
  • ❌ Removed / not planned

✅ Completed

App foundation

  • Replace Inno Setup with Velopack for app packaging and auto-update support
  • Full UI/UX refactor
  • Fix navigation flow issues
  • Improve layout consistency
  • Add Playit / agent connection page during first-time setup after root directory selection
  • App-local runtime architecture
  • Tray integration
  • Windows toast notifications
  • Theme settings
  • Mica UI settings for supported Windows versions
  • Background service / tray hybrid mode
  • Windows startup integration
  • Run servers without keeping the full app window open

Server creation and lifecycle

  • Java server support

  • Vanilla

  • Paper

  • Fabric

  • Forge

  • NeoForge

  • Bedrock Dedicated Server hosting support

  • PocketMine-MP support

  • Auto Java version detection

  • Java compatibility validation

  • Managed Java runtimes

  • Java 8

  • Java 11

  • Java 17

  • Java 21

  • Java 25

  • Managed PHP runtime for PocketMine-MP

  • Start / stop / restart / kill server controls

  • Crash detection

  • Auto-restart with backoff

  • Graceful shutdown using RCON when available

  • Console fallback shutdown

  • Port preflight checks and recovery messaging

Playit.gg tunneling

  • Replace manual Playit integration with automated agent-based setup flow
  • Automatic Playit agent provisioning
  • Agent claim / setup flow
  • Existing tunnel discovery
  • Automatic tunnel creation when possible
  • Public tunnel address display
  • Handling for:
  • Invalid tokens
  • Offline agents
  • Claim-required state
  • Tunnel limits

Bedrock ↔ Java cross-play

  • Integrate Geyser
  • Integrate Floodgate
  • One-click enable toggle
  • Patch Geyser Bedrock listener port before launch

Backups, cloud sync, and recovery

  • Manual backups
  • Scheduled backups
  • One-click restore
  • Backup retention pruning
  • Locked-file-tolerant backup creation
  • Safe ZIP extraction during restore
  • External backup-folder replication
  • Native Google Drive backup integration
  • Native Dropbox backup integration
  • Native OneDrive backup integration
  • OAuth account connection flow & token handling
  • Resilient upload policies and progress tracking
  • Backup metadata / history viewer
  • Backup health warnings

Add-ons, plugins, and marketplace

  • Modrinth browser support
  • CurseForge browser support with user-provided API key
  • Poggit / PocketMine plugin integration
  • Bedrock .mcpack, .mcaddon, and .zip local add-on installation
  • Bedrock behavior/resource pack registration in world JSON files
  • Marketplace dependency resolution where upstream metadata supports it
  • Modpack parser and import improvements
  • Safer uninstall flow for mods/plugins/add-ons (Moved from In Progress)
  • Version compatibility warnings before install (Moved from In Progress)
  • Installed content update checker (Moved from In Progress)

Server instance upgrades & importer

  • Import existing server folders (Vanilla, Paper, Fabric, Forge, NeoForge, Bedrock, PocketMine)
  • Detect server type automatically
  • Graceful version update flow for existing server instances
  • Pre-update backup requirement
  • Compatibility check before updating
  • Rollback to previous server version / snapshot
  • Update Java runtime if the new Minecraft version needs it
  • Warn about plugins/mods that may break after update

Player and permissions panel

  • Online player list & UUID mapping
  • Operators management
  • Whitelist management
  • Ban list and IP ban list management
  • Kick / Ban player actions
  • Geyser/Floodgate-aware identity display

Server properties editor

  • Friendly grouped editor for server.properties
  • Gameplay, World, Network, Performance, and Security sections
  • Validate ports, booleans, numbers, and unsupported values
  • Explain each setting in beginner-friendly language

Simple Voice Chat automation

  • Detect Simple Voice Chat mod/plugin
  • Detect or pre-generate voice chat config
  • Detect configured UDP port
  • Create Playit Simple Voice Chat tunnel where supported
  • Patch config safely when needed

Console, logs, diagnostics, & remote access

  • Sanitized console output
  • Console log buffering & session log file generation
  • Player count parsing & online player name tracking
  • Dependency health dashboard (Playit, Adoptium, Modrinth)
  • Diagnostic reporting / support data bundle generation
  • Local network / Bedrock loopback helper using CheckNetIsolation.exe
  • Local web dashboard (Instance overview, console viewer, controls)
  • Mobile responsive UI for the web dashboard
  • Local remote-control API & WebSocket streams
  • Secure remote access via Cloudflare Quick Tunnels or Playit HTTPS tunnels (New)
  • Discord DM notifications for Remote Dashboard URL status (New)

AI analytics

  • AI-based server analytics
  • Session / event summarization
  • Player activity insights from logs
  • Smart recommendations from logs
  • Multiple AI providers (Google Gemini, OpenAI, Anthropic Claude, Mistral AI, Groq)
  • Ollama / compatible local endpoint support (New)

🟡 In progress / partial

Server analytics dashboard

  • CPU / RAM monitoring foundation
  • RAM usage graph
  • CPU usage graph
  • TPS monitoring
  • Player activity timeline
  • Crash frequency chart
  • Disk usage tracking
  • Backup size history
  • Per-instance performance summary

One-click “Fix My Server” & Connectivity Doctor

  • Auto-suggest fixes for some startup and port issues
  • Port Probe & local port open checks
  • Playit tunnel target port mismatch checks
  • Detect common config mistakes
  • Detect missing or broken server files
  • Detect plugin/mod loader mismatch
  • Detect missing mod/plugin dependencies
  • Repair common errors automatically
  • Generate a clear fix report before applying changes

Marketplace and content management

  • Local Bedrock add-on installation
  • Bedrock add-on marketplace browsing through CurseForge where supported
  • Pre-install backup prompt for risky changes
  • Modpack update synchronization (safely updating without wiping user data) (New)

Reduce clicks for key actions

  • One-click start from dashboard
  • One-click backup from dashboard
  • One-click open console
  • One-click copy public address
  • Quick action menu on instance cards
  • Keyboard shortcuts for common actions
  • Pin favorite actions per instance

Java runtime downloader improvements

  • Change runtime provisioning priority from Java 8 → 25 to Java 25 → 8 when preferred
  • Download only the required Java version by default
  • Optional “install all runtimes” button
  • Runtime repair button
  • Runtime uninstall button
  • Better progress UI for large runtime downloads
  • Per-instance runtime health indicator

Error handling and alerts

  • Better user-facing error messages
  • Structured error codes
  • “Copy error report” button
  • Better crash alerts
  • Better tunnel failure alerts
  • Better marketplace/API failure alerts
  • Clear next-step suggestions for every major failure
  • “Open related settings” action from error dialogs

⏳ Planned

Friend Join Wizard

Goal: make sharing a server with friends stupidly simple, because apparently “what IP do I use?” remains one of civilization’s unsolved problems.

  • Single “Share Server” button
  • Copy Java Edition join address
  • Copy Bedrock Edition join address
  • Show LAN address
  • Show public Playit address
  • QR code for mobile sharing
  • Copy invite message
  • Detect whether Java, Bedrock, cross-play, and voice chat are correctly exposed
  • Warn when the server is only available locally
  • Run quick connectivity checks before showing the invite as ready

Custom server support

  • Custom server JAR support
  • Custom startup command support
  • Custom server type profile
  • Manual runtime selection

First-time setup wizard

  • Quick server creation flow
  • Pre-configured templates (Vanilla survival, Paper performance, Modded Fabric, Cross-play, etc.)
  • Beginner-friendly descriptions
  • Recommended RAM and port defaults
  • Optional Playit setup during onboarding
  • Optional backup schedule during onboarding

World Safety Center

  • Dedicated backup and restore dashboard
  • Manual restore points (Pre-update, pre-plugin install)
  • Backup verification & size trends
  • Clear warning when a world has not been backed up recently
  • One-click rollback after failed update or risky change

🛠️ Architecture & Tech Debt (New)

Goal: Decouple domain logic from infrastructure to ensure the app remains maintainable, secure, and open-source friendly as features expand.

  • Decouple Event Orchestration: Implement an Event Bus / MediatR pattern so UI actions and infrastructure (like Discord DMs and Tunnels) don't bloat classes like RemoteControlCoordinator.
  • Refactor AI API Client: Resolve OCP (Open-Closed Principle) violations in AiApiClient by extracting provider logic into an IAiProvider strategy pattern.
  • Refactor Tunnel Service: Break down TunnelService.cs into a strict state machine to handle Playit resolution rather than complex procedural nesting.
  • Process Memory Auditing: Fix potential memory leaks in ServerProcessManager where historical/crashed processes linger indefinitely without explicit cleanup.
  • Security Review: Remove pseudo-entropy from DPAPI encryption (DataProtector.cs) and migrate raw Discord Key handling to a secure backend relay/OAuth to prevent token exposure.

🧪 Research / future ideas

Advanced Web Dashboard Features (New)

  • Live interactive RAM/CPU charts on the web interface.
  • Mobile-friendly add-on / plugin installation from the browser.
  • Multi-user remote access with role-based permissions (Admin vs. Moderator).

Advanced Discord integration

  • Discord bot setup wizard
  • Minecraft ↔ Discord chat relay
  • Console logs sync
  • Admin alerts (Crash, RAM, CPU, Backup, Players)
  • Slash commands (/status, /start, /stop, /players)

Performance optimizer

  • Auto JVM flag tuning
  • RAM recommendation based on server type and player count
  • CPU-aware configuration
  • Paper/Purpur config recommendations
  • View distance / simulation distance suggestions
  • Plugin/mod performance warnings
  • Explain every applied optimization before changing files

Safe test launch / sandbox flow

  • Test plugin/mod changes before applying to the real server
  • Launch temporary validation instance
  • Detect startup crash & missing dependencies
  • Apply changes only after validation

❌ Removed or merged ideas

  • Merge “AI Based Server Analytics” and “Advanced AI Insights” into one AI analytics section
  • Merge generic “better alerts” into Error Handling and Alerts
  • Treat native cloud backups separately from external sync-folder backup replication (Completed)
  • Keep Playit.gg as the built-in public access path instead of adding random tunnel providers too early
  • Avoid full cloud hosting unless PocketMC becomes a different product
  • Avoid account systems until remote/cloud features require them
  • Avoid Docker-first architecture because PocketMC is intentionally Windows-native and local-first