switch out renet netcode with renet_steam

This commit is contained in:
2025-12-19 20:03:45 -05:00
parent a4488cc072
commit 4fb37e27c5
6 changed files with 40 additions and 193 deletions

View File

@@ -16,12 +16,8 @@ use bevy_replicon::{
};
use bevy_replicon_renet::{
RenetChannelsExt,
netcode::{NetcodeServerTransport, ServerAuthentication},
renet::{ConnectionConfig, RenetServer},
};
use std::{
net::{Ipv4Addr, UdpSocket},
time::SystemTime,
steam::SteamServerTransport,
};
pub fn plugin(app: &mut App) {
@@ -57,6 +53,7 @@ fn open_renet_server(
mut commands: Commands,
channels: Res<RepliconChannels>,
mut next: ResMut<NextState<GameState>>,
steam_client: Res<bevy_steamworks::Client>,
) -> Result<(), BevyError> {
info!("opening server");
@@ -69,22 +66,18 @@ fn open_renet_server(
..Default::default()
});
let current_time = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH)?;
let port = 31111;
let socket = UdpSocket::bind((Ipv4Addr::UNSPECIFIED, port))?;
let server_config = bevy_replicon_renet::netcode::ServerConfig {
current_time,
max_clients: 1,
protocol_id: 0,
authentication: ServerAuthentication::Unsecure,
public_addresses: Default::default(),
let steam_config = bevy_replicon_renet::steam::SteamServerConfig {
access_permission: bevy_replicon_renet::steam::AccessPermission::FriendsOnly,
max_clients: 16,
};
let transport = NetcodeServerTransport::new(server_config, socket)?;
let client = (**steam_client).clone();
let transport = SteamServerTransport::new(client, steam_config)?;
commands.insert_resource(server);
commands.insert_resource(transport);
info!("hosting a server on port {port}");
info!("hosting a server");
next.set(GameState::Playing);