Empowering everyone to host fast and efficient Minecraft servers
Go to file
2024-08-23 12:30:24 +02:00
.devcontainer Remove minecraft source decompiler script 2024-08-21 14:44:21 +01:00
.github ci: Separate clippy and build for build release job 2024-08-22 13:58:03 +02:00
pumpkin add serverbound packet SContainerClose 2024-08-23 12:30:24 +02:00
pumpkin-core Add Console Colors & Styles 2024-08-21 20:08:14 +01:00
pumpkin-entity todo to TODO 2024-08-07 20:33:51 +02:00
pumpkin-inventory add serverbound packet SContainerClose 2024-08-23 12:30:24 +02:00
pumpkin-macros Packet proc macro 2024-08-05 12:56:46 +02:00
pumpkin-protocol add serverbound packet SContainerClose 2024-08-23 12:30:24 +02:00
pumpkin-registry Create pumpkin-core, and move pumpkin-text 2024-08-21 16:12:09 +02:00
pumpkin-world Add .set_block on ChunkData 2024-08-21 17:31:43 +02:00
.gitignore Cargo fmt + added *.local.nbt to .gitignore 2024-08-21 18:06:57 +02:00
Cargo.lock use rustls instead of system openssl to make compilation easier 2024-08-22 21:11:00 +02:00
Cargo.toml Create pumpkin-core, and move pumpkin-text 2024-08-21 16:12:09 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2024-08-02 12:33:51 +02:00
CONTRIBUTING.md Create a basic structure guide 2024-08-21 16:30:38 +02:00
LICENSE Create LICENSE 2024-07-31 09:13:08 +02:00
README.md docs: run formatter 2024-08-20 17:50:28 +02:00
STRUCTURE.md Create a basic structure guide 2024-08-21 16:30:38 +02:00

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
    • World Borders
    • World Saving
  • Player
    • Player Skins
    • Player Client brand
    • Player Teleport
    • Player Movement
    • Player Animation
    • Player Inventory
    • Player Combat
  • Server
    • 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.

For Now, until we don't have own chunk generation. You need to pregenerate the world and place it inside of the Pumpkin/ directory. Make sure to generate chunks close to (0,0) since that is where the player gets spawned by default.

Then run:

Note

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

RUSTFLAGS="-C target-cpu=native" cargo run --release

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.