/Pumpkin

Empowering everyone to host fast and efficient Minecraft servers.

Primary LanguageRustMIT LicenseMIT

Pumpkin

CI Discord License: MIT Current version)

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.

image

What Pumpkin wants to achieve

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

What Pumpkin will not

  • Provide compatibility with Vanilla or Bukkit servers (including configs and plugins).
  • Function as a framework for building a server from scratch.

Important

Pumpkin is currently under heavy development.

Features (WIP)

  • Configuration (toml)
  • Server Status/Ping
  • Login
  • Player Configuration
    • Registries (biome types, paintings, dimensions)
    • Server Brand
    • Server Links
    • Set Resource Pack
    • Cookies
  • World
    • World Joining
    • Player Tab-list
    • World Loading
    • Entity Spawning
    • Chunk Loading
    • World Generation
    • Chunk Generation
    • World Borders
    • World Saving
  • Player
    • Player Skins
    • Player Client brand
    • Player Teleport
    • Player Movement
    • Player Animation
    • Player Inventory
    • Player Combat
  • Server
    • Plugins
    • Query
    • RCON
    • Inventories
    • Particles
    • Chat
    • Commands
  • Proxy
    • Velocity

Check out our Github Project to see current progress

How to run

There are currently no release builds, because there was no release :D.

To get Pumpkin running you first have to clone it:

git clone https://github.com/Snowiiii/Pumpkin.git
cd Pumpkin

You also may have to install rust when you don't already have.

You can place a vanilla world into the Pumpkin/ directory when you want. Just name the World to world

Then run:

Note

This can take a while. Because we enabled heavy optimizations for release builds

To apply further optimizations specfic to your CPU and use your CPU features. You should set the target-cpu=native Rust flag.

cargo run --release

Docker

Experimental Docker support is available. The image is currently not published anywhere, but you can use the following command to build it:

docker build . -t pumpkin

To run it use the following command:

docker run --rm -v "./world:/pumpkin/world" pumpkin

Contributions

Contributions are welcome! See CONTRIBUTING.md

Communication

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

Thanks

A big thanks to wiki.vg for providing valuable information used in the development of this project.