Skip to content

Latest commit

 

History

1,009 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PocketMC

PocketMC Windows

Local-first Minecraft server management, without the terminal mess.

Create, run, update, monitor, back up, and share Minecraft Java and Bedrock servers from one native Windows desktop app.

Build .NET 8 Windows 10 1809+ / Windows 11 MIT License Release Discord Reddit YouTube Buy Me A Coffee

Download Setup.exe

PocketMC.mp4




PocketMC is a native WPF/.NET 8 desktop app for hosting a local Minecraft server. It manages software downloads, isolated instances, app-managed Java and PHP runtimes, startup and shutdown, live metrics, logs, players, backups, cloud replication, add-ons, Playit.gg tunnels and a remote web dashboard all in one polished Windows UI.

Your servers reside on your machine, in the app root you select. PocketMC is not a cloud host, a Minecraft client launcher or a Linux web panel masquerading as a Windows application.


Supported server software

Vanilla Java Paper Fabric Forge NeoForge Bedrock Dedicated Server PocketMine-MP
Vanilla Java Paper Fabric Forge NeoForge Bedrock (BDS) PocketMine-MP

Features

 Instance lifecycle
  • Create isolated instances from the UI: server type, version, loader, seed, world type, gamemode, difficulty, player limit, EULA, custom world import.
  • Start, stop, restart, and hard-kill servers from the dashboard or tray.
  • Graceful shutdown via RCON with a console-input fallback.
  • Crash detection with sanitized output capture and optional auto-restart with backoff.
  • Per-instance port conflict checks before launch.
  • Geyser-enabled instances patch Bedrock listener ports before starting.
  • Power management: Windows sleep is automatically prevented while a server is running.
  • Per-instance auto-start on app launch.
 Managed runtimes, zero Java headaches
  • App-local Java provisioning through Adoptium: Java 8, 11, 17, 21, and 25.
  • Automatic version selection based on Minecraft version:
    • 1.0 – 1.16.4 → Java 8
    • 1.16.5 – 1.17.1 → Java 11
    • 1.18 – 1.20.4 → Java 17
    • 1.20.5 – 1.21.1 → Java 21
    • 1.21.2+ → Java 25
  • Java 25 downloaded in the background automatically. Older versions pulled only when a selected Minecraft version requires them.
  • Custom Java path override for advanced users.
  • PocketMine-MP uses an app-managed PHP 8.2 PM5 runtime, nothing to install globally.
  • All downloads use retries, partial-file cleanup, safe promotion, and hash verification where upstream hashes exist.
  • Missing bundled runtimes prompt for user confirmation before download or repair.
 Dashboard, metrics, and console
  • Live CPU / RAM / player metrics for running instances.
  • Dynamic Geyser/Floodgate and Simple Voice Chat badges.
  • Console output is buffered, sanitized, classified, and persisted across sessions.
  • Stopped or crashed servers can still open a read-only last-session log view.
  • Large logs are tailed, no loading a 500 MB log file into the UI.
  • Console tools: filter, search, command input, session history.
 Public access via Playit.gg
  • Built-in Playit agent provisioning and setup flow (simplified two-step wizard).
  • Automatic tunnel discovery for matching instance ports.
  • Auto-creates tunnels for Java, Bedrock, Geyser, PocketMine, and Simple Voice Chat when possible.
  • Interactive Ports Map with local ports, public addresses, roles, and live tunnel status.
  • Clear states for offline agents, invalid tokens, unclaimed agents, pending allocations, and account limits.
 Java & Bedrock cross-play
  • Geyser and Floodgate are provisioned automatically during server creation for supported Java server types.
  • If cross-play setup fails for a given version or loader, the server is still created and cross-play can be added later from Server Settings.
  • Simple Voice Chat is detected via JAR presence in mods/ or plugins/, config file, or log parsing, and its port is automatically included in the Playit tunnel map.
 Mods, plugins, packs, and add-ons
  • Modrinth browser for server-side mods, plugins, and modpacks.
  • CurseForge browser via your own API key.
  • Poggit integration for PocketMine plugins.
  • Map browser for world downloads.
  • Dependency resolution where provider metadata supports it.
  • Java metadata scanning: Fabric, Quilt, Forge, NeoForge, Bukkit/Paper plugin metadata, icons.
  • Add-on inventory: display names, versions, loader types, side-support labels, warnings, update status.
  • Enable/disable add-ons without manually renaming files.
  • Manual add-on update installation with compatibility checks.
  • Bedrock .mcpack, .mcaddon, .zip ingestion with manifest parsing and automatic pack registration.
  • Marketplace installs validate staged files, extensions, filenames, hashes, dependency failures, and unsafe modpack overrides.
 Backups, cloud replication, and safe restore
  • Manual and scheduled backups with retention pruning.
  • Live-server backup: RCON save sync first, console save-command fallback.
  • Locked and unsafe files (e.g. session.lock) skipped gracefully.
  • Manifest entries include metadata, size deltas, checksums, and failure state.
  • Cloud upload to Google Drive, Dropbox, and OneDrive with upload history and retention handling.
  • Per-instance custom local and external-folder backup directories.
  • Restore: checks ZIP integrity, validates checksums, extracts to staging, verifies world structure, backs up the current world, rolls back if apply fails.
 Player and server controls
  • Online player parsing for Java, Bedrock, and PocketMine log formats.
  • Ban, op, whitelist, and runtime command actions from the player management page.
  • Whitelist support for whitelist.json (Java), allowlist.json (BDS), and white-list.txt (PocketMine).
  • Runtime setting application path for safer config changes while a server is running.
 Instance version updates
  • Offline update workflow with target version selection and Java runtime requirement checks.
  • Compatibility warnings for tracked marketplace add-ons.
  • Staged artifact replacement with supported add-on migration.
  • Pre-update snapshots, journals, and locks for safe application.
  • Rollback when an update fails mid-apply.
 Instance import & export
  • Export a complete instance (server files, world, add-ons, metadata) to a portable archive.
  • Import an exported archive to restore or share an instance.
  • Cancellation support throughout the import/export flow.
  • Java exports include eula.txt, server properties, whitelist, ops, bans, and other root files.
 Remote Control Dashboard
  • Browser-based dashboard for managing servers from any device with light and dark mode support.
  • Start, stop, restart, view the live console, send commands, and manage players remotely.
  • Secure internet exposure via built-in Cloudflare Quick Tunnels or Playit.gg HTTPS tunnels, or restrict to LAN only.
  • QR code generated for both local and public URLs, scan to open on mobile instantly.
  • Configurable host port (default: 25580) and per-feature access controls (console commands, player actions).
  • Password-protected sessions with token lifetime configuration and active session visibility.
  • Discord integration: link your Discord account and receive the public remote control URL directly in your DMs via the PocketMC Discord bot when a tunnel starts.
  • Pairing authorization flow with revocable device sessions.
 AI session summaries

Generates structured session summaries from server logs using your own API key or a local endpoint.

Supported providers: Google Gemini, OpenAI, Anthropic Claude, Mistral AI, Groq, Ollama / compatible local endpoint

Logs are preprocessed and sanitized (IPs, emails) before being sent. You own the API key and the provider choice. A desktop toast notification is shown when a summary completes, with a direct link to open it.

 Diagnostics
  • Dependency health monitoring for required services and runtimes.
  • Port diagnostics snapshots with conflict classification and recovery recommendations.
  • Diagnostic reporting service for structured issue capture.
 Windows integration and app polish
  • Toast notifications for server online, Playit agent connection, Remote Control availability, and AI summary completion — each individually toggleable in App Settings.
  • Tray integration, minimize-to-tray, and start-with-Windows.
  • Start minimized to tray on launch option.
  • Single-instance enforcement: launching the app a second time brings the existing window to the foreground.
  • pocketmc:// custom URI protocol for deep linking (e.g., Discord bot integration).
  • Velopack update integration with automatic updates.
  • Windows UWP loopback helper for Minecraft Bedrock local access via CheckNetIsolation.exe.
  • Mica, Acrylic, Wallpaper Blur, custom background images, custom accent colors, and theme settings.
  • Discord Rich Presence: server type, version, player count, uptime, download button.

Screenshots

Desktop App

Dashboard
Dashboard
Console
Console
Server Settings
Server Settings
Backups
Backups
Mod Marketplace
Mod Marketplace
Mod Management
Mod Management
Plugin Management
Plugin Management
Java Runtimes
Java Runtimes
Public Tunnels
Public Tunnels
Interactive Ports Map
Interactive Ports Map
Remote Control
Remote Control
App Settings
App Settings
About Page
About Page

Themes

Custom background images and accent colors with different themes options, customise PocketMC like your imagination.

PocketMC themes showcase — different accent colors and custom background images

Remote Web Dashboard

Welcome
Web Dashboard - Welcome
Login
Web Dashboard - Login
Instances
Web Dashboard - Instances
Home
Web Dashboard - Home
Console
Web Dashboard - Console
Players
Web Dashboard - Players
Backups
Web Dashboard - Backups
File Management
Web Dashboard - File Management

Installation

Download PocketMC-win-Setup.exe from the latest release and run it.

  • Installs per-user, no admin rights required.
  • .NET 8 Desktop Runtime is required and prompted automatically if missing.
  • Java and PHP do not need to be globally installed. PocketMC provisions its own runtimes.
  • Updates are handled automatically through Velopack.

Quick start

1.  Pick an app root folder      →  Stores instances, runtimes, backups, logs, and settings.
2.  Create an instance           →  Family, version, world settings, player limit, EULA.
3.  Start the server             →  Connect via localhost or LAN IP.
4.  (Optional) Add public access →  Link Playit.gg — PocketMC resolves or creates tunnels.
5.  (Optional) Install content   →  Modrinth, CurseForge, Poggit, or Bedrock add-on import.
6.  (Optional) Protect the world →  Manual / scheduled / external / cloud backups.
7.  (Optional) Remote access     →  Enable Remote Control — share the URL or scan the QR code.
8.  (Optional) Diagnose          →  Diagnostics, persistent logs, AI session summaries.

System requirements

OS Windows 10 build 17763 (1809) or Windows 11
Architecture x64
RAM 4 GB minimum — 8 GB+ recommended
Runtime .NET 8 Desktop Runtime
Internet Required for first-run downloads, marketplace, cloud backups, updates, Playit.gg

Build from source

Expand

Prerequisites: Windows 10 1809+ or Windows 11 · .NET 8 SDK · Visual Studio 2022 with Desktop development with .NET, or JetBrains Rider

git clone https://github.com/PocketMC/pocket-mc-windows.git
cd pocket-mc-windows

dotnet restore
dotnet build
dotnet test
dotnet run --project PocketMC.Desktop/PocketMC.Desktop.csproj

For packaging, PocketMC uses Velopack. See CONTRIBUTING.md for the release packaging flow.


Project structure

Expand

PocketMC Windows is engineered following strict Clean Architecture principles across 5 production projects and 5 dedicated test projects:

Production Projects

Project Responsibility Dependencies
PocketMC.Domain Enterprise business models, enums, pure value objects, path traversal validation (PathSafety), archive extraction contracts (SafeZipExtractor), and domain utilities. None (Zero external dependencies, completely UI-agnostic)
PocketMC.Application Use cases, business rules, service interfaces (ILlmProviderFactory, IGeyserDetector), and policy validations (ModpackOverridePolicy, MarketplaceDownloadPolicy). PocketMC.Domain
PocketMC.Infrastructure Concrete external implementations: Adoptium Java runtime provisioning, Playit.gg agent lifecycle, Cloud backup providers (Google Drive, Dropbox, OneDrive), AI clients (Gemini, OpenAI, Claude, Mistral, Groq, Ollama), server process management, port diagnostic probes, DPAPI security, and system telemetry. PocketMC.Application, PocketMC.Domain
PocketMC.RemoteControl Cross-cutting embedded ASP.NET Core web server, REST API, WebSocket live console streaming, pairing authorization, rate limiting, and Cloudflare/Playit HTTPS tunnel providers. PocketMC.Application, PocketMC.Domain, PocketMC.Infrastructure
PocketMC.Desktop WPF presentation layer (Wpf.Ui), MVVM ViewModels, XAML pages, window chrome, system tray integration, dialog coordinators, navigation, and DI composition (Composition/ServiceCollectionExtensions.cs). All application projects

Dedicated Test Projects

Test Project Focus
PocketMC.Domain.Tests Tests domain models, entity validation, path safety, ZIP security, version string comparers, and serialization contracts in pure isolation.
PocketMC.Application.Tests Tests use case workflows, policy rules, and business logic with mocked infrastructure dependencies.
PocketMC.Infrastructure.Tests Tests external integrations: Java provisioning, backup providers, cloud OAuth/sync, telemetry, network port diagnostics, process management, and AI provider strategies.
PocketMC.RemoteControl.Tests Tests embedded web server hosting, remote authentication, WebSocket streaming, rate limiting, and tunnel providers.
PocketMC.Desktop.Tests Tests WPF ViewModels, UI navigation, dialog workflows, theme coordination, and XAML binding integrity.
Test Suite Execution: 680 / 680 Tests Passed (100% Pass Rate, 0 Skipped, 0 Failed)


Buy Me A Coffee

Ask DeepWiki



PocketMC runs servers on your Windows PC. It does not provide cloud hosting.
Playit.gg, CurseForge, cloud providers, AI summaries, and Discord integration require their own accounts or API keys.

About

Windows desktop app to locally host and manage Minecraft Java and Bedrock Edition servers without any mess.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

28 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Contributors

Languages