29个版本 (18个破坏性更新)
0.22.0 | 2024年1月10日 |
---|---|
0.21.1 | 2023年8月25日 |
0.21.0 | 2023年4月23日 |
0.20.1 | 2023年3月23日 |
0.1.1 | 2020年7月6日 |
#362 in 网络编程
每月下载量284
在 2 crates 中使用
605KB
14K 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也能正常工作。如果您发现不一致的地方,请提交问题,我会尽力解决。
有关更详细的信息,请参阅常见问题解答。
演示
更多全面的技术文档/教程正在制作中,但到目前为止,开始使用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
依赖项
~1–19MB
~322K SLoC