Empowering everyone to host fast and efficient Minecraft servers
Go to file
Edvin Bryntesson 53c3a013c2
add OpenedContainer to Server
we will store all opened containers there until closed by all players, and when closed we will save contents to the block in the world. We should implement Drop for OpenedContainer to achieve this.
2024-08-31 11:41:13 +02:00
.devcontainer Remove minecraft source decompiler script 2024-08-21 14:44:21 +01:00
.github Create FUNDING.yml 2024-08-28 18:59:56 +02:00
pumpkin add OpenedContainer to Server 2024-08-31 11:41:13 +02:00
pumpkin-core Add Console Colors & Styles 2024-08-21 20:08:14 +01:00
pumpkin-entity Add EntityPose 2024-08-29 17:35:49 +02:00
pumpkin-inventory add OpenedContainer to Server 2024-08-31 11:41:13 +02:00
pumpkin-macros Update deps 2024-08-26 17:06:15 +02:00
pumpkin-plugin Add pumpkin-plugin 2024-08-27 22:47:21 +02:00
pumpkin-protocol Merge branch 'master' into master 2024-08-30 11:43:23 +02:00
pumpkin-registry Create pumpkin-core, and move pumpkin-text 2024-08-21 16:12:09 +02:00
pumpkin-world Merge branch 'Snowiiii:master' into master 2024-08-30 15:46:08 +02:00
.dockerignore feat: initial docker support 2024-08-20 19:38:46 +02:00
.gitignore Update .gitignore 2024-08-30 14:46:49 +02:00
Cargo.lock Change coordinates, and add .get_block to ChunkBlocks 2024-08-30 15:07:54 +02:00
Cargo.toml Change coordinates, and add .get_block to ChunkBlocks 2024-08-30 15:07:54 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2024-08-02 12:33:51 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2024-08-23 12:14:32 +02:00
Dockerfile feat(docker): enable target-cpu=native 2024-08-24 13:28:04 +02:00
LICENSE Create LICENSE 2024-07-31 09:13:08 +02:00
README.md Update README.md 2024-08-28 19:04:31 +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
    • Chunk 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.

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.