#实体 #玩家 #方块 #Minecraft 服务器 #区块 #组件 #数据包

bin+lib caelunshun/feather-server

Minecraft 服务器实现,使用 Rust 语言

4 个版本 (2 个破坏性版本)

0.6.0 2020 年 5 月 4 日
0.5.0 2019 年 10 月 6 日
0.4.1 2019 年 9 月 4 日
0.4.0 2019 年 9 月 1 日

485游戏 中排名

2,427 星级 & 54 关注者

485KB
11K SLoC

feather-server 和其子仓库,在 feather-core 上实现服务器。

子仓库

请参阅 书籍 了解新功能所属的仓库。如果您不确定在哪里放置某些内容,请随时在我们的 Discord 上提问。

这里的哲学是拥有许多小型仓库以强制模块化。如果一个仓库变得太大,它将被拆分成子仓库。

要创建一个新的仓库,请复制 template 目录并更新新仓库的包名。

请注意,所有仓库都应该在仓库根目录下有 #![forbid)],除非在此明确指出一个仓库包含不安全代码。

  • types:所有子仓库希望向其他子仓库提供的组件和资源。有点像更优雅的 C/C++ 头文件。
  • util:小型实用函数以及不需要在其自己的仓库中的简单游戏逻辑(例如世界时间)
  • entity:实体实现(物品、箭矢、掉落方块、怪物等)。不安全:用于 object::item::item_collect:system 中的物品收集。
  • block:方块实体实现(箱子、熔炉、命令方块等)
  • player:与玩家直接相关的逻辑,例如区块发送、聊天、视图系统。还包含所有数据包处理器。
  • network:与客户端通信的TCP监听器和IO工作实现
  • config:配置文件和结构体,以及加载/保存逻辑
  • chunk:区块工作器和区块加载/保存逻辑
  • physics:物理系统,包括实体和(很快)流体力学
  • lighting:方块和天空照明
  • packet_buffer:在IO工作器和服务器线程之间缓冲数据包的各种数据结构
  • weather:天气处理和调度

依赖项

~6–14MB
~152K SLoC