-use sysinfo::{ ProcessExt, SystemExt };\r
\r
use std::{ fs, time::SystemTime };\r
-\r
+use sysinfo::{ ProcessExt, SystemExt };\r
use chrono::{ DateTime, offset::Local };\r
\r
#[cfg(target_os = "linux")]\r
}\r
\r
const VALHEIM_PROCESS_NAME: &str = "valheim_server";\r
+\r
+#[cfg(target_os = "linux")]\r
const STRING_BEFORE_CHARACTER_NAME: &str = "Got character ZDOID from";\r
+\r
+#[cfg(target_os = "linux")]\r
const STRING_BEFORE_NB_OF_CONNECTIONS: &str = "Connections";\r
\r
#[cfg(target_os = "linux")]\r
pub fn get_valheim_executable_information(world_path: &str, backup_path: &str) -> Option<ValheimExe> {\r
let mut system = sysinfo::System::new_all();\r
system.refresh_system();\r
- let processes = system.get_process_by_name(VALHEIM_PROCESS_NAME);\r
+ let mut processes = system.processes_by_name(VALHEIM_PROCESS_NAME);\r
\r
- if processes.len() >= 1 {\r
- let process = processes.first().unwrap();\r
+ if let Some(process) = processes.next() {\r
\r
let world_size = match std::fs::metadata(world_path) { Ok(f) => f.len(), Err(_) => 0u64 };\r
\r
Some(\r
ValheimExe {\r
memory: process.memory(),\r
- load_average_5min: system.get_load_average().five / system.get_processors().len() as f64 * 100.,\r
+ load_average_5min: system.load_average().five / system.processors().len() as f64 * 100.,\r
uptime: std::time::SystemTime::now().duration_since(std::time::UNIX_EPOCH).unwrap().as_secs() - process.start_time(),\r
world_size,\r
active_players: get_active_players(),\r