#multiplayer-game #networking #renet #gamedev #egui #visualizer #connection

renet_visualizer

Egui度量可视化工具,用于renet crate:多人游戏的服务器/客户端网络库

9个版本

0.0.9 2024年7月20日
0.0.8 2024年2月21日
0.0.7 2023年11月12日
0.0.6 2023年7月20日
0.0.2 2022年7月25日

#1349 in 网络编程

Download history 8/week @ 2024-04-29 1/week @ 2024-05-20 24/week @ 2024-05-27 27/week @ 2024-06-03 9/week @ 2024-06-10 2/week @ 2024-06-24 6/week @ 2024-07-01 94/week @ 2024-07-15 54/week @ 2024-07-22

148 每月下载量

MIT/Apache

150KB
3K SLoC

Renet Visualizer

Latest version Documentation MIT Apache

一个简单的renet crate的egui度量可视化工具。

https://user-images.githubusercontent.com/35241085/175834010-b1eafd77-7ea2-47dc-a915-a399099c7a99.mp4

使用方法

客户端

let mut visualizer = RenetClientVisualizer::<200>::new(RenetVisualizerStyle::default());
// ..

loop {
    // Update Renet Client
    client.update(delta).unwrap();
    // Add metrics to the visualizer
    visualizer.add_network_info(client.network_info());

    // Draws a new egui window with the metrics
    visualizer.show_window(egui_ctx);

    // ..
}

服务器

let mut visualizer = RenetServerVisualizer::<200>::new(RenetVisualizerStyle::default());
// ..

loop {
    // Update Renet Server
    server.update(delta).unwrap();

    // Add/Remove clients from the visualizer
    while let Some(event) = server.get_event() {
        match event {
            ServerEvent::ClientConnected(client_id, user_data) => {
                visualizer.add_client(client_id);
                // ...
            }
            ServerEvent::ClientDisconnected(client_id) => {
                visualizer.remove_client(client_id);
                // ...
            }
        }
    }

    // Add all clients metrics to the visualizer
    visualizer.update(&server);

    // Draws a new egui window with all clients metrics
    visualizer.show_window(egui_ctx);

    // ..
}

依赖项

~5–13MB
~136K SLoC