mirror of
https://github.com/Pumpkin-MC/Pumpkin.git
synced 2026-08-31 08:22:33 +00:00
* Add query options to config Added packet data types Correctly parse a handshake packet Add tokio to pumpkin protocol for `AsyncReadExt` convenience functions * Add repr(u8) so that PacketType is a byte * Respond to handshake correctly * Allow for proper decoding of status packets and properly handle errors in decoding * Implement challange tokens and verify with token and address * Encode Basic status packet Switch to CString since its better to and null errors higher up the code * Encode Full status packet * Add forgotten fields to full status packet * Correctly respond to query clients when requesting full status * Return actual address and port of server Respect config options Remove uncessary debug derives * Remove packet type as it is redundant/unnecssary * Implement basic status request Refactor code for better error handling * Update README * Show players correctly in full status packet * Store all packets in structs instead of enums Break up en/decoding for each packet Reduce client tracking Get rid of QueryClients struct Stop storing of magic value and check during decoding Added tests for all decoding and encoding Fix all sugestions from @StripedMonkey
3.0 KiB
3.0 KiB
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.
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 security exploits.
- Flexibility: Highly configurable, with the ability to disable unnecessary features.
- Extensibility: Provides a foundation for plugin development.
What Pumpkin will not
- Be compatible with plugins or mods for other servers
- 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
- Lighting
- Entity Spawning
- Chunk Loading
- Chunk Generation
- World Time
- Scoreboard
- 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
- Bungeecord
- Velocity
Check out our Github Project to see current progress
How to run
See our Quick Start Guide to get Pumpkin running
Contributions
Contributions are welcome! See CONTRIBUTING.md
Docs
The Documentation of Pumpkin can be found at https://snowiiii.github.io/Pumpkin/
Communication
Consider joining our discord to stay up-to-date on events, updates, and connect with other members.
Funding
If you want to fund me and help the project, Check out my GitHub sponsors or my PayPal