equal
deleted
inserted
replaced
3 use super::common::rnd_reply; |
3 use super::common::rnd_reply; |
4 use crate::{ |
4 use crate::{ |
5 protocol::messages::{ |
5 protocol::messages::{ |
6 add_flags, remove_flags, HWProtocolMessage, HWServerMessage::*, ProtocolFlags as Flags, |
6 add_flags, remove_flags, HWProtocolMessage, HWServerMessage::*, ProtocolFlags as Flags, |
7 }, |
7 }, |
8 server::{core::HWServer, coretypes::ClientId}, |
8 server::{ |
|
9 core::HWServer, |
|
10 coretypes::{ClientId, ServerVar}, |
|
11 }, |
9 utils::is_name_illegal, |
12 utils::is_name_illegal, |
10 }; |
13 }; |
11 use log::*; |
14 use log::*; |
12 |
15 |
13 pub fn handle( |
16 pub fn handle( |
106 } |
109 } |
107 } else { |
110 } else { |
108 response.add(Warning("No such room.".to_string()).send_self()); |
111 response.add(Warning("No such room.".to_string()).send_self()); |
109 } |
112 } |
110 } |
113 } |
|
114 SetServerVar(var) => { |
|
115 if !server.clients[client_id].is_admin() { |
|
116 response.add(Warning("Access denied.".to_string()).send_self()); |
|
117 } else { |
|
118 match var { |
|
119 ServerVar::MOTDNew(msg) => server.greetings.for_latest_protocol = msg, |
|
120 ServerVar::MOTDOld(msg) => server.greetings.for_old_protocols = msg, |
|
121 ServerVar::LatestProto(n) => server.latest_protocol = n, |
|
122 } |
|
123 } |
|
124 } |
|
125 GetServerVar => { |
|
126 if !server.clients[client_id].is_admin() { |
|
127 response.add(Warning("Access denied.".to_string()).send_self()); |
|
128 } else { |
|
129 let vars: Vec<_> = [ |
|
130 ServerVar::MOTDNew(server.greetings.for_latest_protocol.clone()), |
|
131 ServerVar::MOTDOld(server.greetings.for_old_protocols.clone()), |
|
132 ServerVar::LatestProto(server.latest_protocol), |
|
133 ] |
|
134 .iter() |
|
135 .flat_map(|v| v.to_protocol()) |
|
136 .collect(); |
|
137 response.add(ServerVars(vars).send_self()); |
|
138 } |
|
139 } |
111 Rnd(v) => { |
140 Rnd(v) => { |
112 response.add(rnd_reply(&v).send_self()); |
141 response.add(rnd_reply(&v).send_self()); |
113 } |
142 } |
114 List => warn!("Deprecated LIST message received"), |
143 List => warn!("Deprecated LIST message received"), |
115 _ => warn!("Incorrect command in lobby state"), |
144 _ => warn!("Incorrect command in lobby state"), |