extern crate askama;
use std::{ sync::Mutex, env::args, fs::File, io::prelude::* };
-
use actix_files as fs;
use actix_web::{ get, web, Responder, middleware, App, HttpServer };
use askama::Template;
use cached::proc_macro::cached;
mod consts;
-mod tests;
mod minecraft_controller;
#[derive(Template)]
const VALUE_UNKNOWN: &str = "-";
#[cached(size = 1, time = 10)]
-fn get_minecraft_executable_information_cached(world_path: String, backup_path: String) -> Option<minecraft_controller::MinecraftExe> {
- minecraft_controller::get_minecraft_executable_information(&world_path, &backup_path)
+fn get_minecraft_executable_information_cached(world_path: String, backup_path: String, rcon_password: String) -> Option<minecraft_controller::MinecraftExe> {
+ minecraft_controller::get_minecraft_executable_information(&world_path, &backup_path, &rcon_password)
}
#[get("/")]
async fn main_page(config_shared: web::Data<Mutex<Config>>) -> impl Responder {
let config = config_shared.lock().unwrap();
- match get_minecraft_executable_information_cached(config.world_path.clone(), config.backup_path.clone()) {
+ match get_minecraft_executable_information_cached(config.world_path.clone(), config.backup_path.clone(), config.rcon_password.clone()) {
Some(info) =>
MainTemplate {
text_status: String::from("Minecraft server is up and running :)"),
uptime: value_unknown.clone(),
world_size: value_unknown.clone(),
active_players: value_unknown.clone(),
- last_backup: value_unknown.clone() }
+ last_backup: value_unknown.clone()
+ }
}
}
}
print_usage();
return true
} else if args.iter().any(|arg| arg == "--status") {
- println!("{:?}", minecraft_controller::get_minecraft_executable_information(&config.world_path, &config.backup_path));
+ println!("{:?}", minecraft_controller::get_minecraft_executable_information(&config.world_path, &config.backup_path, &config.rcon_password));
return true
}