From 323450a97743fa1230c8892d13b94349fb0f8362 Mon Sep 17 00:00:00 2001 From: scroll Date: Sun, 23 Aug 2026 07:52:21 +0300 Subject: [PATCH] home mode docs + --desync flag on the probe --- services/gateway/src/bin/scroll-probe.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/services/gateway/src/bin/scroll-probe.rs b/services/gateway/src/bin/scroll-probe.rs index df6db49..dae09c9 100644 --- a/services/gateway/src/bin/scroll-probe.rs +++ b/services/gateway/src/bin/scroll-probe.rs @@ -56,6 +56,7 @@ async fn main() -> Result<(), Box> { .unwrap_or(0); let pass_token = std::env::args().nth(4).filter(|token| token != "-"); let claim_free_chest = std::env::args().any(|arg| arg == "--claim-free-chest"); + let desync = std::env::args().any(|arg| arg == "--desync"); let csv_root = std::env::var("SCROLL_CSV_ROOT").unwrap_or_else(|_| "assets".to_owned()); match LogicDataTables::load_from_dir(&csv_root) { Ok(tables) => { @@ -161,7 +162,8 @@ async fn main() -> Result<(), Box> { let turn = EndClientTurnMessage { tick: 0, checksum: home.home.chest_id_counter - + ((home.home.spell_collection.spells.len() as i32) << 16), + + ((home.home.spell_collection.spells.len() as i32) << 16) + + i32::from(desync), commands: vec![LogicCommand::CollectFreeChest { header: LogicCommandHeader::for_account(home.avatar.account_id), }], @@ -174,6 +176,13 @@ async fn main() -> Result<(), Box> { println!("-> 10108 KeepAliveMessage"); } } + message_type::OUT_OF_SYNC => { + let out_of_sync = logic::OutOfSyncMessage::from_bytes(&payload)?; + println!("<- 24104 OutOfSyncMessage"); + println!(" server checksum {}", out_of_sync.server_checksum); + println!(" client checksum {}", out_of_sync.client_checksum); + println!(" tick {}", out_of_sync.tick); + } message_type::AVAILABLE_SERVER_COMMAND => { let envelope = AvailableServerCommandMessage::from_bytes(&payload)?; println!("<- 24111 AvailableServerCommandMessage ({} bytes)", payload.len());