projects
/
minecraft_web.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use fs_extra to get folder size
[minecraft_web.git]
/
backend
/
src
/
minecraft_controller.rs
diff --git
a/backend/src/minecraft_controller.rs
b/backend/src/minecraft_controller.rs
index
260a6e4
..
13a3e3f
100644
(file)
--- a/
backend/src/minecraft_controller.rs
+++ b/
backend/src/minecraft_controller.rs
@@
-4,9
+4,6
@@
use std::{ fs, time::SystemTime };
\r
use chrono::{ DateTime, offset::Local };
\r
\r
\r
use chrono::{ DateTime, offset::Local };
\r
\r
-#[cfg(target_os = "linux")]
\r
-use systemd::journal;
\r
-
\r
#[derive(Clone, Debug)]
\r
pub struct MinecraftExe {
\r
memory: u64, // [kB].
\r
#[derive(Clone, Debug)]
\r
pub struct MinecraftExe {
\r
memory: u64, // [kB].
\r
@@
-38,13
+35,11
@@
impl MinecraftExe {
}
\r
\r
pub fn format_active_players(&self) -> String {
\r
}
\r
\r
pub fn format_active_players(&self) -> String {
\r
- /* Commented because the player list isn't correct (the number is).
\r
if self.active_players.len() == 0 {
\r
String::from("<none>")
\r
} else {
\r
self.active_players.join(", ")
\r
if self.active_players.len() == 0 {
\r
String::from("<none>")
\r
} else {
\r
self.active_players.join(", ")
\r
- }*/
\r
- self.active_players.len().to_string()
\r
+ }
\r
}
\r
\r
pub fn format_last_backup(&self) -> String {
\r
}
\r
\r
pub fn format_last_backup(&self) -> String {
\r
@@
-78,12
+73,6
@@
fn format_byte_size(bytes: u64, precision: usize) -> String {
\r
const MINECRAFT_PROCESS_NAME: &str = "java";
\r
\r
\r
const MINECRAFT_PROCESS_NAME: &str = "java";
\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
// It doesn't work for the moment, it only scan the connection event and do not treat disconnections.
\r
fn get_active_players(rcon_password: &str) -> Vec<String> {
\r
let mut client = minecraft_client_rs::Client::new("127.0.0.1:25575".to_string()).unwrap();
\r
// It doesn't work for the moment, it only scan the connection event and do not treat disconnections.
\r
fn get_active_players(rcon_password: &str) -> Vec<String> {
\r
let mut client = minecraft_client_rs::Client::new("127.0.0.1:25575".to_string()).unwrap();
\r
@@
-93,11
+82,15
@@
fn get_active_players(rcon_password: &str) -> Vec<String> {
Ok(_) => {
\r
match client.send_command("list".to_string()) {
\r
Ok(resp) => {
\r
Ok(_) => {
\r
match client.send_command("list".to_string()) {
\r
Ok(resp) => {
\r
- println!("{}", resp.body);
\r
- Vec::new()
\r
+ resp.body
\r
+ .split('\n')
\r
+ .skip(1)
\r
+ .filter(|n| !n.is_empty())
\r
+ .map(|n| n.to_string())
\r
+ .collect()
\r
},
\r
Err(_e) => {
\r
},
\r
Err(_e) => {
\r
- println!("Error
asking see
d");
\r
+ println!("Error
from 'list' comman
d");
\r
Vec::new()
\r
},
\r
}
\r
Vec::new()
\r
},
\r
}
\r
@@
-137,7
+130,7
@@
pub fn get_minecraft_executable_information(world_path: &str, backup_path: &str,
if processes.len() >= 1 {
\r
let process = processes.first().unwrap();
\r
\r
if processes.len() >= 1 {
\r
let process = processes.first().unwrap();
\r
\r
- let world_size = match
std::fs::metadata(world_path) { Ok(f) => f.len()
, Err(_) => 0u64 };
\r
+ let world_size = match
fs_extra::dir::get_size(world_path) { Ok(l) => l
, Err(_) => 0u64 };
\r
\r
Some(
\r
MinecraftExe {
\r
\r
Some(
\r
MinecraftExe {
\r