#minecraft-server #graphite-minecraft #utilities #networking #net #handler #connection

graphite_net

为 graphite_minecraft 项目提供网络处理程序和实用工具

1 个不稳定版本

0.1.0 2022年9月11日

#9#graphite-minecraft


4crate中使用(3个直接使用)

Apache-2.0

2MB
50K SLoC

Graphite -- 目前处于停摆状态

1.19.1 Minecraft 服务器

待办事项

  • 完成 protocol 以包含所有 1.19.1 Minecraft 数据包
  • 命令调度系统
  • 可视对象(实体)
  • 允许多个玩家连接(并看到彼此)
  • 基库 crate,导出所有内容
  • 带有 NBT 的 ItemStacks
  • 添加一个易于修改物品 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

依赖关系

~4MB
~85K SLoC