A Minecraft server without the JVM
Pumpkin is an independent implementation of a Minecraft server in Rust. Players still connect with Minecraft clients, but the machine hosting the world runs Pumpkin instead of Mojang's Java server or a derivative such as Paper. Its goals are high performance through multithreading, configurable features, protection against known protocol exploits, vanilla-like mechanics, and extension through plugins.
That architectural reset is the attraction. Traditional Minecraft servers carry years of behavior, compatibility expectations, and Java plugin conventions. Pumpkin can design world loading, networking, ticking, and storage around current hardware without preserving every internal Bukkit decision. It supports server list ping, encryption, packet compression, world saving, lighting, entities, scoreboards, RCON, query, permissions, and Velocity or BungeeCord proxy connections. Java Edition is the main path; Bedrock support is explicitly work in progress.
A checklist is not the same as compatibility. Minecraft survival is a huge mesh of interacting rules, from redstone update order to mob navigation, block shapes, inventories, death, dimensions, and data persistence. A feature can be checked off while edge cases remain. Pumpkin's active issue feed demonstrates exactly that stage of development.
Getting a test server online
The administration guide offers a direct native binary and a Docker example that publishes port 25565 and mounts a data directory. Configuration lives in pumpkin.toml and feature-specific TOML files rather than server.properties, paper.yml, and spigot.yml. Separate documentation covers authentication, compression, proxies, resource packs, commands, permissions, logging, RCON, and player-versus-player settings.
Source contributors face a normal Rust workflow, but ordinary administrators should prefer a project build. The GitHub API had no latest release when researched, even though the project's site provides downloads and its roadmap describes future Alpha, Beta, and final 1.0 stages. Without a tagged GitHub release as a clear checkpoint, record the exact build or container digest you deploy. Back up worlds and player data before every update.
Migrating from Paper, Spigot, or Bukkit is not a file swap. Pumpkin reads standard Anvil chunk data, but dimension directories must be mapped correctly and configuration values translated. More importantly, Java Bukkit plugin JARs do not run. The docs describe sandboxed WebAssembly plugins and language paths for Rust, Python, Kotlin, C#, Go, and C. The repository also has ongoing native plugin API work. Operators must inventory every moderation, permissions, protection, backup, economy, and gameplay plugin and find or build a replacement.
Parity is the present risk
The README calls the project under heavy development and links to issue 449 as the gate for version 1.0. That roadmap still lists a stable plugin ABI, testing with more than 1,000 simulated players, a memory-leak audit, steady tick timing under moderate load, removal of critical panic paths, and a private community test as unfinished. These are aspirations and release criteria, not completed performance results.
Gameplay trackers also expose concrete gaps. The redstone tracker marks pistons and block swapping as broken, even though wire propagation, repeaters, comparators, observers, rails, hoppers, and many other components are checked. Current issues report incorrect crawling into one-block spaces, unparsed advancement text, red beds regardless of the placed color, suffocation when approaching certain block sides, full-looking health and experience displays, and world-generation errors. The density of small parity reports is normal for a rewrite, but painful for a community that expects vanilla knowledge to remain reliable.
Bedrock is further behind. Issue 2899 reports that a Nintendo Switch 2 player returns to world spawn after reconnecting because position is not restored. Issue 2896 reports a client crash on death that prevents rejoining until player data is removed. Issue 2865 describes block-breaking progress being out of sync on mobile. These reports concern particular commits and clients, so they do not establish universal failures. They do establish that cross-edition support needs test accounts on every client type you promise.
Plugin design is promising but early
WebAssembly is an appealing extension boundary for a server. It can support several source languages while isolating plugin memory from the host process, and it avoids requiring the Java Virtual Machine. Pumpkin's docs already include tutorials for multiple languages, commands, events, inventories, configuration, and data. The plugin tracking issue lists discovery, lifecycle hooks, dependency resolution, events, logging, scheduling, and hot reloading as implemented for the native system.
The missing piece is ecosystem maturity. Paper administrators can choose among years of established plugins and troubleshooting knowledge. Pumpkin users must evaluate a far smaller catalog while APIs are still settling. Issue 449 specifically keeps a stable ABI boundary open before Alpha 1, with the goal that plugins will not break across minor 1.0 updates. Until that gate closes, plugin authors should expect revisions and server owners should keep extension sets small.
Activity is excellent, stability is not
Pumpkin had 10,676 stars, a GPL-3.0 license, and 336 open issues and pull requests when researched. The last push was August 12, 2026. Multiple fixes, features, refactors, and bug reports moved that same day, while the 1.0 roadmap was updated within the prior week. The project is active and has a lively Discord community.
None of that substitutes for a stable release. Fast issue turnover shows contributors are doing the work, while the volume and subject matter show the engine is still converging on ordinary Minecraft behavior. Community and maturity deserve different scores here.
The practical choice
Use Pumpkin now if you want to contribute Rust, write an early plugin, test Bedrock protocol work, or benchmark a non-Java design on a disposable copy. Keep good bug reports tied to exact commits, clients, and reproduction worlds. Its readable configuration and detailed multilingual docs make experimentation easier than the pre-release label might suggest.
Use Paper for a public survival server, valuable world, or plugin-heavy network today. Minestom is a stronger conceptual alternative for a wholly custom Java game server, while Cuberite offers another established native approach. Pumpkin may become the compelling general server its roadmap describes, but the honest recommendation is to watch or help it reach 1.0 rather than asking players to absorb the remaining compatibility work.