gameServer2/src/utils.rs
author Wuzzy <Wuzzy2@mail.ru>
Mon, 17 Sep 2018 22:37:47 +0200
changeset 13790 4ed202f0428e
parent 13529 5359ff75da3a
child 13806 5fb40c8e5542
permissions -rw-r--r--
Easier back jumps in Basic Movement Training (fixes bug #692) The explanation of Back Jumping (2/2) has been simplified and the "hard" part has been made easier by lowering the girders. The original idea was that I wanted to force players to learn how to jump higher by delaying the 2nd backspace keypress. But this turned out that this section was too unfair and we have lost at least one player due to rage-quitting, according to feedback.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13428
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13421
diff changeset
     1
use std::iter::Iterator;
12131
4348997e502b Refactor code to add more structure to it
unc0rr
parents: 12130
diff changeset
     2
use mio;
13428
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13421
diff changeset
     3
use base64::{encode};
12131
4348997e502b Refactor code to add more structure to it
unc0rr
parents: 12130
diff changeset
     4
12142
193dfdcb0620 - Use logging facilities instead of plain println!
unc0rr
parents: 12131
diff changeset
     5
pub const PROTOCOL_VERSION : u32 = 3;
13529
5359ff75da3a indulge clippy
alfadur
parents: 13428
diff changeset
     6
pub const SERVER: mio::Token = mio::Token(1_000_000_000);
13421
cdf69667593b partial room implementation
alfadur
parents: 12142
diff changeset
     7
cdf69667593b partial room implementation
alfadur
parents: 12142
diff changeset
     8
pub fn is_name_illegal(name: &str ) -> bool{
cdf69667593b partial room implementation
alfadur
parents: 12142
diff changeset
     9
    name.len() > 40 ||
cdf69667593b partial room implementation
alfadur
parents: 12142
diff changeset
    10
        name.trim().is_empty() ||
cdf69667593b partial room implementation
alfadur
parents: 12142
diff changeset
    11
        name.chars().any(|c|
cdf69667593b partial room implementation
alfadur
parents: 12142
diff changeset
    12
            "$()*+?[]^{|}\x7F".contains(c) ||
cdf69667593b partial room implementation
alfadur
parents: 12142
diff changeset
    13
                '\x00' <= c && c <= '\x1F')
13428
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13421
diff changeset
    14
}
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13421
diff changeset
    15
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13421
diff changeset
    16
pub fn to_engine_msg<T>(msg: T) -> String
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13421
diff changeset
    17
    where T: Iterator<Item = u8> + Clone
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13421
diff changeset
    18
{
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13421
diff changeset
    19
    let mut tmp = Vec::new();
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13421
diff changeset
    20
    tmp.push(msg.clone().count() as u8);
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13421
diff changeset
    21
    tmp.extend(msg);
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13421
diff changeset
    22
    encode(&tmp)
13421
cdf69667593b partial room implementation
alfadur
parents: 12142
diff changeset
    23
}