Pumpkin Documentation

Empowering everyone to host fast and efficient Minecraft servers.

RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy Pumpkin on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name pumpkin -p 25565:25565 --restart always pumpkin-mc/pumpkin:latest
Configured Services & Ports
โš™๏ธ pumpkin
image: build locally
๐Ÿ”Œ Ports: 25565:25565, 19132:19132/udp
docker-compose.yml
yaml (docker-compose.yml)
services:
  pumpkin:
    # Make sure to change the tag to the pumpkin version you want to use.
    # https://github.com/Pumpkin-MC/Pumpkin/pkgs/container/pumpkin/versions?filters%5Bversion_type%5D=tagged
    #image: ghcr.io/pumpkin-mc/pumpkin:master
    build: .
    ports:
      - "25565:25565"
      - "19132:19132/udp"
    volumes:
      # Pumpkin runs as UID/GID 2613. On Linux hosts, make sure the data
      # directory has the correct ownership before starting the server:
      #   mkdir -p ./data
      #   sudo chown -R 2613:2613 ./data
      - ./data:/pumpkin
      # As an alternative, Docker can manage the storage volume. Existing
      # installations must migrate ./data before switching to avoid creating
      # a new, empty world:
      # - pumpkin-data:/pumpkin
      # Use the following mount if you want to make your config immutable.
      # - ./pumpkin.toml:/pumpkin/pumpkin.toml:ro
    security_opt:
      - no-new-privileges:true
    restart: unless-stopped
    stdin_open: true
    tty: true
    cap_drop:
      - ALL
    read_only: true

# Uncomment this section when using the pumpkin-data volume above.
# volumes:
#   pumpkin-data:

Pumpkin is a Minecraft server built entirely in Rust, offering a fast, efficient,
and customizable experience. It prioritizes performance and player enjoyment while adhering to the core mechanics of the game.

Goals

  • Performance: Leveraging multi-threading for maximum speed and efficiency.
  • Compatibility: Supports the latest Java & Bedrock Minecraft server version while adhering to Vanilla game mechanics.
  • Security: Prioritizes security by preventing known security exploits.
  • Flexibility: Highly configurable, with the ability to disable unnecessary features.
  • Extensibility: Provides a foundation for plugin development.

[!IMPORTANT]
Pumpkin is currently under heavy development.

See what needs to be done before the 1.0.0 Release

Features

  • Configuration (toml)
  • Tracking: Protocol
    • Server Status/Ping
    • Encryption
    • Packet Compression
    • Java Edition
    • Bedrock Edition (W.I.P)
    • ...
  • Tracking: World
    • Player Tab-list
    • Scoreboard
    • World Loading
    • World Time
    • World Borders
    • World Saving
    • Lighting
    • Entity Spawning
    • Bossbar
    • Chunk Loading (Vanilla, Linear, Pump)
    • Chunk Generation
    • Chunk Saving (Vanilla, Linear, Pump)
    • Redstone
    • Liquid Physics
    • ...
  • Tracking: Player
    • Skins
    • Teleport
    • Movement
    • Animation
    • Inventory
    • Combat
    • Experience
    • Hunger
    • Off Hand
    • Advancements (W.I.P)
    • Eating
    • ...
  • Entities
    • Non-Living (Minecart, Eggs...) (W.I.P)
    • Entity Effects
    • Players
    • Mobs (W.I.P)
    • Animals (W.I.P)
    • Entity AI
    • Boss (W.I.P)
    • Villagers (W.I.P)
    • Entity Saving
  • Server
    • Plugins
    • Query
    • RCON
    • Inventories
    • Particles
    • Chat
    • Commands
    • Permissions
    • Translations
  • Proxy
    • Bungeecord
    • Velocity

How to run

See our Quick Start guide to get Pumpkin running.

Contributions

Contributions are welcome! See CONTRIBUTING.md

Docs

Pumpkin's documentation can be found at https://pumpkinmc.org/

Communication

Consider joining our Discord server to stay up-to-date on events, updates, and connect with other members.

Funding

If you want to fund me and help the project, check out the Donation Page.

License & Attribution

  • Pumpkin Server: Licensed under the GNU General Public License v3.0 (GPLv3).
  • Plugin API (pumpkin-plugin-api & pumpkin-plugin-wit): Dual-licensed under MIT OR Apache-2.0 for maximum flexibility when writing plugins.
  • Third-Party Assets & Data: Bedrock mappings, protocol conversion data, and Minecraft assets are subject to their respective licenses and attribution terms. See assets/NOTICE.md for full details.