From dfde0247a489aac9d8ee5066da351244f1c248cb Mon Sep 17 00:00:00 2001 From: "NG (Graham)" Date: Mon, 21 Jul 2025 23:01:56 -0400 Subject: [PATCH] Fix player input change serdes, implement explicit disconnect #30 --- rc_multiplayer/src/events/mod.rs | 4 ++-- rc_multiplayer/src/matches/generic.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rc_multiplayer/src/events/mod.rs b/rc_multiplayer/src/events/mod.rs index a361fea..6989739 100644 --- a/rc_multiplayer/src/events/mod.rs +++ b/rc_multiplayer/src/events/mod.rs @@ -23,7 +23,7 @@ pub async fn handler(init_ctx: &crate::InitConfig) -> crate::handler::LnlEventHa {rlnl::event_code::NetworkEvent::OnPlayerInputChanged as i16}, {rlnl::event_code::NetworkEvent::OnServerReceivedInputChange as i16}, {literustlib::packet::Property::Unreliable as u8}, - rlnl::events::ingame::MultiPlayerInputChanged, + rlnl::events::ingame::PlayerIdAndInputData, >::handler(init_ctx)) .add(crate::handlers::DatalessBroadcaster::< true, @@ -166,7 +166,7 @@ pub fn log_lnl_send_failure(result: std::io::Result) { mod _broadcast_impls { use crate::Broadcastable; - impl Broadcastable for rlnl::events::ingame::MultiPlayerInputChanged {} + impl Broadcastable for rlnl::events::ingame::PlayerIdAndInputData {} impl Broadcastable for rlnl::events::ingame::WeaponFireEffect {} impl Broadcastable for rlnl::events::ingame::FireMiss {} impl Broadcastable for rlnl::events::ingame::MultipleFireMisses {} diff --git a/rc_multiplayer/src/matches/generic.rs b/rc_multiplayer/src/matches/generic.rs index e830602..2e271f6 100644 --- a/rc_multiplayer/src/matches/generic.rs +++ b/rc_multiplayer/src/matches/generic.rs @@ -268,7 +268,7 @@ impl GenericGamemodeEngine { } is_engaged = has_active_connections; } - conn.connection.connection.disconnect(); + conn.connection.connection.goodbye(&conn.connection.sender).await; } }