login/
login.rs

1//! Log into a 1.8.*/1.16.[4/5] server.
2
3use std::env;
4use std::thread;
5use std::time;
6
7use tetsu::errors;
8use tetsu::server;
9use tetsu::user;
10
11fn main() {
12    let user = user::User::authenticate(
13        env::var("MOJANG_USER").unwrap(),
14        env::var("MOJANG_USER_PWD").unwrap(),
15    );
16
17    let mut server = server::Server::new("127.0.0.1", None, None).unwrap();
18
19    server.connect_player(user).unwrap();
20
21    loop {
22        match server.read_event() {
23            Ok(e) => println!("{:?}", e),
24            Err(e) => match e {
25                errors::ConnectionError::LockError(_) => {
26                    thread::sleep(time::Duration::from_millis(50));
27                    continue;
28                }
29                errors::ConnectionError::Error(e) => panic!("Error while reading event: {:?}", e),
30            },
31        }
32    }
33}