1 use crate::types::{GameCfg, ServerVar, TeamInfo, VoteType}; |
1 use crate::types::{GameCfg, ServerVar, TeamInfo, VoteType}; |
2 use std::iter::once; |
2 use std::iter::once; |
|
3 |
|
4 //todo!("add help message") |
3 |
5 |
4 #[derive(PartialEq, Eq, Clone, Debug)] |
6 #[derive(PartialEq, Eq, Clone, Debug)] |
5 pub enum HwProtocolMessage { |
7 pub enum HwProtocolMessage { |
6 // common messages |
8 // common messages |
7 Ping, |
9 Ping, |
11 Watch(u32), |
13 Watch(u32), |
12 ToggleServerRegisteredOnly, |
14 ToggleServerRegisteredOnly, |
13 SuperPower, |
15 SuperPower, |
14 Info(String), |
16 Info(String), |
15 // anteroom messages |
17 // anteroom messages |
16 Nick(String), |
18 Nick(String, Option<String>), |
17 Proto(u16), |
19 Proto(u16), |
18 Password(String, String), |
20 Password(String, String), |
19 Checker(u16, String, String), |
21 Checker(u16, String, String), |
20 // lobby messages |
22 // lobby messages |
21 List, |
23 List, |
279 Global(msg) => msg!["CMD", format!("GLOBAL {}", msg)], |
283 Global(msg) => msg!["CMD", format!("GLOBAL {}", msg)], |
280 Watch(name) => msg!["CMD", format!("WATCH {}", name)], |
284 Watch(name) => msg!["CMD", format!("WATCH {}", name)], |
281 ToggleServerRegisteredOnly => msg!["CMD", "REGISTERED_ONLY"], |
285 ToggleServerRegisteredOnly => msg!["CMD", "REGISTERED_ONLY"], |
282 SuperPower => msg!["CMD", "SUPER_POWER"], |
286 SuperPower => msg!["CMD", "SUPER_POWER"], |
283 Info(info) => msg!["CMD", format!("INFO {}", info)], |
287 Info(info) => msg!["CMD", format!("INFO {}", info)], |
284 Nick(nick) => msg!("NICK", nick), |
288 Nick(nick, None) => msg!["NICK", nick], |
|
289 Nick(nick, Some(token)) => msg!["NICK", nick, token], |
285 Proto(version) => msg!["PROTO", version], |
290 Proto(version) => msg!["PROTO", version], |
286 Password(p, s) => msg!["PASSWORD", p, s], |
291 Password(p, s) => msg!["PASSWORD", p, s], |
287 Checker(i, n, p) => msg!["CHECKER", i, n, p], |
292 Checker(i, n, p) => msg!["CHECKER", i, n, p], |
288 List => msg!["LIST"], |
293 List => msg!["LIST"], |
289 Chat(msg) => msg!["CHAT", msg], |
294 Chat(msg) => msg!["CHAT", msg], |
379 Pong => msg!["PONG"], |
384 Pong => msg!["PONG"], |
380 Connected(message, protocol_version) => msg!["CONNECTED", message, protocol_version], |
385 Connected(message, protocol_version) => msg!["CONNECTED", message, protocol_version], |
381 Redirect(port) => msg!["REDIRECT", port], |
386 Redirect(port) => msg!["REDIRECT", port], |
382 Bye(msg) => msg!["BYE", msg], |
387 Bye(msg) => msg!["BYE", msg], |
383 Nick(nick) => msg!["NICK", nick], |
388 Nick(nick) => msg!["NICK", nick], |
|
389 Token(token) => msg!["TOKEN", token], |
384 Proto(proto) => msg!["PROTO", proto], |
390 Proto(proto) => msg!["PROTO", proto], |
385 AskPassword(salt) => msg!["ASKPASSWORD", salt], |
391 AskPassword(salt) => msg!["ASKPASSWORD", salt], |
386 ServerAuth(hash) => msg!["SERVER_AUTH", hash], |
392 ServerAuth(hash) => msg!["SERVER_AUTH", hash], |
387 LogonPassed => msg!["LOGONPASSED"], |
393 LogonPassed => msg!["LOGONPASSED"], |
388 LobbyLeft(nick, msg) => msg!["LOBBY:LEFT", nick, msg], |
394 LobbyLeft(nick, msg) => msg!["LOBBY:LEFT", nick, msg], |