Repository navigation
core v0.3.0
Kick and kick-and-ban (new features, so a minor release). No breaking changes: game repos update without code
changes; everything new in the interfaces is additive. The wire protocol changes (kProtocolVersion 6), so players
need the same build anyway.
- Session: host-only
Kick(id, reason)andKickAndBan(id, reason). The kicked guest gets a reliable Kicked
message (0x0C) with the reason and is dropped after the same 1 s linger as a Reject; itsonDisconnectedgets
"You were kicked by the host[: reason]" (WasKicked()/WasBanned()), the other guests get PeerLeft "kicked by
the host". Guests cannot kick (the API refuses, a Kicked sent to the host is ignored). - Ban list for the hosted session (
BanList(),Unban(index),ClearBans()), keyed by the peer's address (UDP IP
without the port) and its SteamID (new optionalTransport::PeerSteamId, implemented by the Steam and multi
transports). A banned Hello gets Reject 7 "You are banned from this session" (RejectReason::Banned).Leave()
and everyHost()clear the list. - Co-op UI: in the pause CO-OP panel the host can select a guest in the player list (keyboard up/down, mouse,
gamepad) and choose KICK or KICK AND BAN, confirmed with "Kick ? Enter = yes, Esc = no". Guests see the
banner "You were kicked by the host" / "You are banned from this session" and go back to idle.
Coop::Kick,Coop::BanList,Coop::Unban;Coop::PlayerRow::id. No newMenuCommand. - Tests: new
net_kick(reason delivered under loss, PeerLeft to the others, guests cannot kick, ban by address and
by SteamID through a test transport, unban, ban list cleared by a new session, kicked-not-banned rejoin).