mirror of
https://git.ngram.ca/OpenJam/rc-servers
synced 2026-08-23 23:08:52 +00:00
Add more logging for #52
This commit is contained in:
17
Cargo.lock
generated
17
Cargo.lock
generated
@@ -2546,6 +2546,7 @@ dependencies = [
|
||||
"chrono",
|
||||
"futures",
|
||||
"hex",
|
||||
"indexmap",
|
||||
"jsonwebtoken",
|
||||
"libfj",
|
||||
"log",
|
||||
@@ -2749,10 +2750,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "oj_serdes"
|
||||
version = "0.1.0"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "986fe9d0d1382b2e04678db42e8e3754b8263203b590bfca72b18751250bbb72"
|
||||
dependencies = [
|
||||
"quick-xml",
|
||||
"serde",
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3138,6 +3141,16 @@ dependencies = [
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quick-xml"
|
||||
version = "0.38.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quinn"
|
||||
version = "0.11.9"
|
||||
|
||||
@@ -50,4 +50,5 @@ rand = { version = "0.9", features = [ "thread_rng" ] }
|
||||
num-quaternion = "1.0"
|
||||
hex = "0.4"
|
||||
base64 = "0.22"
|
||||
oj_serdes = { version = "0.1.0", path = "../oj_core/serdes" }
|
||||
#oj_serdes = { version = "0.2.0", path = "../oj_core/serdes" }
|
||||
oj_serdes = "0.2.0"
|
||||
|
||||
@@ -25,6 +25,17 @@ struct QueueKey {
|
||||
auto_heal: bool,
|
||||
}
|
||||
|
||||
impl QueueKey {
|
||||
fn guid(&self) -> String {
|
||||
use std::hash::Hasher;
|
||||
let mut hasher = std::hash::DefaultHasher::new();
|
||||
self.hash(&mut hasher);
|
||||
//chrono::Utc::now().timestamp_micros().hash(&mut hasher);
|
||||
let guid = oj_rc_core::persist::user::uuid_sanitize(hasher.finish() as i64);
|
||||
oj_rc_core::persist::user::i64_as_uuid_str(guid)
|
||||
}
|
||||
}
|
||||
|
||||
struct QueueUser {
|
||||
emitter: polariton_server::events::EventEmitter,
|
||||
player: oj_rc_core::data::player_data::PlayerData,
|
||||
@@ -62,12 +73,7 @@ impl QueueHandler {
|
||||
}
|
||||
|
||||
async fn enter_match(&self, key: QueueKey, mut players: Vec<QueueUser>, user: &(dyn oj_rc_core::persist::user::LobbyUser + Send + Sync)) {
|
||||
use std::hash::Hasher;
|
||||
let mut hasher = std::hash::DefaultHasher::new();
|
||||
key.hash(&mut hasher);
|
||||
chrono::Utc::now().timestamp_micros().hash(&mut hasher);
|
||||
let guid = oj_rc_core::persist::user::uuid_sanitize(hasher.finish() as i64);
|
||||
let guid_str = oj_rc_core::persist::user::i64_as_uuid_str(guid);
|
||||
let guid_str = key.guid();
|
||||
let game_desc = oj_rc_core::persist::user::GameDescriptor {
|
||||
guid: guid_str.clone(),
|
||||
map: key.map.clone(),
|
||||
@@ -104,7 +110,7 @@ impl QueueHandler {
|
||||
port: self.hostport,
|
||||
map: key.map.clone(),
|
||||
mode: key.mode,
|
||||
guid: guid_str,
|
||||
guid: guid_str.clone(),
|
||||
is_ranked: false,
|
||||
is_custom: false,
|
||||
visibility: Some(key.visibility),
|
||||
@@ -116,6 +122,7 @@ impl QueueHandler {
|
||||
for player in players.iter() {
|
||||
tokio::spawn(Self::send_events_to_player(arc_event.clone(), player.emitter.clone()));
|
||||
}
|
||||
log::info!("{} players are entering match {}", players.len(), guid_str);
|
||||
},
|
||||
Err(e) => {
|
||||
if let Some(msg) = e.error_msg() {
|
||||
@@ -174,7 +181,7 @@ impl QueueHandler {
|
||||
}
|
||||
*lock = new_queue_map;
|
||||
if count != 0 {
|
||||
log::info!("Upgraded {} users in queue to new gamemode", count);
|
||||
log::info!("Upgraded {} users in queue to new gamemode {}", count, key.guid());
|
||||
}
|
||||
},
|
||||
GamemodeChangeStrategy::Notify => {
|
||||
@@ -189,18 +196,20 @@ impl QueueHandler {
|
||||
}
|
||||
}
|
||||
if count != 0 {
|
||||
log::info!("Notified {} users in queue of new gamemode", count);
|
||||
log::info!("Notified {} users in queue of new gamemode {}", count, key.guid());
|
||||
}
|
||||
},
|
||||
GamemodeChangeStrategy::Ignore => {
|
||||
log::debug!("Gamemode appears to have changed, ignoring already-queued players");
|
||||
log::debug!("Gamemode appears to have changed to {}, ignoring already-queued players", key.guid());
|
||||
}
|
||||
}
|
||||
}
|
||||
let players_len = if let Some(players) = lock.get_mut(&key) {
|
||||
log::info!("User {} entered queue for existing match {}", new_player.user_id, key.guid());
|
||||
players.push(new_player);
|
||||
players.len()
|
||||
} else {
|
||||
log::info!("User {} entered queue for new match {}", new_player.user_id, key.guid());
|
||||
lock.insert(key.clone(), vec![new_player]);
|
||||
1
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user