From 067ed90bfb390fa9f0c2bd45c046ad6f2c091bf7 Mon Sep 17 00:00:00 2001 From: ForTehLose Date: Fri, 20 Mar 2026 15:52:02 -0400 Subject: [PATCH 01/14] first pass at dedicated server support --- crates/aeronet_steam/Cargo.toml | 5 + .../examples/steam_dedicated_server.rs | 168 +++++++ crates/aeronet_steam/src/dedicated_server.rs | 470 ++++++++++++++++++ crates/aeronet_steam/src/lib.rs | 9 + steam_api64.dll | Bin 0 -> 300392 bytes steam_api64.lib | Bin 0 -> 373858 bytes steam_appid.txt | 1 + 7 files changed, 653 insertions(+) create mode 100644 crates/aeronet_steam/examples/steam_dedicated_server.rs create mode 100644 crates/aeronet_steam/src/dedicated_server.rs create mode 100644 steam_api64.dll create mode 100644 steam_api64.lib create mode 100644 steam_appid.txt diff --git a/crates/aeronet_steam/Cargo.toml b/crates/aeronet_steam/Cargo.toml index 3dc57935..723c96ed 100644 --- a/crates/aeronet_steam/Cargo.toml +++ b/crates/aeronet_steam/Cargo.toml @@ -23,6 +23,11 @@ name = "steam_server" path = "examples/steam_server.rs" required-features = ["server"] +[[example]] +name = "steam_dedicated_server" +path = "examples/steam_dedicated_server.rs" +required-features = [] + [dependencies] aeronet_io = { workspace = true } anyhow = { workspace = true } diff --git a/crates/aeronet_steam/examples/steam_dedicated_server.rs b/crates/aeronet_steam/examples/steam_dedicated_server.rs new file mode 100644 index 00000000..d5824fcc --- /dev/null +++ b/crates/aeronet_steam/examples/steam_dedicated_server.rs @@ -0,0 +1,168 @@ +//! Example server using Steam which listens for clients sending strings and +//! sends back a string reply. + +use aeronet_steam::SteamworksClient; + +cfg_if::cfg_if! { + if #[cfg(target_family = "wasm")] { + fn main() { + panic!("not supported on WASM"); + } + } else { + +use { + aeronet_io::{ + Session, SessionEndpoint, + connection::{DisconnectReason, Disconnected, LocalAddr}, + server::{Closed, Server}, + }, + aeronet_steam::{ + SessionConfig,SteamworksServer, + dedicated_server::{ + ListenTarget, SessionRequest, SessionResponse, SteamNetDedicatedServer, SteamNetDedicatedServerPlugin, + }, + }, + bevy::{log::LogPlugin, prelude::*}, + core::net::{Ipv4Addr, SocketAddr}, + std::env, +}; + +fn main() -> AppExit { + //let steam = steamworks::Client::init_app(480).expect("failed to initialize steam"); + //steam.networking_utils().init_relay_network_access(); + let (server, server_callbacks) = steamworks::Server::init( + // [99, 99, 28,138].into(), + Ipv4Addr::LOCALHOST, + 27015, + 27016, + steamworks::ServerMode::AuthenticationAndSecure, + "1.0.0.0", + ) + .unwrap(); + + server.set_game_description("Description"); + server.set_mod_dir("spacewar"); + server.set_product("spacewar"); + server.set_map_name("island"); + server.set_max_players(17); + server.set_server_name("PolymerServer"); + server.set_dedicated_server(true); + println!("pre logon"); + //server.log_on("445DDEA499AAE956693733CF280629AE"); + server.log_on_anonymous(); + println!("post log on"); + + server.enable_heartbeats(true); + + server_callbacks.networking_utils().init_relay_network_access();; + + App::new() + .insert_resource(SteamworksServer(server)) + .insert_resource(SteamworksClient(server_callbacks)) + .add_systems(PreUpdate, |steam: Res| { + steam.run_callbacks(); + }) + .add_plugins((MinimalPlugins, LogPlugin::default(), SteamNetDedicatedServerPlugin)) + .add_systems(Startup, open_server) + .add_systems(Update, reply) + .add_observer(on_opened) + .add_observer(on_closed) + .add_observer(on_session_request) + .add_observer(on_connecting) + .add_observer(on_connected) + .add_observer(on_disconnected) + .run() +} + +fn open_server(mut commands: Commands) { + let target = match env::args().nth(1).as_deref() { + Some("addr") => ListenTarget::Addr(SocketAddr::new(Ipv4Addr::LOCALHOST.into(), 25572)), + Some("peer") => ListenTarget::Peer { virtual_port: 0 }, + _ => panic!("must specify either `addr` or `peer` argument on command line"), + }; + + commands + .spawn_empty() + .queue(SteamNetDedicatedServer::open(SessionConfig::default(), target)); +} + +fn on_opened(trigger: On, servers: Query<&LocalAddr>) { + let server = trigger.event_target(); + if let Ok(local_addr) = servers.get(server) { + info!("{server} opened on {:?}", **local_addr); + } else { + info!("{server} opened for peer connections"); + } +} + +fn on_closed(trigger: On) { + panic!("server closed: {:?}", trigger.event()); +} + +fn on_session_request(mut request: On, clients: Query<&ChildOf>) { + let client = request.event_target(); + let Ok(&ChildOf(server)) = clients.get(client) else { + return; + }; + + info!( + "{client} connecting to {server} with Steam ID {:?}", + request.steam_id + ); + request.respond(SessionResponse::Accepted); +} + +fn on_connecting(trigger: On, clients: Query<&ChildOf>) { + let client = trigger.event_target(); + let Ok(&ChildOf(server)) = clients.get(client) else { + return; + }; + + info!("{client} connecting to {server}"); +} + +fn on_connected(trigger: On, clients: Query<&ChildOf>) { + let client = trigger.event_target(); + let Ok(&ChildOf(server)) = clients.get(client) else { + return; + }; + + info!("{client} connected to {server}"); +} + +fn on_disconnected(trigger: On, clients: Query<&ChildOf>) { + let client = trigger.event_target(); + let Ok(&ChildOf(server)) = clients.get(client) else { + return; + }; + + match &trigger.reason { + DisconnectReason::ByUser(reason) => { + info!("{client} disconnected from {server} by user: {reason}"); + } + DisconnectReason::ByPeer(reason) => { + info!("{client} disconnected from {server} by peer: {reason}"); + } + DisconnectReason::ByError(err) => { + warn!("{client} disconnected from {server} due to error: {err:#}"); + } + } +} + +fn reply(mut clients: Query<(Entity, &mut Session), With>) { + for (client, mut session) in &mut clients { + // explicit deref so we can access disjoint fields + let session = &mut *session; + for packet in session.recv.drain(..) { + let msg = + String::from_utf8(packet.payload.into()).unwrap_or_else(|_| "(not UTF-8)".into()); + info!("{client} > {msg}"); + + let reply = format!("You sent: {msg}"); + info!("{client} < {reply}"); + session.send.push(reply.into()); + } + } +} + +}} diff --git a/crates/aeronet_steam/src/dedicated_server.rs b/crates/aeronet_steam/src/dedicated_server.rs new file mode 100644 index 00000000..4fe373af --- /dev/null +++ b/crates/aeronet_steam/src/dedicated_server.rs @@ -0,0 +1,470 @@ +//! See [`SteamNetServer`]. + +use { + crate::{ + SteamworksClient, SteamworksServer, config::SessionConfig, session::{SessionError, SteamNetIo, SteamNetSessionPlugin, entity_to_user_data} + }, + aeronet_io::{ + IoSystems, Session, SessionEndpoint, + connection::LocalAddr, + server::{CloseReason, Closed, Server, ServerEndpoint}, + }, + anyhow::{Context, Result, bail}, + bevy_app::prelude::*, + bevy_ecs::prelude::*, + bevy_platform::{ + collections::{HashMap, hash_map::Entry}, + time::Instant, + }, + core::net::SocketAddr, + derive_more::Debug, + steamworks::{ + SteamId, + networking_sockets::ListenSocket, + networking_types::{ + AppNetConnectionEnd, ConnectedEvent, ConnectionRequest, ListenSocketEvent, + NetConnectionEnd, + }, + }, + sync_wrapper::SyncWrapper, + tracing::{debug, debug_span}, +}; + +/// Allows using [`SteamNetServer`]. +/// +/// This does not perform Steam initialization when the plugin is built; +/// instead, it defers initialization to when a [`SteamNetServer`] is added +/// to the world. This allows you to always add this plugin, but choose at +/// runtime whether you want to use Steam or not. +pub struct SteamNetDedicatedServerPlugin; + +impl Plugin for SteamNetDedicatedServerPlugin { + fn build(&self, app: &mut App) { + if !app.is_plugin_added::() { + app.add_plugins(SteamNetSessionPlugin); + } + + app.add_systems( + PreUpdate, + (poll_opening, poll_opened).in_set(IoSystems::Poll), + ) + .add_observer(on_remove_client); + } +} + +/// Steam socket server which allows clients to connect to it via either a +/// socket address or as a Steam peer. +/// +/// Use [`SteamNetServer::open`] to start opening a server. +/// +/// When a client attempts to connect, the server will trigger a +/// [`SessionRequest`]. Your app **must** observe this, and eventually use +/// [`SessionRequest::respond`] to set how the server should respond to this +/// connection attempt. +#[derive(Component)] +#[require(ServerEndpoint)] +pub struct SteamNetDedicatedServer { + mtu: usize, + clients: HashMap, +} + +impl SteamNetDedicatedServer { + /// Gets the [`Entity`] of a [`Session`] for a Steam user, if one exists. + #[must_use] + pub fn client_by_steam_id(&self, steam_id: SteamId) -> Option { + self.clients.get(&steam_id).copied() + } +} + +/// Marks a client connected to a [`SteamNetServer`]. +#[derive(Debug, Component)] +#[require(SessionEndpoint)] +pub struct SteamNetServerClient { + steam_id: SteamId, +} + +impl SteamNetServerClient { + /// Gets the Steam ID of the connecting client. + #[must_use] + pub const fn steam_id(&self) -> SteamId { + self.steam_id + } +} + +/// Where a [`SteamNetServer`] will listen on. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub enum ListenTarget { + /// Listen on a socket address. + Addr(SocketAddr), + /// Listen on other Steam users in a peer-to-peer configuration. + Peer { + /// Steam-specific application port to listen on. + /// + /// This acts like [`SocketAddr::port`] but specialized for Steam's P2P + /// networking. + virtual_port: i32, + }, +} + +impl From for ListenTarget { + fn from(value: SocketAddr) -> Self { + Self::Addr(value) + } +} + +impl SteamNetDedicatedServer { + /// Creates an [`EntityCommand`] to set up a server and have it start + /// listening for connections. + /// + /// [`SteamworksClient`] must be present in the world before this command is + /// applied. + /// + /// # Examples + /// + /// ``` + /// use { + /// aeronet_steam::{SessionConfig, server::SteamNetServer}, + /// bevy_ecs::prelude::*, + /// std::net::SocketAddr, + /// }; + /// + /// # fn run(mut commands: Commands, world: &mut World) { + /// let config = SessionConfig::default(); + /// let target = "127.0.0.1:27015".parse::().unwrap(); + /// + /// // using `Commands` + /// commands + /// .spawn_empty() + /// .queue(SteamNetServer::open(config, target)); + /// + /// // using mutable `World` access + /// # let config = unimplemented!(); + /// let server = world.spawn_empty().id(); + /// SteamNetServer::open(config, target).apply(world.entity_mut(server)); + /// # } + /// ``` + #[must_use] + pub fn open(config: SessionConfig, target: impl Into) -> impl EntityCommand { + let target = target.into(); + move |entity: EntityWorldMut| open(entity, config, target) + } +} + +fn open(mut entity: EntityWorldMut, config: SessionConfig, target: ListenTarget) { + let mtu = config.send_buffer_size; + let sockets = entity + .world() + .resource::() + .networking_sockets(); + let (tx_next, rx_next) = oneshot::channel::(); + blocking::unblock(move || { + let result = match target { + ListenTarget::Addr(addr) => sockets.create_listen_socket_ip(addr, config.to_options()), + ListenTarget::Peer { virtual_port } => { + sockets.create_listen_socket_p2p(virtual_port, config.to_options()) + } + }; + _ = tx_next.send(result.map_err(|_| SessionError::Steam)); + }) + .detach(); + + let entity = entity.insert(( + SteamNetDedicatedServer { + mtu, + clients: HashMap::default(), + }, + Opening { + rx_next: SyncWrapper::new(rx_next), + }, + )); + if let ListenTarget::Addr(local_addr) = target { + entity.insert(LocalAddr(local_addr)); + } +} + +/// How should a [`SteamNetServer`] respond to a client wishing to connect to +/// the server? +/// +/// See [`SessionRequest`]. +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum SessionResponse { + /// Allow the client to connect to the server. + Accepted, + /// Reject the client with the given reason. + Rejected { + /// Reason to pass to [`DisconnectReason::ByUser`]. + /// + /// [`DisconnectReason::ByUser`]: aeronet_io::connection::DisconnectReason::ByUser + reason: String, + }, +} + +impl SessionResponse { + /// Creates a [`SessionResponse::Rejected`] from the given reason. + #[must_use] + pub fn rejected(reason: impl Into) -> Self { + Self::Rejected { + reason: reason.into(), + } + } +} + +/// Triggered when a client requests to connect to a [`SteamNetServer`]. +/// +/// Use the fields in this event to decide whether to accept the client's +/// connection or not, and respond accordingly by calling +/// [`SessionRequest::respond`]. +/// +/// At least one of your observers must `respond` to this request, otherwise +/// this request will panic when dropped. +/// +/// You can choose to keep this around for multiple frames until you are ready +/// to send a response, if you need to for example query an external server. +/// +/// # Examples +/// +/// Accept all clients without any extra checks: +/// +/// ``` +/// use { +/// aeronet_steam::server::{SessionRequest, SessionResponse}, +/// bevy_ecs::prelude::*, +/// }; +/// +/// fn on_session_request(mut trigger: On) { +/// let client = trigger.event_target(); +/// trigger.respond(SessionResponse::Accepted); +/// } +/// ``` +/// +/// Check if the client is in the user's friends list before accepting them: +/// +/// ``` +/// use { +/// aeronet_steam::{ +/// SteamworksClient, +/// server::{SessionRequest, SessionResponse}, +/// }, +/// bevy_ecs::prelude::*, +/// steamworks::FriendFlags, +/// }; +/// +/// fn on_session_request(mut request: On, steam: Res) { +/// let friend = steam.friends().get_friend(request.steam_id); +/// if !friend.has_friend(FriendFlags::IMMEDIATE) { +/// request.respond(SessionResponse::rejected("not friend of the host")); +/// return; +/// } +/// +/// request.respond(SessionResponse::Accepted); +/// } +/// ``` +#[derive(Debug, EntityEvent)] +pub struct SessionRequest { + /// [`Session`] client entity requesting to connect. + pub entity: Entity, + /// Steam ID of the client requesting to connect. + pub steam_id: SteamId, + #[debug(skip)] + request: Option, +} + +impl SessionRequest { + /// Determines how the server should respond to this request. + /// + /// # Panics + /// + /// Panics if called more than once. + pub fn respond(&mut self, response: SessionResponse) { + let request = self + .request + .take() + .expect("already responded to this request"); + match response { + SessionResponse::Accepted => { + _ = request.accept(); + } + SessionResponse::Rejected { reason } => { + request.reject( + NetConnectionEnd::App(AppNetConnectionEnd::generic_normal()), + Some(&reason), + ); + } + } + } +} + +impl Drop for SessionRequest { + fn drop(&mut self) { + #[rustfmt::skip] + assert!( + self.request.is_none(), + "dropped a `SessionRequest` without sending a response; you must respond to this \ + request using `SessionRequest::respond`\n + \n + request info: {self:#?}" + ); + } +} + +type OpenResult = Result; + +#[derive(Component)] +struct Opening { + rx_next: SyncWrapper>, +} + +#[derive(Component)] +struct Opened { + socket: SyncWrapper, +} + +fn poll_opening( + mut commands: Commands, + mut servers: Query<(Entity, &mut Opening), With>, +) { + for (server, mut server_io) in &mut servers { + let socket = match server_io.rx_next.get_mut().try_recv() { + Ok(Ok(socket)) => socket, + Ok(Err(err)) => { + commands.trigger(Closed { + entity: server, + reason: CloseReason::by_error(err), + }); + continue; + } + Err(oneshot::TryRecvError::Empty) => continue, + Err(oneshot::TryRecvError::Disconnected) => { + commands.trigger(Closed { + entity: server, + reason: CloseReason::by_error(SessionError::BackendClosed), + }); + continue; + } + }; + + commands.entity(server).remove::().insert(( + Opened { + socket: SyncWrapper::new(socket), + }, + Server::new(Instant::now()), + )); + } +} + +fn poll_opened( + mut commands: Commands, + mut servers: Query<(Entity, &mut Opened, &mut SteamNetDedicatedServer)>, +) { + for (server, mut server_io, mut server_state) in &mut servers { + let span = debug_span!("poll_opened", %server); + let _span = span.enter(); + + while let Some(event) = server_io.socket.get_mut().try_receive_event() { + match event { + ListenSocketEvent::Connecting(request) => { + let remote = request.remote(); + match on_connecting(server, &mut commands, &mut server_state, request) { + Ok(()) => { + debug!("Accepted client connection from {remote:?}"); + } + Err(err) => { + debug!("Failed to accept client connection from {remote:?}: {err:?}"); + } + } + } + ListenSocketEvent::Connected(event) => { + let remote = event.remote(); + match on_connected(&mut commands, &server_state, event) { + Ok(()) => { + debug!("Marked {remote:?} as connected"); + } + Err(err) => { + debug!("Failed to mark {remote:?} as connected: {err:?}"); + } + } + } + ListenSocketEvent::Disconnected(_) => { + // already handled by session logic + } + } + } + } +} + +fn on_connecting( + server: Entity, + commands: &mut Commands, + server_io: &mut SteamNetDedicatedServer, + request: ConnectionRequest, +) -> Result<()> { + let steam_id = request + .remote() + .steam_id() + .context("remote has no steam ID")?; + let entry = match server_io.clients.entry(steam_id) { + Entry::Occupied(entry) => { + let client = entry.get(); + bail!("steam ID {steam_id:?} is already mapped to client {client}"); + } + Entry::Vacant(entry) => entry, + }; + + let client = commands + .spawn((ChildOf(server), SteamNetServerClient { steam_id })) + .id(); + entry.insert(client); + + commands.trigger(SessionRequest { + entity: client, + steam_id, + request: Some(request), + }); + + Ok(()) +} + +fn on_connected( + commands: &mut Commands, + server_io: &SteamNetDedicatedServer, + event: ConnectedEvent, +) -> Result<()> { + let steam_id = event + .remote() + .steam_id() + .context("remote has no steam ID")?; + let client = *server_io + .clients + .get(&steam_id) + .with_context(|| format!("steam ID {steam_id:?} is not tracked in the client map"))?; + + let conn = event.take_connection(); + let user_data = entity_to_user_data(client); + conn.set_connection_user_data(user_data) + .context("failed to set connection user data")?; + + commands.entity(client).insert(( + SteamNetIo { + conn, + mtu: server_io.mtu, + }, + Session::new(Instant::now(), server_io.mtu), + )); + Ok(()) +} + +fn on_remove_client( + trigger: On, + clients: Query<(&SteamNetServerClient, &ChildOf)>, + mut servers: Query<&mut SteamNetDedicatedServer>, +) -> Result<(), BevyError> { + let entity = trigger.event_target(); + let (client_io, &ChildOf(server)) = clients + .get(entity) + .with_context(|| format!("client {entity} does not have correct components"))?; + let mut server_io = servers.get_mut(server).with_context(|| { + format!("client {entity} is a child of an entity, but that entity is not a server") + })?; + server_io.clients.remove(&client_io.steam_id); + Ok(()) +} diff --git a/crates/aeronet_steam/src/lib.rs b/crates/aeronet_steam/src/lib.rs index 9a4abc90..4515b7a3 100644 --- a/crates/aeronet_steam/src/lib.rs +++ b/crates/aeronet_steam/src/lib.rs @@ -12,6 +12,8 @@ use { pub mod client; #[cfg(feature = "server")] pub mod server; + +pub mod dedicated_server; pub mod session; mod config; @@ -23,3 +25,10 @@ pub use config::SessionConfig; /// resource into the app manually. #[derive(Deref, Clone, DerefMut, Resource)] pub struct SteamworksClient(pub steamworks::Client); + +/// [`steamworks::Server`] used to drive Steam networking socket IO. +/// +/// You must initialize a [`steamworks::Server`] yourself, then insert this +/// resource into the app manually. +#[derive(Deref, Clone, DerefMut, Resource)] +pub struct SteamworksServer(pub steamworks::Server); diff --git a/steam_api64.dll b/steam_api64.dll new file mode 100644 index 0000000000000000000000000000000000000000..9ad453cf6eae264db1b0f2aeded287ebc96afc19 GIT binary patch literal 300392 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 mUM*Aprqn2^p5pBX&wt3_bcqsDh!xKIw2Kf5bj% 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 IeK+|30r?AD+yDRo literal 0 HcmV?d00001 diff --git a/steam_api64.lib b/steam_api64.lib new file mode 100644 index 0000000000000000000000000000000000000000..4a9b0112026e0efe14b6d959655adc10f3166b99 GIT binary patch literal 373858 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
49JK{0%h}>_HM|$v5goosNqu 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 Date: Sat, 21 Mar 2026 12:07:45 -0400 Subject: [PATCH 02/14] got ipv4 adddresses working --- crates/aeronet_steam/examples/steam_client.rs | 7 +++- .../examples/steam_dedicated_server.rs | 24 +++++++++++-- crates/aeronet_steam/src/dedicated_server.rs | 9 ++++- crates/aeronet_steam/src/lib.rs | 36 +++++++++++++++++++ crates/aeronet_steam/src/session.rs | 15 ++++---- 5 files changed, 79 insertions(+), 12 deletions(-) diff --git a/crates/aeronet_steam/examples/steam_client.rs b/crates/aeronet_steam/examples/steam_client.rs index 55b6cb6c..d27d8c1d 100644 --- a/crates/aeronet_steam/examples/steam_client.rs +++ b/crates/aeronet_steam/examples/steam_client.rs @@ -1,6 +1,8 @@ //! Example showing a Steam sockets client which can send and receive UTF-8 //! strings. +use aeronet_steam::SteamworksSockets; + cfg_if::cfg_if! { if #[cfg(target_family = "wasm")] { fn main() { @@ -27,8 +29,11 @@ fn main() -> AppExit { let steam = steamworks::Client::init_app(480).expect("failed to initialize steam"); steam.networking_utils().init_relay_network_access(); + let socket_provider = SteamworksSockets::Client(SteamworksClient(steam.clone())); + App::new() .insert_resource(SteamworksClient(steam)) + .insert_resource(socket_provider) .add_systems(PreUpdate, |steam: Res| { steam.run_callbacks(); }) @@ -98,7 +103,7 @@ fn global_ui( mut target_peer: Local, mut session_id: Local, ) -> Result<(), BevyError> { - const DEFAULT_TARGET: &str = "127.0.0.1:25572"; + const DEFAULT_TARGET: &str = "127.0.0.1:27015"; egui::Window::new("Connect").show(egui.ctx_mut()?, |ui| { let enter_pressed = ui.input(|i| i.key_pressed(egui::Key::Enter)); diff --git a/crates/aeronet_steam/examples/steam_dedicated_server.rs b/crates/aeronet_steam/examples/steam_dedicated_server.rs index d5824fcc..b06ac924 100644 --- a/crates/aeronet_steam/examples/steam_dedicated_server.rs +++ b/crates/aeronet_steam/examples/steam_dedicated_server.rs @@ -1,7 +1,7 @@ //! Example server using Steam which listens for clients sending strings and //! sends back a string reply. -use aeronet_steam::SteamworksClient; +use aeronet_steam::{SteamworksClient, SteamworksSockets}; cfg_if::cfg_if! { if #[cfg(target_family = "wasm")] { @@ -54,14 +54,32 @@ fn main() -> AppExit { server.enable_heartbeats(true); - server_callbacks.networking_utils().init_relay_network_access();; + server_callbacks.networking_utils().init_relay_network_access(); + + let id = server.steam_id(); + println!("steamid = : {:?}", id); + + let steam_server = SteamworksServer(server.clone()); + let socket_provider = SteamworksSockets::Server(steam_server); App::new() .insert_resource(SteamworksServer(server)) .insert_resource(SteamworksClient(server_callbacks)) + .insert_resource(socket_provider) .add_systems(PreUpdate, |steam: Res| { steam.run_callbacks(); }) + // .add_systems(PreUpdate, |steam: Res| { + // let utils = steam.networking_utils(); + // let status = utils.detailed_relay_network_status(); + // println!( + // "status: {:?}, network_config: {:?}, any_relay: {:?}, message: {}", + // status.availability(), + // status.network_config(), + // status.any_relay(), + // status.debugging_message() + // ); + // }) .add_plugins((MinimalPlugins, LogPlugin::default(), SteamNetDedicatedServerPlugin)) .add_systems(Startup, open_server) .add_systems(Update, reply) @@ -76,7 +94,7 @@ fn main() -> AppExit { fn open_server(mut commands: Commands) { let target = match env::args().nth(1).as_deref() { - Some("addr") => ListenTarget::Addr(SocketAddr::new(Ipv4Addr::LOCALHOST.into(), 25572)), + Some("addr") => ListenTarget::Addr(SocketAddr::new(Ipv4Addr::LOCALHOST.into(), 27015)), Some("peer") => ListenTarget::Peer { virtual_port: 0 }, _ => panic!("must specify either `addr` or `peer` argument on command line"), }; diff --git a/crates/aeronet_steam/src/dedicated_server.rs b/crates/aeronet_steam/src/dedicated_server.rs index 4fe373af..5f075444 100644 --- a/crates/aeronet_steam/src/dedicated_server.rs +++ b/crates/aeronet_steam/src/dedicated_server.rs @@ -2,7 +2,9 @@ use { crate::{ - SteamworksClient, SteamworksServer, config::SessionConfig, session::{SessionError, SteamNetIo, SteamNetSessionPlugin, entity_to_user_data} + SteamworksClient, SteamworksServer, + config::SessionConfig, + session::{SessionError, SteamNetIo, SteamNetSessionPlugin, entity_to_user_data}, }, aeronet_io::{ IoSystems, Session, SessionEndpoint, @@ -164,6 +166,11 @@ fn open(mut entity: EntityWorldMut, config: SessionConfig, target: ListenTarget) sockets.create_listen_socket_p2p(virtual_port, config.to_options()) } }; + + match result { + Ok(_) => println!("socket creation ok"), + Err(_) => println!("socket creaction error"), + } _ = tx_next.send(result.map_err(|_| SessionError::Steam)); }) .detach(); diff --git a/crates/aeronet_steam/src/lib.rs b/crates/aeronet_steam/src/lib.rs index 4515b7a3..f4335f2c 100644 --- a/crates/aeronet_steam/src/lib.rs +++ b/crates/aeronet_steam/src/lib.rs @@ -3,6 +3,7 @@ #![cfg(not(target_family = "wasm"))] pub use steamworks; +use steamworks::networking_sockets; use { bevy_ecs::prelude::*, derive_more::{Deref, DerefMut}, @@ -26,9 +27,44 @@ pub use config::SessionConfig; #[derive(Deref, Clone, DerefMut, Resource)] pub struct SteamworksClient(pub steamworks::Client); +impl SocketProvider for SteamworksClient { + fn provide(&self) -> networking_sockets::NetworkingSockets { + return self.networking_sockets(); + } +} + /// [`steamworks::Server`] used to drive Steam networking socket IO. /// /// You must initialize a [`steamworks::Server`] yourself, then insert this /// resource into the app manually. #[derive(Deref, Clone, DerefMut, Resource)] pub struct SteamworksServer(pub steamworks::Server); + +impl SocketProvider for SteamworksServer { + fn provide(&self) -> networking_sockets::NetworkingSockets { + return self.networking_sockets(); + } +} + +/// [`steamworks::Sockets`] used to drive Steam networking socket IO. +/// +/// You must initialize a [`steamworks::Sockets`] yourself, then insert this +/// resource into the app manually. +#[derive(Clone, Resource)] +pub enum SteamworksSockets { + Client(SteamworksClient), + Server(SteamworksServer), +} + +impl SocketProvider for SteamworksSockets { + fn provide(&self) -> networking_sockets::NetworkingSockets { + match self { + SteamworksSockets::Client(steamworks_client) => steamworks_client.networking_sockets(), + SteamworksSockets::Server(steamworks_server) => steamworks_server.networking_sockets(), + } + } +} + +pub trait SocketProvider { + fn provide(&self) -> networking_sockets::NetworkingSockets; +} diff --git a/crates/aeronet_steam/src/session.rs b/crates/aeronet_steam/src/session.rs index 5d3ff4fd..3e8783db 100644 --- a/crates/aeronet_steam/src/session.rs +++ b/crates/aeronet_steam/src/session.rs @@ -2,7 +2,7 @@ //! servers. use { - crate::SteamworksClient, + crate::{SocketProvider, SteamworksSockets}, aeronet_io::{ AeronetIoPlugin, IoSystems, Session, connection::{DisconnectReason, Disconnected, UNKNOWN_DISCONNECT_REASON}, @@ -87,7 +87,7 @@ struct PollGroup(NetPollGroup); fn init_io( trigger: On, - steam: Option>, + steam: Option>, io: Query<&SteamNetIo>, poll_group: Option>, mut commands: Commands, @@ -95,7 +95,7 @@ fn init_io( let steam = steam.unwrap_or_else(|| { panic!( "`{}` must be present before creating a Steam IO layer", - type_name::>() + type_name::>() ) }); @@ -115,12 +115,13 @@ fn init_io( // but this should be fine, I think // https://github.com/cBournhonesque/lightyear/issues/243 + //TODO refactor everthing like this to used stored sockets? or the thing that makes them not the steamclient steam - .networking_sockets() + .provide() .init_authentication() .expect("failed to initialize steamworks authentication"); - let poll_group = steam.networking_sockets().create_poll_group(); + let poll_group = steam.provide().create_poll_group(); io.conn.set_poll_group(&poll_group); commands.insert_resource(PollGroup(poll_group)); } @@ -129,9 +130,9 @@ fn init_io( fn poll_io( mut commands: Commands, sessions: Query<(Entity, &SteamNetIo)>, - steam: Res, + steam: Res, ) { - let sockets = steam.networking_sockets(); + let sockets = steam.provide(); for (entity, io) in &sessions { let Ok(info) = sockets.get_connection_info(&io.conn) else { commands.trigger(Disconnected { From f889600a594503839624065116edb64bfe4d09ab Mon Sep 17 00:00:00 2001 From: ForTehLose Date: Tue, 28 Jul 2026 13:04:36 -0400 Subject: [PATCH 03/14] fixing some small issues --- crates/aeronet_steam/Cargo.toml | 4 +++- crates/aeronet_steam/examples/steam_client.rs | 2 +- crates/aeronet_steam/examples/steam_dedicated_server.rs | 6 +----- crates/aeronet_steam/src/lib.rs | 4 ++-- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/crates/aeronet_steam/Cargo.toml b/crates/aeronet_steam/Cargo.toml index 723c96ed..ccf22739 100644 --- a/crates/aeronet_steam/Cargo.toml +++ b/crates/aeronet_steam/Cargo.toml @@ -26,7 +26,7 @@ required-features = ["server"] [[example]] name = "steam_dedicated_server" path = "examples/steam_dedicated_server.rs" -required-features = [] +required-features = ["dedicated_server"] [dependencies] aeronet_io = { workspace = true } @@ -63,6 +63,8 @@ steamworks = { workspace = true } client = [] ## Enables the `server` module. server = [] +## Enables the `dedicated server` module. +dedicated_server = [] [lints] workspace = true diff --git a/crates/aeronet_steam/examples/steam_client.rs b/crates/aeronet_steam/examples/steam_client.rs index d27d8c1d..448443ea 100644 --- a/crates/aeronet_steam/examples/steam_client.rs +++ b/crates/aeronet_steam/examples/steam_client.rs @@ -103,7 +103,7 @@ fn global_ui( mut target_peer: Local, mut session_id: Local, ) -> Result<(), BevyError> { - const DEFAULT_TARGET: &str = "127.0.0.1:27015"; + const DEFAULT_TARGET: &str = "127.0.0.1:25572"; egui::Window::new("Connect").show(egui.ctx_mut()?, |ui| { let enter_pressed = ui.input(|i| i.key_pressed(egui::Key::Enter)); diff --git a/crates/aeronet_steam/examples/steam_dedicated_server.rs b/crates/aeronet_steam/examples/steam_dedicated_server.rs index b06ac924..fbcaac25 100644 --- a/crates/aeronet_steam/examples/steam_dedicated_server.rs +++ b/crates/aeronet_steam/examples/steam_dedicated_server.rs @@ -28,12 +28,9 @@ use { }; fn main() -> AppExit { - //let steam = steamworks::Client::init_app(480).expect("failed to initialize steam"); - //steam.networking_utils().init_relay_network_access(); let (server, server_callbacks) = steamworks::Server::init( - // [99, 99, 28,138].into(), Ipv4Addr::LOCALHOST, - 27015, + 25572, 27016, steamworks::ServerMode::AuthenticationAndSecure, "1.0.0.0", @@ -48,7 +45,6 @@ fn main() -> AppExit { server.set_server_name("PolymerServer"); server.set_dedicated_server(true); println!("pre logon"); - //server.log_on("445DDEA499AAE956693733CF280629AE"); server.log_on_anonymous(); println!("post log on"); diff --git a/crates/aeronet_steam/src/lib.rs b/crates/aeronet_steam/src/lib.rs index f4335f2c..5bc8049c 100644 --- a/crates/aeronet_steam/src/lib.rs +++ b/crates/aeronet_steam/src/lib.rs @@ -11,10 +11,10 @@ use { #[cfg(feature = "client")] pub mod client; +#[cfg(feature = "dedicated_server")] +pub mod dedicated_server; #[cfg(feature = "server")] pub mod server; - -pub mod dedicated_server; pub mod session; mod config; From 0c8a1b379c18877679d62aa8f28438464191fd85 Mon Sep 17 00:00:00 2001 From: ForTehLose Date: Tue, 28 Jul 2026 13:15:02 -0400 Subject: [PATCH 04/14] more cleaning --- .../examples/steam_dedicated_server.rs | 10 +++++----- steam_api64.dll | Bin 300392 -> 0 bytes steam_api64.lib | Bin 373858 -> 0 bytes steam_appid.txt | 1 - 4 files changed, 5 insertions(+), 6 deletions(-) delete mode 100644 steam_api64.dll delete mode 100644 steam_api64.lib delete mode 100644 steam_appid.txt diff --git a/crates/aeronet_steam/examples/steam_dedicated_server.rs b/crates/aeronet_steam/examples/steam_dedicated_server.rs index fbcaac25..6c2c2154 100644 --- a/crates/aeronet_steam/examples/steam_dedicated_server.rs +++ b/crates/aeronet_steam/examples/steam_dedicated_server.rs @@ -44,16 +44,16 @@ fn main() -> AppExit { server.set_max_players(17); server.set_server_name("PolymerServer"); server.set_dedicated_server(true); - println!("pre logon"); + debug!("pre logon"); server.log_on_anonymous(); - println!("post log on"); + debug!("post log on"); server.enable_heartbeats(true); server_callbacks.networking_utils().init_relay_network_access(); let id = server.steam_id(); - println!("steamid = : {:?}", id); + info!("steamid = : {:?}", id); let steam_server = SteamworksServer(server.clone()); let socket_provider = SteamworksSockets::Server(steam_server); @@ -68,7 +68,7 @@ fn main() -> AppExit { // .add_systems(PreUpdate, |steam: Res| { // let utils = steam.networking_utils(); // let status = utils.detailed_relay_network_status(); - // println!( + // info!( // "status: {:?}, network_config: {:?}, any_relay: {:?}, message: {}", // status.availability(), // status.network_config(), @@ -119,7 +119,7 @@ fn on_session_request(mut request: On, clients: Query<&ChildOf>) return; }; - info!( + debug!( "{client} connecting to {server} with Steam ID {:?}", request.steam_id ); diff --git a/steam_api64.dll b/steam_api64.dll deleted file mode 100644 index 9ad453cf6eae264db1b0f2aeded287ebc96afc19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300392 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 mUM*Aprqn2^p5pBX&wt3_bcqsDh!xKIw2Kf5bj% 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 IeK+|30r?AD+yDRo diff --git a/steam_api64.lib b/steam_api64.lib deleted file mode 100644 index 4a9b0112026e0efe14b6d959655adc10f3166b99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 373858 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
49JK{0%h}>_HM|$v5goosNqu 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 Date: Tue, 28 Jul 2026 13:18:30 -0400 Subject: [PATCH 05/14] more cleaning --- crates/aeronet_steam/src/dedicated_server.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/aeronet_steam/src/dedicated_server.rs b/crates/aeronet_steam/src/dedicated_server.rs index 5f075444..8aca3e96 100644 --- a/crates/aeronet_steam/src/dedicated_server.rs +++ b/crates/aeronet_steam/src/dedicated_server.rs @@ -125,7 +125,7 @@ impl SteamNetDedicatedServer { /// /// ``` /// use { - /// aeronet_steam::{SessionConfig, server::SteamNetServer}, + /// aeronet_steam::{SessionConfig, dedicated_server::SteamNetDedicatedServer}, /// bevy_ecs::prelude::*, /// std::net::SocketAddr, /// }; @@ -137,12 +137,12 @@ impl SteamNetDedicatedServer { /// // using `Commands` /// commands /// .spawn_empty() - /// .queue(SteamNetServer::open(config, target)); + /// .queue(SteamNetDedicatedServer::open(config, target)); /// /// // using mutable `World` access /// # let config = unimplemented!(); /// let server = world.spawn_empty().id(); - /// SteamNetServer::open(config, target).apply(world.entity_mut(server)); + /// SteamNetDedicatedServer::open(config, target).apply(world.entity_mut(server)); /// # } /// ``` #[must_use] @@ -168,8 +168,8 @@ fn open(mut entity: EntityWorldMut, config: SessionConfig, target: ListenTarget) }; match result { - Ok(_) => println!("socket creation ok"), - Err(_) => println!("socket creaction error"), + Ok(_) => info!("socket creation ok"), + Err(_) => info!("socket creaction error"), } _ = tx_next.send(result.map_err(|_| SessionError::Steam)); }) From 0236bfaf6316ebb44a8d2f9ff2c20547a51f6f78 Mon Sep 17 00:00:00 2001 From: ForTehLose Date: Tue, 28 Jul 2026 13:20:20 -0400 Subject: [PATCH 06/14] missed an import --- crates/aeronet_steam/src/dedicated_server.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/aeronet_steam/src/dedicated_server.rs b/crates/aeronet_steam/src/dedicated_server.rs index 8aca3e96..0c165671 100644 --- a/crates/aeronet_steam/src/dedicated_server.rs +++ b/crates/aeronet_steam/src/dedicated_server.rs @@ -29,7 +29,7 @@ use { }, }, sync_wrapper::SyncWrapper, - tracing::{debug, debug_span}, + tracing::{debug, debug_span, info}, }; /// Allows using [`SteamNetServer`]. From 23b37eafb5c65a83d1c08eb932b26a85f740c4ec Mon Sep 17 00:00:00 2001 From: ForTehLose Date: Wed, 5 Aug 2026 13:28:20 -0400 Subject: [PATCH 07/14] removed feature flag --- crates/aeronet_steam/Cargo.toml | 5 ++--- crates/aeronet_steam/src/lib.rs | 1 - 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/crates/aeronet_steam/Cargo.toml b/crates/aeronet_steam/Cargo.toml index ccf22739..fac483ab 100644 --- a/crates/aeronet_steam/Cargo.toml +++ b/crates/aeronet_steam/Cargo.toml @@ -26,7 +26,7 @@ required-features = ["server"] [[example]] name = "steam_dedicated_server" path = "examples/steam_dedicated_server.rs" -required-features = ["dedicated_server"] +required-features = [] [dependencies] aeronet_io = { workspace = true } @@ -63,8 +63,7 @@ steamworks = { workspace = true } client = [] ## Enables the `server` module. server = [] -## Enables the `dedicated server` module. -dedicated_server = [] + [lints] workspace = true diff --git a/crates/aeronet_steam/src/lib.rs b/crates/aeronet_steam/src/lib.rs index 5bc8049c..3e8e7672 100644 --- a/crates/aeronet_steam/src/lib.rs +++ b/crates/aeronet_steam/src/lib.rs @@ -11,7 +11,6 @@ use { #[cfg(feature = "client")] pub mod client; -#[cfg(feature = "dedicated_server")] pub mod dedicated_server; #[cfg(feature = "server")] pub mod server; From 6bf02fcb8c8c8eae531ebda0c8516482b8c5b1c0 Mon Sep 17 00:00:00 2001 From: aecsocket <43144841+aecsocket@users.noreply.github.com> Date: Sun, 16 Aug 2026 17:10:11 +0900 Subject: [PATCH 08/14] Refactor steam networking to use a single `SteamworksSockets` resource Replace the `SocketProvider` trait and `dedicated_server` module with a single `SteamworksSockets` enum used by both clients and servers. - Remove `SocketProvider` trait and its implementations. - Add `SteamworksSockets::networking_sockets()` helper. - Delete the `dedicated_server` module and its example; dedicated-server support is now just `SteamNetServer` backed by `SteamworksSockets::Server`. - Make `client`, `server`, and the shared `session` layer read the `SteamworksSockets` resource. - Update examples to insert the enum alongside `SteamworksClient`. Note: because there is a single `SteamworksSockets` resource, you cannot run a client-socket server and a server-socket server in the same app. --- crates/aeronet_steam/Cargo.toml | 6 - .../examples/steam_dedicated_server.rs | 182 ------- crates/aeronet_steam/examples/steam_server.rs | 5 +- crates/aeronet_steam/src/client.rs | 6 +- crates/aeronet_steam/src/dedicated_server.rs | 477 ------------------ crates/aeronet_steam/src/lib.rs | 42 +- crates/aeronet_steam/src/server.rs | 6 +- crates/aeronet_steam/src/session.rs | 9 +- 8 files changed, 31 insertions(+), 702 deletions(-) delete mode 100644 crates/aeronet_steam/examples/steam_dedicated_server.rs delete mode 100644 crates/aeronet_steam/src/dedicated_server.rs diff --git a/crates/aeronet_steam/Cargo.toml b/crates/aeronet_steam/Cargo.toml index fac483ab..3dc57935 100644 --- a/crates/aeronet_steam/Cargo.toml +++ b/crates/aeronet_steam/Cargo.toml @@ -23,11 +23,6 @@ name = "steam_server" path = "examples/steam_server.rs" required-features = ["server"] -[[example]] -name = "steam_dedicated_server" -path = "examples/steam_dedicated_server.rs" -required-features = [] - [dependencies] aeronet_io = { workspace = true } anyhow = { workspace = true } @@ -64,6 +59,5 @@ client = [] ## Enables the `server` module. server = [] - [lints] workspace = true diff --git a/crates/aeronet_steam/examples/steam_dedicated_server.rs b/crates/aeronet_steam/examples/steam_dedicated_server.rs deleted file mode 100644 index 6c2c2154..00000000 --- a/crates/aeronet_steam/examples/steam_dedicated_server.rs +++ /dev/null @@ -1,182 +0,0 @@ -//! Example server using Steam which listens for clients sending strings and -//! sends back a string reply. - -use aeronet_steam::{SteamworksClient, SteamworksSockets}; - -cfg_if::cfg_if! { - if #[cfg(target_family = "wasm")] { - fn main() { - panic!("not supported on WASM"); - } - } else { - -use { - aeronet_io::{ - Session, SessionEndpoint, - connection::{DisconnectReason, Disconnected, LocalAddr}, - server::{Closed, Server}, - }, - aeronet_steam::{ - SessionConfig,SteamworksServer, - dedicated_server::{ - ListenTarget, SessionRequest, SessionResponse, SteamNetDedicatedServer, SteamNetDedicatedServerPlugin, - }, - }, - bevy::{log::LogPlugin, prelude::*}, - core::net::{Ipv4Addr, SocketAddr}, - std::env, -}; - -fn main() -> AppExit { - let (server, server_callbacks) = steamworks::Server::init( - Ipv4Addr::LOCALHOST, - 25572, - 27016, - steamworks::ServerMode::AuthenticationAndSecure, - "1.0.0.0", - ) - .unwrap(); - - server.set_game_description("Description"); - server.set_mod_dir("spacewar"); - server.set_product("spacewar"); - server.set_map_name("island"); - server.set_max_players(17); - server.set_server_name("PolymerServer"); - server.set_dedicated_server(true); - debug!("pre logon"); - server.log_on_anonymous(); - debug!("post log on"); - - server.enable_heartbeats(true); - - server_callbacks.networking_utils().init_relay_network_access(); - - let id = server.steam_id(); - info!("steamid = : {:?}", id); - - let steam_server = SteamworksServer(server.clone()); - let socket_provider = SteamworksSockets::Server(steam_server); - - App::new() - .insert_resource(SteamworksServer(server)) - .insert_resource(SteamworksClient(server_callbacks)) - .insert_resource(socket_provider) - .add_systems(PreUpdate, |steam: Res| { - steam.run_callbacks(); - }) - // .add_systems(PreUpdate, |steam: Res| { - // let utils = steam.networking_utils(); - // let status = utils.detailed_relay_network_status(); - // info!( - // "status: {:?}, network_config: {:?}, any_relay: {:?}, message: {}", - // status.availability(), - // status.network_config(), - // status.any_relay(), - // status.debugging_message() - // ); - // }) - .add_plugins((MinimalPlugins, LogPlugin::default(), SteamNetDedicatedServerPlugin)) - .add_systems(Startup, open_server) - .add_systems(Update, reply) - .add_observer(on_opened) - .add_observer(on_closed) - .add_observer(on_session_request) - .add_observer(on_connecting) - .add_observer(on_connected) - .add_observer(on_disconnected) - .run() -} - -fn open_server(mut commands: Commands) { - let target = match env::args().nth(1).as_deref() { - Some("addr") => ListenTarget::Addr(SocketAddr::new(Ipv4Addr::LOCALHOST.into(), 27015)), - Some("peer") => ListenTarget::Peer { virtual_port: 0 }, - _ => panic!("must specify either `addr` or `peer` argument on command line"), - }; - - commands - .spawn_empty() - .queue(SteamNetDedicatedServer::open(SessionConfig::default(), target)); -} - -fn on_opened(trigger: On, servers: Query<&LocalAddr>) { - let server = trigger.event_target(); - if let Ok(local_addr) = servers.get(server) { - info!("{server} opened on {:?}", **local_addr); - } else { - info!("{server} opened for peer connections"); - } -} - -fn on_closed(trigger: On) { - panic!("server closed: {:?}", trigger.event()); -} - -fn on_session_request(mut request: On, clients: Query<&ChildOf>) { - let client = request.event_target(); - let Ok(&ChildOf(server)) = clients.get(client) else { - return; - }; - - debug!( - "{client} connecting to {server} with Steam ID {:?}", - request.steam_id - ); - request.respond(SessionResponse::Accepted); -} - -fn on_connecting(trigger: On, clients: Query<&ChildOf>) { - let client = trigger.event_target(); - let Ok(&ChildOf(server)) = clients.get(client) else { - return; - }; - - info!("{client} connecting to {server}"); -} - -fn on_connected(trigger: On, clients: Query<&ChildOf>) { - let client = trigger.event_target(); - let Ok(&ChildOf(server)) = clients.get(client) else { - return; - }; - - info!("{client} connected to {server}"); -} - -fn on_disconnected(trigger: On, clients: Query<&ChildOf>) { - let client = trigger.event_target(); - let Ok(&ChildOf(server)) = clients.get(client) else { - return; - }; - - match &trigger.reason { - DisconnectReason::ByUser(reason) => { - info!("{client} disconnected from {server} by user: {reason}"); - } - DisconnectReason::ByPeer(reason) => { - info!("{client} disconnected from {server} by peer: {reason}"); - } - DisconnectReason::ByError(err) => { - warn!("{client} disconnected from {server} due to error: {err:#}"); - } - } -} - -fn reply(mut clients: Query<(Entity, &mut Session), With>) { - for (client, mut session) in &mut clients { - // explicit deref so we can access disjoint fields - let session = &mut *session; - for packet in session.recv.drain(..) { - let msg = - String::from_utf8(packet.payload.into()).unwrap_or_else(|_| "(not UTF-8)".into()); - info!("{client} > {msg}"); - - let reply = format!("You sent: {msg}"); - info!("{client} < {reply}"); - session.send.push(reply.into()); - } - } -} - -}} diff --git a/crates/aeronet_steam/examples/steam_server.rs b/crates/aeronet_steam/examples/steam_server.rs index 9613b1a3..35cf0ccf 100644 --- a/crates/aeronet_steam/examples/steam_server.rs +++ b/crates/aeronet_steam/examples/steam_server.rs @@ -15,7 +15,7 @@ use { server::{Closed, Server}, }, aeronet_steam::{ - SessionConfig, SteamworksClient, + SessionConfig, SteamworksClient, SteamworksSockets, server::{ ListenTarget, SessionRequest, SessionResponse, SteamNetServer, SteamNetServerPlugin, }, @@ -30,7 +30,8 @@ fn main() -> AppExit { steam.networking_utils().init_relay_network_access(); App::new() - .insert_resource(SteamworksClient(steam)) + .insert_resource(SteamworksClient(steam.clone())) + .insert_resource(SteamworksSockets::Client(SteamworksClient(steam))) .add_systems(PreUpdate, |steam: Res| { steam.run_callbacks(); }) diff --git a/crates/aeronet_steam/src/client.rs b/crates/aeronet_steam/src/client.rs index 3b7c0365..d3205400 100644 --- a/crates/aeronet_steam/src/client.rs +++ b/crates/aeronet_steam/src/client.rs @@ -2,7 +2,7 @@ use { crate::{ - SteamworksClient, + SteamworksSockets, config::SessionConfig, session::{SessionError, SteamNetIo, SteamNetSessionPlugin, entity_to_user_data}, }, @@ -82,7 +82,7 @@ impl SteamNetClient { /// Creates an [`EntityCommand`] to set up a session and connect it to the /// `target`. /// - /// [`SteamworksClient`] must be present in the world before this command is + /// [`SteamworksSockets`] must be present in the world before this command is /// applied. /// /// # Examples @@ -120,7 +120,7 @@ fn connect(mut entity: EntityWorldMut, config: SessionConfig, target: ConnectTar let mtu = config.send_buffer_size; let sockets = entity .world() - .resource::() + .resource::() .networking_sockets(); let (tx_next, rx_next) = oneshot::channel::(); blocking::unblock(move || { diff --git a/crates/aeronet_steam/src/dedicated_server.rs b/crates/aeronet_steam/src/dedicated_server.rs deleted file mode 100644 index 0c165671..00000000 --- a/crates/aeronet_steam/src/dedicated_server.rs +++ /dev/null @@ -1,477 +0,0 @@ -//! See [`SteamNetServer`]. - -use { - crate::{ - SteamworksClient, SteamworksServer, - config::SessionConfig, - session::{SessionError, SteamNetIo, SteamNetSessionPlugin, entity_to_user_data}, - }, - aeronet_io::{ - IoSystems, Session, SessionEndpoint, - connection::LocalAddr, - server::{CloseReason, Closed, Server, ServerEndpoint}, - }, - anyhow::{Context, Result, bail}, - bevy_app::prelude::*, - bevy_ecs::prelude::*, - bevy_platform::{ - collections::{HashMap, hash_map::Entry}, - time::Instant, - }, - core::net::SocketAddr, - derive_more::Debug, - steamworks::{ - SteamId, - networking_sockets::ListenSocket, - networking_types::{ - AppNetConnectionEnd, ConnectedEvent, ConnectionRequest, ListenSocketEvent, - NetConnectionEnd, - }, - }, - sync_wrapper::SyncWrapper, - tracing::{debug, debug_span, info}, -}; - -/// Allows using [`SteamNetServer`]. -/// -/// This does not perform Steam initialization when the plugin is built; -/// instead, it defers initialization to when a [`SteamNetServer`] is added -/// to the world. This allows you to always add this plugin, but choose at -/// runtime whether you want to use Steam or not. -pub struct SteamNetDedicatedServerPlugin; - -impl Plugin for SteamNetDedicatedServerPlugin { - fn build(&self, app: &mut App) { - if !app.is_plugin_added::() { - app.add_plugins(SteamNetSessionPlugin); - } - - app.add_systems( - PreUpdate, - (poll_opening, poll_opened).in_set(IoSystems::Poll), - ) - .add_observer(on_remove_client); - } -} - -/// Steam socket server which allows clients to connect to it via either a -/// socket address or as a Steam peer. -/// -/// Use [`SteamNetServer::open`] to start opening a server. -/// -/// When a client attempts to connect, the server will trigger a -/// [`SessionRequest`]. Your app **must** observe this, and eventually use -/// [`SessionRequest::respond`] to set how the server should respond to this -/// connection attempt. -#[derive(Component)] -#[require(ServerEndpoint)] -pub struct SteamNetDedicatedServer { - mtu: usize, - clients: HashMap, -} - -impl SteamNetDedicatedServer { - /// Gets the [`Entity`] of a [`Session`] for a Steam user, if one exists. - #[must_use] - pub fn client_by_steam_id(&self, steam_id: SteamId) -> Option { - self.clients.get(&steam_id).copied() - } -} - -/// Marks a client connected to a [`SteamNetServer`]. -#[derive(Debug, Component)] -#[require(SessionEndpoint)] -pub struct SteamNetServerClient { - steam_id: SteamId, -} - -impl SteamNetServerClient { - /// Gets the Steam ID of the connecting client. - #[must_use] - pub const fn steam_id(&self) -> SteamId { - self.steam_id - } -} - -/// Where a [`SteamNetServer`] will listen on. -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] -pub enum ListenTarget { - /// Listen on a socket address. - Addr(SocketAddr), - /// Listen on other Steam users in a peer-to-peer configuration. - Peer { - /// Steam-specific application port to listen on. - /// - /// This acts like [`SocketAddr::port`] but specialized for Steam's P2P - /// networking. - virtual_port: i32, - }, -} - -impl From for ListenTarget { - fn from(value: SocketAddr) -> Self { - Self::Addr(value) - } -} - -impl SteamNetDedicatedServer { - /// Creates an [`EntityCommand`] to set up a server and have it start - /// listening for connections. - /// - /// [`SteamworksClient`] must be present in the world before this command is - /// applied. - /// - /// # Examples - /// - /// ``` - /// use { - /// aeronet_steam::{SessionConfig, dedicated_server::SteamNetDedicatedServer}, - /// bevy_ecs::prelude::*, - /// std::net::SocketAddr, - /// }; - /// - /// # fn run(mut commands: Commands, world: &mut World) { - /// let config = SessionConfig::default(); - /// let target = "127.0.0.1:27015".parse::().unwrap(); - /// - /// // using `Commands` - /// commands - /// .spawn_empty() - /// .queue(SteamNetDedicatedServer::open(config, target)); - /// - /// // using mutable `World` access - /// # let config = unimplemented!(); - /// let server = world.spawn_empty().id(); - /// SteamNetDedicatedServer::open(config, target).apply(world.entity_mut(server)); - /// # } - /// ``` - #[must_use] - pub fn open(config: SessionConfig, target: impl Into) -> impl EntityCommand { - let target = target.into(); - move |entity: EntityWorldMut| open(entity, config, target) - } -} - -fn open(mut entity: EntityWorldMut, config: SessionConfig, target: ListenTarget) { - let mtu = config.send_buffer_size; - let sockets = entity - .world() - .resource::() - .networking_sockets(); - let (tx_next, rx_next) = oneshot::channel::(); - blocking::unblock(move || { - let result = match target { - ListenTarget::Addr(addr) => sockets.create_listen_socket_ip(addr, config.to_options()), - ListenTarget::Peer { virtual_port } => { - sockets.create_listen_socket_p2p(virtual_port, config.to_options()) - } - }; - - match result { - Ok(_) => info!("socket creation ok"), - Err(_) => info!("socket creaction error"), - } - _ = tx_next.send(result.map_err(|_| SessionError::Steam)); - }) - .detach(); - - let entity = entity.insert(( - SteamNetDedicatedServer { - mtu, - clients: HashMap::default(), - }, - Opening { - rx_next: SyncWrapper::new(rx_next), - }, - )); - if let ListenTarget::Addr(local_addr) = target { - entity.insert(LocalAddr(local_addr)); - } -} - -/// How should a [`SteamNetServer`] respond to a client wishing to connect to -/// the server? -/// -/// See [`SessionRequest`]. -#[derive(Debug, Clone, PartialEq, Eq)] -pub enum SessionResponse { - /// Allow the client to connect to the server. - Accepted, - /// Reject the client with the given reason. - Rejected { - /// Reason to pass to [`DisconnectReason::ByUser`]. - /// - /// [`DisconnectReason::ByUser`]: aeronet_io::connection::DisconnectReason::ByUser - reason: String, - }, -} - -impl SessionResponse { - /// Creates a [`SessionResponse::Rejected`] from the given reason. - #[must_use] - pub fn rejected(reason: impl Into) -> Self { - Self::Rejected { - reason: reason.into(), - } - } -} - -/// Triggered when a client requests to connect to a [`SteamNetServer`]. -/// -/// Use the fields in this event to decide whether to accept the client's -/// connection or not, and respond accordingly by calling -/// [`SessionRequest::respond`]. -/// -/// At least one of your observers must `respond` to this request, otherwise -/// this request will panic when dropped. -/// -/// You can choose to keep this around for multiple frames until you are ready -/// to send a response, if you need to for example query an external server. -/// -/// # Examples -/// -/// Accept all clients without any extra checks: -/// -/// ``` -/// use { -/// aeronet_steam::server::{SessionRequest, SessionResponse}, -/// bevy_ecs::prelude::*, -/// }; -/// -/// fn on_session_request(mut trigger: On) { -/// let client = trigger.event_target(); -/// trigger.respond(SessionResponse::Accepted); -/// } -/// ``` -/// -/// Check if the client is in the user's friends list before accepting them: -/// -/// ``` -/// use { -/// aeronet_steam::{ -/// SteamworksClient, -/// server::{SessionRequest, SessionResponse}, -/// }, -/// bevy_ecs::prelude::*, -/// steamworks::FriendFlags, -/// }; -/// -/// fn on_session_request(mut request: On, steam: Res) { -/// let friend = steam.friends().get_friend(request.steam_id); -/// if !friend.has_friend(FriendFlags::IMMEDIATE) { -/// request.respond(SessionResponse::rejected("not friend of the host")); -/// return; -/// } -/// -/// request.respond(SessionResponse::Accepted); -/// } -/// ``` -#[derive(Debug, EntityEvent)] -pub struct SessionRequest { - /// [`Session`] client entity requesting to connect. - pub entity: Entity, - /// Steam ID of the client requesting to connect. - pub steam_id: SteamId, - #[debug(skip)] - request: Option, -} - -impl SessionRequest { - /// Determines how the server should respond to this request. - /// - /// # Panics - /// - /// Panics if called more than once. - pub fn respond(&mut self, response: SessionResponse) { - let request = self - .request - .take() - .expect("already responded to this request"); - match response { - SessionResponse::Accepted => { - _ = request.accept(); - } - SessionResponse::Rejected { reason } => { - request.reject( - NetConnectionEnd::App(AppNetConnectionEnd::generic_normal()), - Some(&reason), - ); - } - } - } -} - -impl Drop for SessionRequest { - fn drop(&mut self) { - #[rustfmt::skip] - assert!( - self.request.is_none(), - "dropped a `SessionRequest` without sending a response; you must respond to this \ - request using `SessionRequest::respond`\n - \n - request info: {self:#?}" - ); - } -} - -type OpenResult = Result; - -#[derive(Component)] -struct Opening { - rx_next: SyncWrapper>, -} - -#[derive(Component)] -struct Opened { - socket: SyncWrapper, -} - -fn poll_opening( - mut commands: Commands, - mut servers: Query<(Entity, &mut Opening), With>, -) { - for (server, mut server_io) in &mut servers { - let socket = match server_io.rx_next.get_mut().try_recv() { - Ok(Ok(socket)) => socket, - Ok(Err(err)) => { - commands.trigger(Closed { - entity: server, - reason: CloseReason::by_error(err), - }); - continue; - } - Err(oneshot::TryRecvError::Empty) => continue, - Err(oneshot::TryRecvError::Disconnected) => { - commands.trigger(Closed { - entity: server, - reason: CloseReason::by_error(SessionError::BackendClosed), - }); - continue; - } - }; - - commands.entity(server).remove::().insert(( - Opened { - socket: SyncWrapper::new(socket), - }, - Server::new(Instant::now()), - )); - } -} - -fn poll_opened( - mut commands: Commands, - mut servers: Query<(Entity, &mut Opened, &mut SteamNetDedicatedServer)>, -) { - for (server, mut server_io, mut server_state) in &mut servers { - let span = debug_span!("poll_opened", %server); - let _span = span.enter(); - - while let Some(event) = server_io.socket.get_mut().try_receive_event() { - match event { - ListenSocketEvent::Connecting(request) => { - let remote = request.remote(); - match on_connecting(server, &mut commands, &mut server_state, request) { - Ok(()) => { - debug!("Accepted client connection from {remote:?}"); - } - Err(err) => { - debug!("Failed to accept client connection from {remote:?}: {err:?}"); - } - } - } - ListenSocketEvent::Connected(event) => { - let remote = event.remote(); - match on_connected(&mut commands, &server_state, event) { - Ok(()) => { - debug!("Marked {remote:?} as connected"); - } - Err(err) => { - debug!("Failed to mark {remote:?} as connected: {err:?}"); - } - } - } - ListenSocketEvent::Disconnected(_) => { - // already handled by session logic - } - } - } - } -} - -fn on_connecting( - server: Entity, - commands: &mut Commands, - server_io: &mut SteamNetDedicatedServer, - request: ConnectionRequest, -) -> Result<()> { - let steam_id = request - .remote() - .steam_id() - .context("remote has no steam ID")?; - let entry = match server_io.clients.entry(steam_id) { - Entry::Occupied(entry) => { - let client = entry.get(); - bail!("steam ID {steam_id:?} is already mapped to client {client}"); - } - Entry::Vacant(entry) => entry, - }; - - let client = commands - .spawn((ChildOf(server), SteamNetServerClient { steam_id })) - .id(); - entry.insert(client); - - commands.trigger(SessionRequest { - entity: client, - steam_id, - request: Some(request), - }); - - Ok(()) -} - -fn on_connected( - commands: &mut Commands, - server_io: &SteamNetDedicatedServer, - event: ConnectedEvent, -) -> Result<()> { - let steam_id = event - .remote() - .steam_id() - .context("remote has no steam ID")?; - let client = *server_io - .clients - .get(&steam_id) - .with_context(|| format!("steam ID {steam_id:?} is not tracked in the client map"))?; - - let conn = event.take_connection(); - let user_data = entity_to_user_data(client); - conn.set_connection_user_data(user_data) - .context("failed to set connection user data")?; - - commands.entity(client).insert(( - SteamNetIo { - conn, - mtu: server_io.mtu, - }, - Session::new(Instant::now(), server_io.mtu), - )); - Ok(()) -} - -fn on_remove_client( - trigger: On, - clients: Query<(&SteamNetServerClient, &ChildOf)>, - mut servers: Query<&mut SteamNetDedicatedServer>, -) -> Result<(), BevyError> { - let entity = trigger.event_target(); - let (client_io, &ChildOf(server)) = clients - .get(entity) - .with_context(|| format!("client {entity} does not have correct components"))?; - let mut server_io = servers.get_mut(server).with_context(|| { - format!("client {entity} is a child of an entity, but that entity is not a server") - })?; - server_io.clients.remove(&client_io.steam_id); - Ok(()) -} diff --git a/crates/aeronet_steam/src/lib.rs b/crates/aeronet_steam/src/lib.rs index 3e8e7672..a7455b06 100644 --- a/crates/aeronet_steam/src/lib.rs +++ b/crates/aeronet_steam/src/lib.rs @@ -11,7 +11,6 @@ use { #[cfg(feature = "client")] pub mod client; -pub mod dedicated_server; #[cfg(feature = "server")] pub mod server; pub mod session; @@ -26,12 +25,6 @@ pub use config::SessionConfig; #[derive(Deref, Clone, DerefMut, Resource)] pub struct SteamworksClient(pub steamworks::Client); -impl SocketProvider for SteamworksClient { - fn provide(&self) -> networking_sockets::NetworkingSockets { - return self.networking_sockets(); - } -} - /// [`steamworks::Server`] used to drive Steam networking socket IO. /// /// You must initialize a [`steamworks::Server`] yourself, then insert this @@ -39,31 +32,32 @@ impl SocketProvider for SteamworksClient { #[derive(Deref, Clone, DerefMut, Resource)] pub struct SteamworksServer(pub steamworks::Server); -impl SocketProvider for SteamworksServer { - fn provide(&self) -> networking_sockets::NetworkingSockets { - return self.networking_sockets(); - } -} - -/// [`steamworks::Sockets`] used to drive Steam networking socket IO. +/// [`steamworks::Client`] or [`steamworks::Server`] instance used to drive +/// Steam networking socket IO. /// -/// You must initialize a [`steamworks::Sockets`] yourself, then insert this -/// resource into the app manually. +/// This is used by both clients and servers to obtain the [`NetworkingSockets`] +/// that they drive their IO over. You must initialize the relevant +/// [`steamworks::Client`] or [`steamworks::Server`] yourself, wrap it in this +/// enum, and insert it into the app as a resource. +/// +/// [`NetworkingSockets`]: networking_sockets::NetworkingSockets #[derive(Clone, Resource)] pub enum SteamworksSockets { + /// A [`steamworks::Client`] driving socket IO. Client(SteamworksClient), + /// A [`steamworks::Server`] driving socket IO. Server(SteamworksServer), } -impl SocketProvider for SteamworksSockets { - fn provide(&self) -> networking_sockets::NetworkingSockets { +impl SteamworksSockets { + /// Gets the [`NetworkingSockets`] that this wrapper drives IO over. + /// + /// [`NetworkingSockets`]: networking_sockets::NetworkingSockets + #[must_use] + pub fn networking_sockets(&self) -> networking_sockets::NetworkingSockets { match self { - SteamworksSockets::Client(steamworks_client) => steamworks_client.networking_sockets(), - SteamworksSockets::Server(steamworks_server) => steamworks_server.networking_sockets(), + Self::Client(steamworks_client) => steamworks_client.networking_sockets(), + Self::Server(steamworks_server) => steamworks_server.networking_sockets(), } } } - -pub trait SocketProvider { - fn provide(&self) -> networking_sockets::NetworkingSockets; -} diff --git a/crates/aeronet_steam/src/server.rs b/crates/aeronet_steam/src/server.rs index 8e962ca7..8d9f024a 100644 --- a/crates/aeronet_steam/src/server.rs +++ b/crates/aeronet_steam/src/server.rs @@ -2,7 +2,7 @@ use { crate::{ - SteamworksClient, + SteamworksSockets, config::SessionConfig, session::{SessionError, SteamNetIo, SteamNetSessionPlugin, entity_to_user_data}, }, @@ -118,7 +118,7 @@ impl SteamNetServer { /// Creates an [`EntityCommand`] to set up a server and have it start /// listening for connections. /// - /// [`SteamworksClient`] must be present in the world before this command is + /// [`SteamworksSockets`] must be present in the world before this command is /// applied. /// /// # Examples @@ -156,7 +156,7 @@ fn open(mut entity: EntityWorldMut, config: SessionConfig, target: ListenTarget) let mtu = config.send_buffer_size; let sockets = entity .world() - .resource::() + .resource::() .networking_sockets(); let (tx_next, rx_next) = oneshot::channel::(); blocking::unblock(move || { diff --git a/crates/aeronet_steam/src/session.rs b/crates/aeronet_steam/src/session.rs index 3e8783db..a4a23ff0 100644 --- a/crates/aeronet_steam/src/session.rs +++ b/crates/aeronet_steam/src/session.rs @@ -2,7 +2,7 @@ //! servers. use { - crate::{SocketProvider, SteamworksSockets}, + crate::SteamworksSockets, aeronet_io::{ AeronetIoPlugin, IoSystems, Session, connection::{DisconnectReason, Disconnected, UNKNOWN_DISCONNECT_REASON}, @@ -115,13 +115,12 @@ fn init_io( // but this should be fine, I think // https://github.com/cBournhonesque/lightyear/issues/243 - //TODO refactor everthing like this to used stored sockets? or the thing that makes them not the steamclient steam - .provide() + .networking_sockets() .init_authentication() .expect("failed to initialize steamworks authentication"); - let poll_group = steam.provide().create_poll_group(); + let poll_group = steam.networking_sockets().create_poll_group(); io.conn.set_poll_group(&poll_group); commands.insert_resource(PollGroup(poll_group)); } @@ -132,7 +131,7 @@ fn poll_io( sessions: Query<(Entity, &SteamNetIo)>, steam: Res, ) { - let sockets = steam.provide(); + let sockets = steam.networking_sockets(); for (entity, io) in &sessions { let Ok(info) = sockets.get_connection_info(&io.conn) else { commands.trigger(Disconnected { From 8c56a0821228521482e9a4e41655175b0369e8e8 Mon Sep 17 00:00:00 2001 From: aecsocket <43144841+aecsocket@users.noreply.github.com> Date: Sun, 16 Aug 2026 17:17:19 +0900 Subject: [PATCH 09/14] Add dedicated server example Reintroduce a dedicated game server example, adapted to the consolidated design: `SteamNetServer` backed by `SteamworksSockets::Server` (wrapping a `SteamworksServer`), with callbacks run on the `steamworks::Client` returned by `Steamworks::Server::init`. --- crates/aeronet_steam/Cargo.toml | 5 + .../examples/steam_dedicated_server.rs | 175 ++++++++++++++++++ 2 files changed, 180 insertions(+) create mode 100644 crates/aeronet_steam/examples/steam_dedicated_server.rs diff --git a/crates/aeronet_steam/Cargo.toml b/crates/aeronet_steam/Cargo.toml index 3dc57935..74805c92 100644 --- a/crates/aeronet_steam/Cargo.toml +++ b/crates/aeronet_steam/Cargo.toml @@ -23,6 +23,11 @@ name = "steam_server" path = "examples/steam_server.rs" required-features = ["server"] +[[example]] +name = "steam_dedicated_server" +path = "examples/steam_dedicated_server.rs" +required-features = ["server"] + [dependencies] aeronet_io = { workspace = true } anyhow = { workspace = true } diff --git a/crates/aeronet_steam/examples/steam_dedicated_server.rs b/crates/aeronet_steam/examples/steam_dedicated_server.rs new file mode 100644 index 00000000..dcec37e1 --- /dev/null +++ b/crates/aeronet_steam/examples/steam_dedicated_server.rs @@ -0,0 +1,175 @@ +//! Example dedicated server using Steam, which listens for clients sending +//! strings and sends back a string reply. +//! +//! Unlike [`steam_server`], this example logs on to Steam as a dedicated game +//! server, so it must be run with a Steam app ID that is configured for +//! dedicated server hosting (see `steam_appid.txt`). +//! +//! The IO layer is identical to the regular server: the only difference is +//! that the [`SteamworksSockets`] resource wraps a [`SteamworksServer`] +//! instead of a [`SteamworksClient`]. +//! +//! [`steam_server`]: ./steam_server.rs + +cfg_if::cfg_if! { + if #[cfg(target_family = "wasm")] { + fn main() { + panic!("not supported on WASM"); + } + } else { + +use { + aeronet_io::{ + Session, SessionEndpoint, + connection::{DisconnectReason, Disconnected, LocalAddr}, + server::{Closed, Server}, + }, + aeronet_steam::{ + SessionConfig, SteamworksClient, SteamworksServer, SteamworksSockets, + server::{ + ListenTarget, SessionRequest, SessionResponse, SteamNetServer, SteamNetServerPlugin, + }, + }, + bevy::{log::LogPlugin, prelude::*}, + core::net::{Ipv4Addr, SocketAddr}, + std::env, +}; + +fn main() -> AppExit { + let (server, server_callbacks) = steamworks::Server::init( + Ipv4Addr::LOCALHOST, + 25572, + 27016, + steamworks::ServerMode::AuthenticationAndSecure, + "1.0.0.0", + ) + .expect("failed to initialize dedicated server"); + + server.set_game_description("Description"); + server.set_mod_dir("spacewar"); + server.set_product("spacewar"); + server.set_map_name("island"); + server.set_max_players(17); + server.set_server_name("Aeronet server"); + server.set_dedicated_server(true); + server.log_on_anonymous(); + server.enable_heartbeats(true); + + server_callbacks.networking_utils().init_relay_network_access(); + + let steam_id = server.steam_id(); + info!("dedicated server steam ID: {steam_id:?}"); + + // The callbacks are run on the `steamworks::Client` returned by + // `Server::init`, so we insert that for the callback pump, and a + // `SteamworksSockets::Server` for the IO layer to read the sockets from. + App::new() + .insert_resource(SteamworksClient(server_callbacks)) + .insert_resource(SteamworksSockets::Server(SteamworksServer(server))) + .add_systems(PreUpdate, |callbacks: Res| { + callbacks.run_callbacks(); + }) + .add_plugins((MinimalPlugins, LogPlugin::default(), SteamNetServerPlugin)) + .add_systems(Startup, open_server) + .add_systems(Update, reply) + .add_observer(on_opened) + .add_observer(on_closed) + .add_observer(on_session_request) + .add_observer(on_connecting) + .add_observer(on_connected) + .add_observer(on_disconnected) + .run() +} + +fn open_server(mut commands: Commands) { + let target = match env::args().nth(1).as_deref() { + Some("addr") => ListenTarget::Addr(SocketAddr::new(Ipv4Addr::LOCALHOST.into(), 27015)), + Some("peer") => ListenTarget::Peer { virtual_port: 0 }, + _ => panic!("must specify either `addr` or `peer` argument on command line"), + }; + + commands + .spawn_empty() + .queue(SteamNetServer::open(SessionConfig::default(), target)); +} + +fn on_opened(trigger: On, servers: Query<&LocalAddr>) { + let server = trigger.event_target(); + if let Ok(local_addr) = servers.get(server) { + info!("{server} opened on {:?}", **local_addr); + } else { + info!("{server} opened for peer connections"); + } +} + +fn on_closed(trigger: On) { + panic!("server closed: {:?}", trigger.event()); +} + +fn on_session_request(mut request: On, clients: Query<&ChildOf>) { + let client = request.event_target(); + let Ok(&ChildOf(server)) = clients.get(client) else { + return; + }; + + info!( + "{client} connecting to {server} with Steam ID {:?}", + request.steam_id + ); + request.respond(SessionResponse::Accepted); +} + +fn on_connecting(trigger: On, clients: Query<&ChildOf>) { + let client = trigger.event_target(); + let Ok(&ChildOf(server)) = clients.get(client) else { + return; + }; + + info!("{client} connecting to {server}"); +} + +fn on_connected(trigger: On, clients: Query<&ChildOf>) { + let client = trigger.event_target(); + let Ok(&ChildOf(server)) = clients.get(client) else { + return; + }; + + info!("{client} connected to {server}"); +} + +fn on_disconnected(trigger: On, clients: Query<&ChildOf>) { + let client = trigger.event_target(); + let Ok(&ChildOf(server)) = clients.get(client) else { + return; + }; + + match &trigger.reason { + DisconnectReason::ByUser(reason) => { + info!("{client} disconnected from {server} by user: {reason}"); + } + DisconnectReason::ByPeer(reason) => { + info!("{client} disconnected from {server} by peer: {reason}"); + } + DisconnectReason::ByError(err) => { + warn!("{client} disconnected from {server} due to error: {err:#}"); + } + } +} + +fn reply(mut clients: Query<(Entity, &mut Session), With>) { + for (client, mut session) in &mut clients { + // explicit deref so we can access disjoint fields + let session = &mut *session; + for packet in session.recv.drain(..) { + let msg = + String::from_utf8(packet.payload.into()).unwrap_or_else(|_| "(not UTF-8)".into()); + info!("{client} > {msg}"); + + let reply = format!("You sent: {msg}"); + info!("{client} < {reply}"); + session.send.push(reply.into()); + } + } +} + +}} \ No newline at end of file From 2b2ba15c9fd423e527269843ceaa89d8ea4c9f5c Mon Sep 17 00:00:00 2001 From: aecsocket <43144841+aecsocket@users.noreply.github.com> Date: Sun, 16 Aug 2026 17:23:03 +0900 Subject: [PATCH 10/14] Remove `SteamworksClient`/`SteamworksServer` wrappers Have `SteamworksSockets` wrap `steamworks::Client`/`steamworks::Server` directly instead of via the `SteamworksClient`/`SteamworksServer` resource wrappers. - Delete the `SteamworksClient`/`SteamworksServer` structs. - Add `SteamworksSockets::run_callbacks()`, so the enum is now the single resource users insert for both the IO layer and running Steam callbacks. - Update examples to insert only `SteamworksSockets`. --- AGENTS.md | 2 +- README.md | 2 +- crates/aeronet_steam/examples/steam_client.rs | 9 ++-- .../examples/steam_dedicated_server.rs | 24 +++++----- crates/aeronet_steam/examples/steam_server.rs | 7 ++- crates/aeronet_steam/src/lib.rs | 44 +++++++++---------- crates/aeronet_steam/src/server.rs | 5 ++- 7 files changed, 43 insertions(+), 50 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 20a5b198..d5331525 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,7 +2,7 @@ See `README.md` for an overview of this Rust crate. # Checking -When checking code, use `cargo clippy --workspace --all-features --all-targets` instead of `cargo check`. +Use `just prepare` to apply any automatic fixes like typos, formatting. Use `just check` to run the same checks as CI. Always use `cargo clippy` instead of `cargo check`. # Updating diff --git a/README.md b/README.md index 890613af..bd4daf42 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ cargo run --example iroh_peer -- --remote ENDPOINT Uses Steam's [networking sockets](https://partner.steamgames.com/doc/api/ISteamnetworkingSockets) -You will need Steam running locally on your machine to be able to run the examples. If you want to test out peer-to-peer connections (not socket address connections), you will need to run two separate Steam clients using two separate Steam accounts - see *Development Environment* for an easy way to achieve this. +You will need Steam running locally on your machine to be able to run the examples. If you want to test out peer-to-peer connections (not socket address connections), you will need to run two separate Steam clients using two separate Steam accounts - see *Development Environment* for an easy way to achieve this. ```sh # run a server which listens on a socket address diff --git a/crates/aeronet_steam/examples/steam_client.rs b/crates/aeronet_steam/examples/steam_client.rs index 448443ea..b1b701f4 100644 --- a/crates/aeronet_steam/examples/steam_client.rs +++ b/crates/aeronet_steam/examples/steam_client.rs @@ -16,7 +16,7 @@ use { connection::{Disconnect, DisconnectReason, Disconnected}, }, aeronet_steam::{ - SessionConfig, SteamworksClient, + SessionConfig, client::{SteamNetClient, SteamNetClientPlugin}, }, bevy::prelude::*, @@ -29,12 +29,9 @@ fn main() -> AppExit { let steam = steamworks::Client::init_app(480).expect("failed to initialize steam"); steam.networking_utils().init_relay_network_access(); - let socket_provider = SteamworksSockets::Client(SteamworksClient(steam.clone())); - App::new() - .insert_resource(SteamworksClient(steam)) - .insert_resource(socket_provider) - .add_systems(PreUpdate, |steam: Res| { + .insert_resource(SteamworksSockets::Client(steam)) + .add_systems(PreUpdate, |steam: Res| { steam.run_callbacks(); }) .add_plugins((DefaultPlugins, EguiPlugin::default(), SteamNetClientPlugin)) diff --git a/crates/aeronet_steam/examples/steam_dedicated_server.rs b/crates/aeronet_steam/examples/steam_dedicated_server.rs index dcec37e1..a3ddee30 100644 --- a/crates/aeronet_steam/examples/steam_dedicated_server.rs +++ b/crates/aeronet_steam/examples/steam_dedicated_server.rs @@ -6,8 +6,8 @@ //! dedicated server hosting (see `steam_appid.txt`). //! //! The IO layer is identical to the regular server: the only difference is -//! that the [`SteamworksSockets`] resource wraps a [`SteamworksServer`] -//! instead of a [`SteamworksClient`]. +//! that the [`SteamworksSockets`] resource wraps a [`steamworks::Server`] +//! instead of a [`steamworks::Client`]. //! //! [`steam_server`]: ./steam_server.rs @@ -25,7 +25,7 @@ use { server::{Closed, Server}, }, aeronet_steam::{ - SessionConfig, SteamworksClient, SteamworksServer, SteamworksSockets, + SessionConfig, SteamworksSockets, server::{ ListenTarget, SessionRequest, SessionResponse, SteamNetServer, SteamNetServerPlugin, }, @@ -49,7 +49,7 @@ fn main() -> AppExit { server.set_mod_dir("spacewar"); server.set_product("spacewar"); server.set_map_name("island"); - server.set_max_players(17); + server.set_max_players(16); server.set_server_name("Aeronet server"); server.set_dedicated_server(true); server.log_on_anonymous(); @@ -60,14 +60,14 @@ fn main() -> AppExit { let steam_id = server.steam_id(); info!("dedicated server steam ID: {steam_id:?}"); - // The callbacks are run on the `steamworks::Client` returned by - // `Server::init`, so we insert that for the callback pump, and a - // `SteamworksSockets::Server` for the IO layer to read the sockets from. + // Note: `Server::init` also returns a `steamworks::Client` that shares the + // same underlying handle, so running callbacks on the `Server` covers the + // same callback pump. We only need to insert the `SteamworksSockets` + // resource, which handles both the IO layer and running callbacks. App::new() - .insert_resource(SteamworksClient(server_callbacks)) - .insert_resource(SteamworksSockets::Server(SteamworksServer(server))) - .add_systems(PreUpdate, |callbacks: Res| { - callbacks.run_callbacks(); + .insert_resource(SteamworksSockets::Server(server)) + .add_systems(PreUpdate, |steam: Res| { + steam.run_callbacks(); }) .add_plugins((MinimalPlugins, LogPlugin::default(), SteamNetServerPlugin)) .add_systems(Startup, open_server) @@ -172,4 +172,4 @@ fn reply(mut clients: Query<(Entity, &mut Session), With>) { } } -}} \ No newline at end of file +}} diff --git a/crates/aeronet_steam/examples/steam_server.rs b/crates/aeronet_steam/examples/steam_server.rs index 35cf0ccf..2267d967 100644 --- a/crates/aeronet_steam/examples/steam_server.rs +++ b/crates/aeronet_steam/examples/steam_server.rs @@ -15,7 +15,7 @@ use { server::{Closed, Server}, }, aeronet_steam::{ - SessionConfig, SteamworksClient, SteamworksSockets, + SessionConfig, SteamworksSockets, server::{ ListenTarget, SessionRequest, SessionResponse, SteamNetServer, SteamNetServerPlugin, }, @@ -30,9 +30,8 @@ fn main() -> AppExit { steam.networking_utils().init_relay_network_access(); App::new() - .insert_resource(SteamworksClient(steam.clone())) - .insert_resource(SteamworksSockets::Client(SteamworksClient(steam))) - .add_systems(PreUpdate, |steam: Res| { + .insert_resource(SteamworksSockets::Client(steam)) + .add_systems(PreUpdate, |steam: Res| { steam.run_callbacks(); }) .add_plugins((MinimalPlugins, LogPlugin::default(), SteamNetServerPlugin)) diff --git a/crates/aeronet_steam/src/lib.rs b/crates/aeronet_steam/src/lib.rs index a7455b06..a28065ec 100644 --- a/crates/aeronet_steam/src/lib.rs +++ b/crates/aeronet_steam/src/lib.rs @@ -3,11 +3,7 @@ #![cfg(not(target_family = "wasm"))] pub use steamworks; -use steamworks::networking_sockets; -use { - bevy_ecs::prelude::*, - derive_more::{Deref, DerefMut}, -}; +use {bevy_ecs::prelude::*, steamworks::networking_sockets}; #[cfg(feature = "client")] pub mod client; @@ -18,35 +14,21 @@ pub mod session; mod config; pub use config::SessionConfig; -/// [`steamworks::Client`] used to drive Steam networking socket IO. -/// -/// You must initialize a [`steamworks::Client`] yourself, then insert this -/// resource into the app manually. -#[derive(Deref, Clone, DerefMut, Resource)] -pub struct SteamworksClient(pub steamworks::Client); - -/// [`steamworks::Server`] used to drive Steam networking socket IO. -/// -/// You must initialize a [`steamworks::Server`] yourself, then insert this -/// resource into the app manually. -#[derive(Deref, Clone, DerefMut, Resource)] -pub struct SteamworksServer(pub steamworks::Server); - /// [`steamworks::Client`] or [`steamworks::Server`] instance used to drive /// Steam networking socket IO. /// /// This is used by both clients and servers to obtain the [`NetworkingSockets`] -/// that they drive their IO over. You must initialize the relevant -/// [`steamworks::Client`] or [`steamworks::Server`] yourself, wrap it in this -/// enum, and insert it into the app as a resource. +/// that they drive their IO over, and to run Steam callbacks. You must +/// initialize the relevant [`steamworks::Client`] or [`steamworks::Server`] +/// yourself, wrap it in this enum, and insert it into the app as a resource. /// /// [`NetworkingSockets`]: networking_sockets::NetworkingSockets #[derive(Clone, Resource)] pub enum SteamworksSockets { /// A [`steamworks::Client`] driving socket IO. - Client(SteamworksClient), + Client(steamworks::Client), /// A [`steamworks::Server`] driving socket IO. - Server(SteamworksServer), + Server(steamworks::Server), } impl SteamworksSockets { @@ -60,4 +42,18 @@ impl SteamworksSockets { Self::Server(steamworks_server) => steamworks_server.networking_sockets(), } } + + /// Runs any currently pending Steam callbacks. + /// + /// This should be called frequently (e.g. once per frame) so that Steam + /// networking events are delivered to the IO layer. + /// + /// See [`steamworks::Client::run_callbacks`] and + /// [`steamworks::Server::run_callbacks`]. + pub fn run_callbacks(&self) { + match self { + Self::Client(steamworks_client) => steamworks_client.run_callbacks(), + Self::Server(steamworks_server) => steamworks_server.run_callbacks(), + } + } } diff --git a/crates/aeronet_steam/src/server.rs b/crates/aeronet_steam/src/server.rs index 8d9f024a..e396c6f5 100644 --- a/crates/aeronet_steam/src/server.rs +++ b/crates/aeronet_steam/src/server.rs @@ -245,14 +245,15 @@ impl SessionResponse { /// ``` /// use { /// aeronet_steam::{ -/// SteamworksClient, +/// SteamworksSockets, /// server::{SessionRequest, SessionResponse}, /// }, /// bevy_ecs::prelude::*, /// steamworks::FriendFlags, /// }; /// -/// fn on_session_request(mut request: On, steam: Res) { +/// fn on_session_request(mut request: On, sockets: Res) { +/// let SteamworksSockets::Client(steam) = sockets.as_ref() else { return; }; /// let friend = steam.friends().get_friend(request.steam_id); /// if !friend.has_friend(FriendFlags::IMMEDIATE) { /// request.respond(SessionResponse::rejected("not friend of the host")); From e197539cc86474aadc369e9699616fce29a335cd Mon Sep 17 00:00:00 2001 From: aecsocket <43144841+aecsocket@users.noreply.github.com> Date: Sun, 16 Aug 2026 17:48:52 +0900 Subject: [PATCH 11/14] set appid --- .../examples/steam_dedicated_server.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/crates/aeronet_steam/examples/steam_dedicated_server.rs b/crates/aeronet_steam/examples/steam_dedicated_server.rs index a3ddee30..96276f70 100644 --- a/crates/aeronet_steam/examples/steam_dedicated_server.rs +++ b/crates/aeronet_steam/examples/steam_dedicated_server.rs @@ -3,7 +3,10 @@ //! //! Unlike [`steam_server`], this example logs on to Steam as a dedicated game //! server, so it must be run with a Steam app ID that is configured for -//! dedicated server hosting (see `steam_appid.txt`). +//! dedicated server hosting. The app ID is provided programmatically below by +//! setting the `SteamAppId`/`SteamGameId` env vars (the same trick +//! [`steamworks::Client::init_app`] uses) instead of relying on a +//! `steam_appid.txt` file. //! //! The IO layer is identical to the regular server: the only difference is //! that the [`SteamworksSockets`] resource wraps a [`steamworks::Server`] @@ -36,6 +39,17 @@ use { }; fn main() -> AppExit { + // `steamworks::Server::init` has no `init_app` helper, but it determines the + // app ID from the `SteamAppId`/`SteamGameId` env vars, falling back to a + // `steam_appid.txt` in the working dir only if both are unset. Set them here + // (Spacewar, 480) so the example works without any `steam_appid.txt` file. + // SAFETY: single-threaded before process startup; setting these env vars + // mirrors exactly what `steamworks::Client::init_app` does. + unsafe { + std::env::set_var("SteamAppId", "480"); + std::env::set_var("SteamGameId", "480"); + } + let (server, server_callbacks) = steamworks::Server::init( Ipv4Addr::LOCALHOST, 25572, From 1c261024793e638eacfdeb07e8e1dbcd0981ba6e Mon Sep 17 00:00:00 2001 From: aecsocket <43144841+aecsocket@users.noreply.github.com> Date: Sun, 16 Aug 2026 17:56:27 +0900 Subject: [PATCH 12/14] update --- Cargo.toml | 51 ++++++------------------------ crates/aeronet/docs/changelog.md | 1 + crates/aeronet_steam/src/client.rs | 4 +-- crates/aeronet_steam/src/server.rs | 8 +++-- examples/Cargo.toml | 5 +-- justfile | 2 +- 6 files changed, 19 insertions(+), 52 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 7bde3214..1108d07e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,40 +11,14 @@ keywords = ["bevy", "gamedev", "network"] categories = ["game-development", "network-programming"] [workspace.dependencies] -aeronet = { - path = "crates/aeronet", - version = "0.21.0", - default-features = false -} +aeronet = { path = "crates/aeronet", version = "0.21.0", default-features = false } aeronet_channel = { path = "crates/aeronet_channel", version = "0.21.0" } -aeronet_io = { - path = "crates/aeronet_io", - version = "0.21.0", - default-features = false -} -aeronet_replicon = { - path = "crates/aeronet_replicon", - version = "0.21.0", - default-features = false -} -aeronet_tokio_runtime = { - path = "crates/aeronet_tokio_runtime", - version = "0.21.0" -} -aeronet_transport = { - path = "crates/aeronet_transport", - version = "0.21.0", - default-features = false -} -aeronet_websocket = { - path = "crates/aeronet_websocket", - version = "0.21.0", - default-features = false -} -aeronet_webtransport = { - path = "crates/aeronet_webtransport", - version = "0.21.0" -} +aeronet_io = { path = "crates/aeronet_io", version = "0.21.0", default-features = false } +aeronet_replicon = { path = "crates/aeronet_replicon", version = "0.21.0", default-features = false } +aeronet_tokio_runtime = { path = "crates/aeronet_tokio_runtime", version = "0.21.0" } +aeronet_transport = { path = "crates/aeronet_transport", version = "0.21.0", default-features = false } +aeronet_websocket = { path = "crates/aeronet_websocket", version = "0.21.0", default-features = false } +aeronet_webtransport = { path = "crates/aeronet_webtransport", version = "0.21.0" } anyhow = { version = "1.0.97", default-features = false } arbitrary = { version = "1.3.2", features = ["derive"] } base64 = { version = "0.22.1" } @@ -78,11 +52,7 @@ octs = { version = "1.0.0", default-features = false } oneshot = { version = "0.1.11" } rcgen = { version = "0.13.1" } ringbuf = { version = "0.4.8", default-features = false } -rustls = { - version = "0.23.23", - default-features = false, - features = ["logging", "std", "tls12"] -} +rustls = { version = "0.23.23", default-features = false, features = ["logging", "std", "tls12"] } rustls-native-certs = { version = "0.8.0" } serde = { version = "1.0.219", features = ["derive"] } size_format = { version = "1.0.2" } @@ -120,7 +90,4 @@ unwrap_used = "warn" [workspace.lints.rust] missing_docs = "warn" -unexpected_cfgs = { - level = "warn", - check-cfg = ["cfg(fuzzing)", "cfg(docsrs_aeronet)"] -} +unexpected_cfgs = { level = "warn", check-cfg = ["cfg(fuzzing)", "cfg(docsrs_aeronet)"] } diff --git a/crates/aeronet/docs/changelog.md b/crates/aeronet/docs/changelog.md index cee06062..e449fa6b 100644 --- a/crates/aeronet/docs/changelog.md +++ b/crates/aeronet/docs/changelog.md @@ -6,6 +6,7 @@ Version changelog. - Changed `SessionRequest` to be an entity event triggered on the server when it receives a new session request, instead of a global event (requiring a global observer) - Made `aeronet_websocket`'s rustls crypto provider selectable while keeping AWS-LC enabled by default - `aeronet_websocket` no longer installs a crypto provider when its plugins are added; applications must install their selected provider themselves when both `ring` and `aws-lc-rs` are enabled (or when the default `aws-lc-rs` feature is disabled), otherwise TLS configuration will panic +- Allow using dedicated Steam server sockets for `aeronet_steam` # 0.21.0 diff --git a/crates/aeronet_steam/src/client.rs b/crates/aeronet_steam/src/client.rs index d3205400..b93582ad 100644 --- a/crates/aeronet_steam/src/client.rs +++ b/crates/aeronet_steam/src/client.rs @@ -82,8 +82,8 @@ impl SteamNetClient { /// Creates an [`EntityCommand`] to set up a session and connect it to the /// `target`. /// - /// [`SteamworksSockets`] must be present in the world before this command is - /// applied. + /// [`SteamworksSockets`] must be present in the world before this command + /// is applied. /// /// # Examples /// diff --git a/crates/aeronet_steam/src/server.rs b/crates/aeronet_steam/src/server.rs index e396c6f5..dc0ebb48 100644 --- a/crates/aeronet_steam/src/server.rs +++ b/crates/aeronet_steam/src/server.rs @@ -118,8 +118,8 @@ impl SteamNetServer { /// Creates an [`EntityCommand`] to set up a server and have it start /// listening for connections. /// - /// [`SteamworksSockets`] must be present in the world before this command is - /// applied. + /// [`SteamworksSockets`] must be present in the world before this command + /// is applied. /// /// # Examples /// @@ -253,7 +253,9 @@ impl SessionResponse { /// }; /// /// fn on_session_request(mut request: On, sockets: Res) { -/// let SteamworksSockets::Client(steam) = sockets.as_ref() else { return; }; +/// let SteamworksSockets::Client(steam) = sockets.as_ref() else { +/// return; +/// }; /// let friend = steam.friends().get_friend(request.steam_id); /// if !friend.has_friend(FriendFlags::IMMEDIATE) { /// request.respond(SessionResponse::rejected("not friend of the host")); diff --git a/examples/Cargo.toml b/examples/Cargo.toml index d597d359..61c39db8 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -11,10 +11,7 @@ publish = false [dependencies] aeronet = { workspace = true, features = ["visualizer"] } aeronet_replicon = { workspace = true, features = ["client", "server"] } -aeronet_websocket = { - workspace = true, - features = ["client", "self-signed", "server"] -} +aeronet_websocket = { workspace = true, features = ["client", "self-signed", "server"] } aeronet_webtransport = { workspace = true, features = [ diff --git a/justfile b/justfile index cdd10ebc..6f173ae6 100644 --- a/justfile +++ b/justfile @@ -31,4 +31,4 @@ prepare: tombi fmt cargo +nightly fmt cargo shear --fix - cargo clippy --fix + cargo clippy --fix --allow-dirty From bf28d9c9951de02778b938f5bbe9a552f2241df3 Mon Sep 17 00:00:00 2001 From: aecsocket <43144841+aecsocket@users.noreply.github.com> Date: Sun, 16 Aug 2026 18:12:02 +0900 Subject: [PATCH 13/14] fix wasm compile --- crates/aeronet_steam/examples/steam_client.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/crates/aeronet_steam/examples/steam_client.rs b/crates/aeronet_steam/examples/steam_client.rs index b1b701f4..c379238a 100644 --- a/crates/aeronet_steam/examples/steam_client.rs +++ b/crates/aeronet_steam/examples/steam_client.rs @@ -1,8 +1,6 @@ //! Example showing a Steam sockets client which can send and receive UTF-8 //! strings. -use aeronet_steam::SteamworksSockets; - cfg_if::cfg_if! { if #[cfg(target_family = "wasm")] { fn main() { @@ -16,7 +14,7 @@ use { connection::{Disconnect, DisconnectReason, Disconnected}, }, aeronet_steam::{ - SessionConfig, + SessionConfig, SteamworksSockets, client::{SteamNetClient, SteamNetClientPlugin}, }, bevy::prelude::*, From 7fb0a4242746fb23fe846d183d918dd44403e4bd Mon Sep 17 00:00:00 2001 From: aecsocket <43144841+aecsocket@users.noreply.github.com> Date: Sun, 16 Aug 2026 18:26:14 +0900 Subject: [PATCH 14/14] update tombi --- .github/workflows/all.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/all.yml b/.github/workflows/all.yml index 48047b96..c8a5c0bf 100644 --- a/.github/workflows/all.yml +++ b/.github/workflows/all.yml @@ -15,8 +15,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - - uses: tombi-toml/setup-tombi@9fdb1f12707aafdc140839c60421336d4ae157ea + - uses: tombi-toml/setup-tombi@23af0f0e4fcad609f048a37fb312714cd6b07741 with: - version: 1.2.6 + version: 1.4.0 - run: tombi lint - run: tombi fmt --check