From: Greg Burri Date: Fri, 8 Apr 2022 19:35:04 +0000 (+0200) Subject: Merge branch 'master' of gburri.org:valheim_web X-Git-Url: http://git.euphorik.ch/index.cgi?a=commitdiff_plain;h=e1d2ac7d318ed90b941bdc9911d6c22474c1f535;hp=-c;p=valheim_web.git Merge branch 'master' of gburri.org:valheim_web --- e1d2ac7d318ed90b941bdc9911d6c22474c1f535 diff --combined backend/src/valheim_controller.rs index f92e63d,33c532f..631f46b --- a/backend/src/valheim_controller.rs +++ b/backend/src/valheim_controller.rs @@@ -1,6 -1,7 +1,6 @@@ -use sysinfo::{ ProcessExt, SystemExt }; use std::{ fs, time::SystemTime }; - +use sysinfo::{ ProcessExt, SystemExt }; use chrono::{ DateTime, offset::Local }; #[cfg(target_os = "linux")] @@@ -37,11 -38,13 +37,13 @@@ impl ValheimExe } pub fn format_active_players(&self) -> String { + /* Commented because the player list isn't correct (the number is). if self.active_players.len() == 0 { String::from("") } else { self.active_players.join(", ") - } + }*/ + self.active_players.len().to_string() } pub fn format_last_backup(&self) -> String { @@@ -81,6 -84,7 +83,7 @@@ const STRING_BEFORE_CHARACTER_NAME: &st #[cfg(target_os = "linux")] const STRING_BEFORE_NB_OF_CONNECTIONS: &str = "Connections"; + // It doesn't work for the moment, it only scan the connection event and do not treat disconnections. #[cfg(target_os = "linux")] fn get_active_players() -> Vec { let mut journal = @@@ -153,16 -157,17 +156,16 @@@ fn get_last_backup_datetime(backup_path pub fn get_valheim_executable_information(world_path: &str, backup_path: &str) -> Option { let mut system = sysinfo::System::new_all(); system.refresh_system(); - let processes = system.get_process_by_name(VALHEIM_PROCESS_NAME); + let mut processes = system.processes_by_name(VALHEIM_PROCESS_NAME); - if processes.len() >= 1 { - let process = processes.first().unwrap(); + if let Some(process) = processes.next() { let world_size = match std::fs::metadata(world_path) { Ok(f) => f.len(), Err(_) => 0u64 }; Some( ValheimExe { memory: process.memory(), - load_average_5min: system.get_load_average().five / system.get_processors().len() as f64 * 100., + load_average_5min: system.load_average().five / system.processors().len() as f64 * 100., uptime: std::time::SystemTime::now().duration_since(std::time::UNIX_EPOCH).unwrap().as_secs() - process.start_time(), world_size, active_players: get_active_players(),