projects
/
minecraft_web.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Display the minecraft server version
[minecraft_web.git]
/
backend
/
src
/
minecraft_controller.rs
diff --git
a/backend/src/minecraft_controller.rs
b/backend/src/minecraft_controller.rs
index
54143e8
..
545e8c2
100644
(file)
--- a/
backend/src/minecraft_controller.rs
+++ b/
backend/src/minecraft_controller.rs
@@
-9,6
+9,7
@@
pub struct MinecraftExe {
uptime: u64, // [s].
\r
world_size: u64, // [B].
\r
active_players: Vec<String>,
\r
uptime: u64, // [s].
\r
world_size: u64, // [B].
\r
active_players: Vec<String>,
\r
+ version: String,
\r
last_backup: Option<SystemTime>,
\r
}
\r
\r
last_backup: Option<SystemTime>,
\r
}
\r
\r
@@
-40,6
+41,10
@@
impl MinecraftExe {
}
\r
}
\r
\r
}
\r
}
\r
\r
+ pub fn format_version(&self) -> String {
\r
+ self.version.clone()
\r
+ }
\r
+
\r
pub fn format_last_backup(&self) -> String {
\r
match self.last_backup {
\r
Some(t) => {
\r
pub fn format_last_backup(&self) -> String {
\r
match self.last_backup {
\r
Some(t) => {
\r
@@
-73,6
+78,7
@@
const MINECRAFT_PROCESS_NAME: &str = "java";
\r
struct StatusFromRcon {
\r
players: Vec<String>,
\r
\r
struct StatusFromRcon {
\r
players: Vec<String>,
\r
+ version: String,
\r
}
\r
\r
fn get_status_from_rcon(rcon_password: &str) -> StatusFromRcon {
\r
}
\r
\r
fn get_status_from_rcon(rcon_password: &str) -> StatusFromRcon {
\r
@@
-98,12
+104,20
@@
fn get_status_from_rcon(rcon_password: &str) -> StatusFromRcon {
println!("Error from 'list' command");
\r
Vec::new()
\r
},
\r
println!("Error from 'list' command");
\r
Vec::new()
\r
},
\r
+ },
\r
+ version:
\r
+ match client.send_command("list".to_string()) {
\r
+ Ok(resp) => resp.body,
\r
+ Err(_e) => {
\r
+ println!("Error from 'version' command");
\r
+ String::new()
\r
+ }
\r
}
\r
}
\r
},
\r
Err(_e) => {
\r
println!("Authentication error");
\r
}
\r
}
\r
},
\r
Err(_e) => {
\r
println!("Authentication error");
\r
- StatusFromRcon { players: Vec::new() }
\r
+ StatusFromRcon { players: Vec::new()
, version: String::new()
}
\r
},
\r
};
\r
\r
},
\r
};
\r
\r
@@
-145,6
+159,7
@@
pub fn get_minecraft_executable_information(world_path: &str, backup_path: &str,
uptime: std::time::SystemTime::now().duration_since(std::time::UNIX_EPOCH).unwrap().as_secs() - process.start_time(),
\r
world_size,
\r
active_players: status_from_rcon.players,
\r
uptime: std::time::SystemTime::now().duration_since(std::time::UNIX_EPOCH).unwrap().as_secs() - process.start_time(),
\r
world_size,
\r
active_players: status_from_rcon.players,
\r
+ version: status_from_rcon.version,
\r
last_backup: get_last_backup_datetime(backup_path)
\r
}
\r
)
\r
last_backup: get_last_backup_datetime(backup_path)
\r
}
\r
)
\r