From 2a39c233fd6b9d5993d42d4b743782965e70f02f Mon Sep 17 00:00:00 2001 From: Denis Drakhnia Date: Tue, 17 Oct 2023 16:07:53 +0300 Subject: [PATCH] master: Admin command stub --- master/src/master_server.rs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/master/src/master_server.rs b/master/src/master_server.rs index 739eb61..2407abf 100644 --- a/master/src/master_server.rs +++ b/master/src/master_server.rs @@ -12,8 +12,7 @@ use log::{error, info, trace, warn}; use thiserror::Error; use xash3d_protocol::filter::{Filter, Version}; use xash3d_protocol::server::Region; -use xash3d_protocol::ServerInfo; -use xash3d_protocol::{game, master, server, Error as ProtocolError}; +use xash3d_protocol::{ServerInfo, admin, game, master, server, Error as ProtocolError}; use crate::config::{self, Config}; @@ -211,6 +210,22 @@ impl MasterServer { } } + if let Ok(p) = admin::Packet::decode(src) { + match p { + admin::Packet::AdminChallenge(p) => { + trace!("{}: recv {:?}", from, p); + let challenge = 0x12345678; // TODO: + let p = master::AdminChallengeResponse::new(challenge); + let mut buf = [0; 64]; + let n = p.encode(&mut buf)?; + self.sock.send_to(&buf[..n], from)?; + } + admin::Packet::AdminCommand(p) => { + trace!("{}: recv {:?}", from, p); + } + } + } + Ok(()) }