Skip to main content
This guide will help you get a Pumpkin server up and running quickly. For more detailed installation options, see the installation guide.

Prerequisites

Before you begin, ensure you have:
  • Rust 1.89+ (for building from source)
  • Git (for cloning the repository)
  • Docker (optional, for containerized deployment)

Quick start with Docker

The fastest way to get Pumpkin running is with Docker:
1

Pull the Docker image

Pull the latest Pumpkin image from GitHub Container Registry:
docker pull ghcr.io/pumpkin-mc/pumpkin:latest
2

Create configuration directory

Create a directory for your server configuration:
mkdir -p pumpkin-server/config
cd pumpkin-server
3

Run the server

Start the server with Docker:
docker run -d \
  --name pumpkin \
  -p 25565:25565 \
  -p 19132:19132/udp \
  -v $(pwd)/config:/app/config \
  -v $(pwd)/world:/app/world \
  ghcr.io/pumpkin-mc/pumpkin:latest
Port 25565 is for Java Edition clients, and port 19132 is for Bedrock Edition clients.
4

Connect to your server

Connect to your server using your Minecraft client:
  • Java Edition: Connect to localhost:25565
  • Bedrock Edition: Connect to localhost:19132

Quick start from source

If you prefer to build from source:
1

Clone the repository

git clone https://github.com/Pumpkin-MC/Pumpkin.git
cd Pumpkin
2

Build the project

Build Pumpkin in release mode for optimal performance:
cargo build --release
The first build may take 10-15 minutes as Cargo downloads and compiles all dependencies.
3

Run the server

cargo run --release
The server will start and listen on port 25565 by default.

Basic configuration

Create a config/configuration.toml file to customize your server:
[basic]
# Server network settings
server_address = "0.0.0.0:25565"
bedrock_address = "0.0.0.0:19132"

# Server identity
motd = "A Pumpkin Server"
max_players = 100

# World settings
seed = ""
difficulty = "Normal"
default_gamemode = "Survival"
view_distance = 10
simulation_distance = 10

# Authentication
online_mode = true
For more configuration options, see the configuration guide.

Docker Compose setup

For production deployments, use Docker Compose. Create a docker-compose.yml file:
version: '3.8'

services:
  pumpkin:
    image: ghcr.io/pumpkin-mc/pumpkin:latest
    container_name: pumpkin-server
    ports:
      - "25565:25565"
      - "19132:19132/udp"
    volumes:
      - ./config:/app/config
      - ./world:/app/world
    restart: unless-stopped
    environment:
      - RUST_BACKTRACE=1
Start the server:
docker-compose up -d

Connecting with Bedrock Edition

Bedrock Edition clients can connect to your Pumpkin server on port 19132 (UDP). Ensure this port is open in your firewall:
# Ubuntu/Debian
sudo ufw allow 19132/udp

# CentOS/RHEL
sudo firewall-cmd --add-port=19132/udp --permanent
sudo firewall-cmd --reload

Troubleshooting

Server won’t start

Check the logs for error messages:
# Docker
docker logs pumpkin

# From source
cargo run --release
Common issues:
  • Port already in use: Another Minecraft server may be running on port 25565
  • Permission denied: Ensure you have write permissions to the world and config directories
  • Missing configuration: The server creates default config files on first run

Cannot connect to server

  1. Check the server is running:
    docker ps  # For Docker
    ps aux | grep pumpkin  # For source builds
    
  2. Verify ports are open:
    netstat -tulpn | grep 25565
    
  3. Check firewall rules:
    sudo ufw status  # Ubuntu/Debian
    

High memory usage

Pumpkin is optimized for performance but may use significant memory with many players. To limit memory usage:
  1. Reduce view_distance and simulation_distance in configuration
  2. Lower max_players limit
  3. Set Docker memory limits:
    docker run --memory="2g" ...
    

Next steps

Configuration

Learn about all configuration options

Features

Explore Pumpkin’s features

Deployment

Deploy to production

Plugin Development

Create custom plugins

Build docs developers (and LLMs) love