Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
R

renet

> 编程语言
Open source

Server/Client network library for multiplayer games with authentication and connection management made with Rust

937 stars0 likes1 views
WebsiteGitHub

About

Server/Client network library for multiplayer games with authentication and connection management made with Rust

Renet

Renet is a network library for Server/Client games written in rust. It is focused on fast-paced games such as FPS, and competitive games. Provides the following features:

  • Client/Server connection management
  • Message based communication using channels, they can have different guarantees:
    • ReliableOrdered: guarantee of message delivery and order
    • ReliableUnordered: guarantee of message delivery but not order
    • Unreliable: no guarantee of message delivery or order
  • Packet fragmentation and reassembly
  • Authentication and encryption, using renet_netcode
    • You can also use renet_steam to use the Steam transport and authenticantion layer
    • The transport/authentication layer can be customizable, you can write your own if necessary

Channels

Renet communication is message based, and channels describe how the messages should be delivered. Channels are unidirectional, ConnectionConfig.client_channels_config describes the channels that the clients sends to the server, and ConnectionConfig.server_channels_config describes the channels that the server sends to the clients.

Each channel has its own configuration ChannelConfig:

…

Usage

Renet aims to have a simple API that is easy to integrate with any code base. Poll for new messages at the start of a frame with update. Call send_packets from the transport layer to send packets to the client/server.

Server

…

Client

…

Transport Layers

Checkout renet_netcode if you want to use UDP with the netcode protocol.

Checkout renet_steam if you want to use the steam transport layer.

Demos

You can checkout the echo example for a simple usage of the library. Usage:

  • Server: cargo run --example echo -- server 5000
  • Client: cargo run --example echo -- client 127.0.0.1:5000 CoolNickName

Or you can look into the two demos that have more complex uses of renet:

Bevy Demo

Simple bevy application to demonstrate how you could replicate entities and send reliable messages as commands from the server/client using renet:

Bevy Demo.webm

Repository

Chat Demo

Simple chat application made with egui to demonstrate how you could handle errors, states transitions and client self hosting:

Chat Demo.webm

Repository

Plugins

Checkout bevy_renet if you want to use renet as a plugin with the Bevy engine.

Visualizer

Checkout renet_visualizer for a egui plugin to plot metrics data from renet clients and servers:

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

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Rustgamedevnetworkrust

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言