1个不稳定版本

0.1.0 2022年9月11日

#2 in #graphite-minecraft

Download history 22/week @ 2024-03-11 18/week @ 2024-03-18 35/week @ 2024-03-25 59/week @ 2024-04-01 9/week @ 2024-04-08 10/week @ 2024-04-15 19/week @ 2024-04-22 12/week @ 2024-04-29 23/week @ 2024-05-06 14/week @ 2024-05-13 17/week @ 2024-05-20 6/week @ 2024-05-27 13/week @ 2024-06-03 16/week @ 2024-06-10 8/week @ 2024-06-17 19/week @ 2024-06-24

56 每月下载量
用于7 个包 (6个直接使用)

Apache-2.0

130KB
3.5K SLoC

Graphite -- 目前暂停更新

1.19.1 Minecraft服务器

待办事项

  • 完成protocol,包含所有1.19.1 Minecraft数据包
  • 命令调度系统
  • 可查看的对象(实体)
  • 允许多个玩家连接(并相互看到)
  • 重新导出所有内容的基库crate
  • 具有NBT的物品堆栈
  • 添加修改物品NBT的层
  • 玩家输入处理(左/右键点击空气/方块)
  • TextComponent事物和宏
  • 允许修改区块/世界
  • 完成缺失的方块放置(墙体、双层方块、蜡烛等)
  • "额外"子项目 - 光线投射、碰撞等

子项目

  • example_server:使用各种Graphite组件的示例服务器
  • server:Minecraft服务器。实体、区块、玩家等所有东西
  • concierge:接受新连接、处理状态和登录的组件。可用于创建代理、服务器等
  • protocol:Minecraft协议
  • net:网络组件和实用程序
  • binary:零拷贝序列化
  • command:命令调度和底层创建
  • command_derive:用于轻松创建命令的属性宏
  • sticky:保证其内容内存位置的集合

警告

项目目前正在积极开发中,许多功能完全不适用

构建

在构建/运行之前,请确保运行git submodule update --init --recursive

如何运行示例服务器

!!! 目前Graphite仅支持具有io_uring的现代Linux版本 !!!
(最终将提供替代网络后端,但不是优先事项)

$ cargo run --bin example_server

依赖项

~2MB
~41K SLoC