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

> Learn how to report a bug in Pumpkin-MC/Pumpkin. Follow our guide to submit clear, detailed bug reports that help developers fix issues faster.

- Repository: [Pumpkin MC/Pumpkin](https://github.com/Pumpkin-MC/Pumpkin)
- Tags: how-to-guide
- Published: 2026-07-23

---

**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](https://github.com/Pumpkin-MC/Pumpkin/issues) 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`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/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`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/pumpkin-config/src/lighting.rs), specify the exact world file and startup commands:

```bash
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`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/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`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/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:

- **[`Cargo.toml`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/Cargo.toml)**: Contains crate dependencies and version information required to reproduce the exact build environment
- **[`pumpkin-config/src/lighting.rs`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/pumpkin-config/src/lighting.rs)**: Relevant for lighting subsystem bugs
- **[`pumpkin-world/src/world.rs`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/pumpkin-world/src/world.rs)**: Core world-loading logic for initialization bugs

## Example Bug Report Template

Use this markdown structure to ensure consistency:

```markdown

### 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`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/pumpkin-config/src/logging.rs) or set the environment variable:

```rust
// 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`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/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`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/Cargo.toml) or [`pumpkin-config/src/lighting.rs`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/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`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/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`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/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`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/README.md) or [`CONTRIBUTING.md`](https://github.com/Pumpkin-MC/Pumpkin/blob/main/CONTRIBUTING.md) for security disclosure procedures. Most projects prefer private reporting for security issues to prevent exploitation before a patch is released.