Simple modular building blocks for Minecraft minigame-like servers. See examples/basic for example server.
Warning
This project is in early development, expect ALOT of code to change.
Important
This will only ever support the latest Minecraft version (currently 1.21.5)
This will NOT make anything use any async code (tokio/futures). This was originally built to be fully single-threaded, but that may change in the future.
- Clone repo
- Extract Minecraft data
cargo run -p pkmc-generated-extractor -- --release 1.21.5 --output pkmc-generated/assets/
- Start the server
cargo run -p example-basic --release
- Join the server (Default IP is
[::1]:52817
)
examples/basic/config.toml to configure.
Feature | Implemented | Comment |
---|---|---|
Server List Ping | ✅ | |
World Loading | ✅ | (Single-threaded1) |
World Editing | ✅ | |
World Lighting | ❌ | |
World Saving | ❌ | (Probably never) |
Dimensions/Multiworld | ❌ | |
Entities | ❌ | |
Inventories | ❌ | |
Resource Pack | ❌ | |
Online Mode | ✅ | |
Packet Compression | ✅ | |
Players & Chat | ❌ | |
Commands Definitions | ❌ | |
Cookies 🍪 | ❌ |
Some extra features may be implemented inside the example server. (pkmc will never try to implement many vanilla things, such as: vanilla world gen, redstone, world ticking)
pkmc-util
Some utility stuff for everything else to use.pkmc-generated
Extract Minecraft server.jar data & convert to code.pkmc-defs
Definitions for blocks, packets, & other stuff.pkmc-server
General building blocks for a server.examples/*
Some examples & some testing stuff.
Make a simple framework for Minecraft minigame servers.
Published as a crate once more features are implemented and things are more fleshed out.
MIT License
License is very likely change to MIT-0 or 0BSD in the future.
Footnotes
-
Currently only single-threaded for world stuff, but definitely going to be multi-threaded in the future. ↩