30个版本 (18个破坏性版本)
0.22.0 | 2024年1月10日 |
---|---|
0.21.1 | 2023年8月25日 |
0.21.0 | 2023年4月23日 |
0.20.0 | 2023年3月20日 |
0.1.3 | 2020年7月7日 |
#1184 in 网络编程
每月292次下载
在 2 crates 中使用
615KB
15K SLoC
naia
a networking architecture for interactive applications
一个跨平台(包括Wasm!)网络引擎,旨在使Rust的多玩家游戏开发变得极其简单和快速。
naia帮助您轻松定义一个公共的、共享的协议,允许服务器与客户端交换信息。然后,naia简化了在服务器与客户端之间发送/接收该协议部分作为可靠/不可靠消息的过程,并且还维护了一个与每个客户端同步的实体池,这些客户端处于“作用域”内。实体被“作用域化”到与它们共享同一房间的客户端,并且足够可定制,例如,仅当实体在客户端视图中时或根据某些其他标准时,才保持实体的持久和同步。
API深受Nengi.js 和 Colyseus JavaScript多玩家网络库的启发。内部实现遵循Tribes 2网络模型。
非常感谢Kyren的支持及webrtc-unreliable,以及Laminar的作者,因为他们提供的代码。
任何帮助都受欢迎,请与我联系!我欢迎任何批评/反馈,以改进这个项目。
目前确保在Web和Linux上工作,尽管已经报告说Windows和MacOS也能工作。如果您发现不一致之处,请提交问题,我将尽力解决。
如需更多信息,请查看常见问题解答(FAQ)。
演示
更全面的文档/教程正在路上,但截至目前,开始使用naia的最佳方式是浏览基本演示,该演示展示了大部分功能。
服务器
在Linux上运行UDP服务器演示:(将能够与Linux客户端通信)
1. cd /naia/demos/basic/server
2. cargo run
在Linux上运行WebRTC服务器演示:(将能够与Web客户端通信)
1. // go to (https://docs.rs/openssl/latest/openssl/) to install openssl on your machine
2. cd /naia/demos/basic/server
3. cargo run
客户端
在Linux上运行UDP客户端演示:(将能够与UDP服务器通信)
1. cd /naia/demos/basic/client/wasm_bindgen
2. cargo run
在Web上运行WebRTC客户端演示:(将能够与WebRTC服务器通信)
1. cargo install cargo-web // should only need to do this once if you haven't already
2. cargo install cargo-make // should only need to do this once if you haven't already
3. cd /naia/demos/basic/client/wasm_bindgen
4. make serve
5. Web page will be blank - check debug console to see communications from the server
已知问题
要运行miniquad客户端,您需要安装以下软件
sudo apt-get install libxi-dev libgl1-mesa-dev
依赖项
~7–24MB
~429K SLoC