How to Report a Bug in Pumpkin-MC/Pumpkin: A Complete Guide

To report a bug in Pumpkin-MC/Pumpkin, search existing issues first, then open a new issue using the Bug template with a clear title, detailed reproduction steps, environment details, and relevant logs or screenshots as outlined in CONTRIBUTING.md.

The Pumpkin Minecraft server is a Rust-based implementation that requires detailed bug reports to maintain stability. Understanding how to report a bug in Pumpkin-MC/Pumpkin correctly ensures maintainers can triage and fix issues efficiently according to the project's contribution guidelines.

Preparing Your Bug Report

Before submitting, ensure you have gathered all necessary information to create a reproducible issue.

Search for Duplicate Issues

Always search existing issues on the GitHub Issues page before creating a new report. This prevents duplicate work and keeps the tracker organized. If you find an existing report, add your details as a comment rather than opening a new issue.

Gather Environment Information

Collect specific version data to help developers reproduce the bug:

  • Operating System (e.g., Ubuntu 22.04, Windows 11)
  • Rust version (output of rustc --version)
  • Pumpkin version (commit hash from git rev-parse HEAD or version in Cargo.toml)
  • Minecraft edition (Java or Bedrock) and version number

Creating the Bug Report

Navigate to the repository's Issues page and click "New issue". Select the Bug template if available.

Write a Clear Title and Description

Summarize the problem concisely in the title, such as "Crash when loading a world with custom lighting". In the description, clearly state:

  • The observed behavior
  • The expected behavior
  • Why this constitutes a bug

Include Precise Reproduction Steps

List exact commands, configuration files, and world files needed to trigger the issue. For example, if the bug involves the lighting subsystem in pumpkin-config/src/lighting.rs, specify the exact world file and startup commands:

cargo run --release -- --world my_custom_world

Attach Logs and Screenshots

Include relevant log excerpts and screenshots that illustrate the issue. According to the project's CONTRIBUTING.md, attaching logs and screenshots provides maximum clarity for maintainers. If the bug involves world loading logic, reference files like pumpkin-world/src/world.rs in your description to pinpoint where the issue occurs.

Technical Details to Include

Reference specific source files when relevant to help developers locate the bug quickly:

Example Bug Report Template

Use this markdown structure to ensure consistency:


### Description

The server crashes when loading a world that uses the custom lighting module.

### Steps to Reproduce

1. Run `cargo run --release -- --world my_custom_world`.
2. Observe the panic in the console after the lighting subsystem is initialized.

### Expected Behavior

The world should load and the lighting system should initialize without a crash.

### Actual Behavior

Panic:

thread 'main' panicked at 'attempt to divide by zero', src/pumpkin-config/src/lighting.rs:78


### Environment

- OS: Ubuntu 22.04
- Rust: 1.78.0
- Pumpkin version: commit `d0c5b502f3afde1296fe90e2043c42b8`
- Java edition: 1.21

Enabling Debug Logging for Better Reports

Provide verbose logs by enabling debug output. Modify pumpkin-config/src/logging.rs or set the environment variable:

// Enable debug logging in `pumpkin-config/src/logging.rs`
pub fn init_debug_logging() {
    env_logger::Builder::from_default_env()
        .filter_level(log::LevelFilter::Debug)
        .init();
}

Run the server with RUST_LOG=debug cargo run and paste the relevant log excerpt into your issue. This is particularly helpful for bugs in pumpkin-world/src/world.rs or configuration parsing.

Summary

  • Search existing issues before reporting to avoid duplicates
  • Use the Bug template and label the issue with bug if permissions allow
  • Include environment details: OS, Rust version, Pumpkin commit hash, and Minecraft edition
  • Provide reproduction steps with exact commands and file references
  • Attach logs and screenshots; enable RUST_LOG=debug for verbose output
  • Reference specific files like Cargo.toml or pumpkin-config/src/lighting.rs when relevant

Frequently Asked Questions

Where do I find the Pumpkin version for my bug report?

Check the Cargo.toml file at the repository root for the version string, or run git rev-parse HEAD to get the exact commit hash. Include this in your environment section so developers can reproduce the exact build.

What should I do if I can't reproduce the bug consistently?

Report the issue anyway, but clearly state that the bug is intermittent. Include the frequency of occurrence (e.g., "1 in 5 server starts") and any patterns you've noticed. Attach logs from multiple attempts to help identify race conditions or state-dependent bugs.

How do I get debug logs from Pumpkin?

Set the environment variable RUST_LOG=debug before running the server, or temporarily modify the logging initialization code in pumpkin-config/src/logging.rs to use LevelFilter::Debug. Run the server, reproduce the bug, and copy the relevant log segments into your issue.

Should I report security vulnerabilities in public issues?

No. For security vulnerabilities that could compromise servers or players, check the README.md or CONTRIBUTING.md for security disclosure procedures. Most projects prefer private reporting for security issues to prevent exploitation before a patch is released.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →