Andrew Neeley a63b49a095 add Secure Chat (#656)
* Add secure chat configuration option

* Add secure chat bool to login packet

* change name of config flag

* add packet deserializer for player session packet

* make session update async

* Change config option

* Formatting

* Add chat configuration option

* Basic custom chat formatting

* formatting

* Add chat session to Player

* fix duplicate imports

* Formatting

* chat validation mostly working

* add registry for custom raw message

* chat formatting working with secure chat

* don't share session tokens if reporting blocked

* add received message index

* add custom registry without modifying asset files

* resolve color decorator before MESSAGE so player can't inject color codes by default

* move comment

* update all player sessions on join

* better previous message handling

* fix multiplayer bugs

* send new players existing signatures

* clean stuff up

* only send ChatSession if reports are enabled

* make clippy happy
2025-03-30 21:31:55 +02:00
2025-02-20 18:42:20 +01:00
2025-03-30 21:31:55 +02:00
2025-03-11 11:44:22 +01:00
2025-03-30 21:31:55 +02:00
2025-03-30 21:31:55 +02:00
2025-03-30 21:31:55 +02:00
2025-03-30 21:31:55 +02:00
2025-03-30 21:31:55 +02:00
2025-03-29 13:25:37 +01:00
2025-01-24 17:26:09 +01:00
2024-08-02 12:33:51 +02:00
2025-03-29 13:25:37 +01:00
2025-02-06 18:08:56 +01:00
2025-01-01 13:05:17 +01:00
2025-03-27 21:49:02 +01:00
2024-12-04 11:37:41 +01:00
2025-02-12 16:19:26 +01: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.

gif

Goals

  • Performance: Leveraging multi-threading for maximum speed and efficiency.
  • Compatibility: Supports the latest Minecraft server version while adhering 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.

Important

Pumpkin is currently under heavy development

Features

  • Configuration (toml)
  • Server Status/Ping
  • Networking
    • Encryption
    • Packet Compression
  • Player Configuration
    • Registries (biome types, paintings, dimensions)
    • Server Brand
    • Server Links
    • Set Resource Pack
    • Cookies
  • World
    • World Joining
    • Player Tab-list
    • Scoreboard
    • World Loading
    • World Time
    • World Borders
    • World Saving (W.I.P)
    • Lighting
    • Entity Spawning
    • Item drops (W.I.P)
    • Bossbar
    • TNT
    • Chunk Loading (Vanilla, Linear)
    • Chunk Generation
    • Chunk Saving (Vanilla, Linear)
    • Redstone
    • Liquid Physics
    • Biomes
    • Vegetation
  • Player
    • Skins
    • Client brand
    • Teleport
    • Movement
    • Animation
    • Inventory
    • Combat
    • Experience
    • Hunger
    • Off Hand
    • Advancements
    • Eating
  • Entities
    • Non-Living (Minecart, Eggs...) (W.I.P)
    • Entity Effects
    • Players
    • Mobs (W.I.P)
    • Animals (W.I.P)
    • Entity AI (W.I.P)
    • Entity Saving
    • Boss
    • Villagers
    • Mobs Inventory
  • Server
    • Plugins (W.I.P)
    • Query
    • RCON
    • Inventories
    • Particles
    • Chat
    • Commands
    • Permissions
    • Translations
  • 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

Pumpkin's documentation can be found at https://pumpkinmc.org/

Communication

Consider joining our Discord server 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.

Description
Languages
Rust 100%