master-server replay + trampler RE: protocol, hashes, footprints, map renderer

- master_scrape.py: live master-server (ger.hologryph.com) ClientMessage replay over the
  two-socket /login + /connect handshake (PlayFab ticket auth). Pulled compartment defs,
  shop prices, research tree, storage, characters, expedition -> extracted/master_*.json
- PlayFab confirmed auth-only for this title (Economy disabled); docs corrected
- trampler_hashes.py: blueprint hash algo MD5(UTF8(compact-JSON)); CompartmentsHash(#1) and
  ConnectionsHash(#3) verified & generatable from scratch
- walkerdto_to_blueprint.py: WalkerDto(expedition) -> WalkerBlueprintDto, enum int<->name,
  verified by storage->WS->storage round-trip
- render_trampler.py: per-floor map from CompartmentsDatabase cell footprints (rotation solved
  via overlap check) + doors/hatches from Connections + turret arcs + cargo C1-C8 in game order
- docs/MASTER_SERVER.md, docs/TRAMPLER.md; ghidra address-offset bug fixed (no -0x1000)
This commit is contained in:
DownloadPizza
2026-06-16 00:35:17 +02:00
parent 3df0797acc
commit fc6b270fa8
29 changed files with 61574 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
{
"_op": "GetCharacters",
"Result": [
{
"Character": {
"Id": 1165,
"UserId": 1132,
"NameIndex": 20,
"SurnameIndex": 12,
"PlatformId": {
"Platform": "Steam",
"Value": "76561198355752256"
},
"PlayFabId": "42E47F978A8574CD",
"Customizations": [
{
"Name": "head_m_01_pirate",
"ViewData": "cloth_head_m_01_pirate_prefab",
"BodyPart": "HEAD"
},
{
"Name": "hair_03_chub",
"ViewData": "cloth_hair_03_chub_prefab",
"BodyPart": "HAIR"
},
{
"Name": "face_01_mustache",
"ViewData": "cloth_face_01_mustache_prefab",
"BodyPart": "FACE"
},
{
"Name": "default_torso_shirt_v_Black",
"ViewData": "cloth_default_torso_shirt_prefab_v_Black",
"BodyPart": "TORSO"
},
{
"Name": "EMPTY_HANDS",
"ViewData": null,
"BodyPart": "HANDS"
},
{
"Name": "default_legs_pants",
"ViewData": "cloth_default_legs_pants_prefab",
"BodyPart": "LEGS"
},
{
"Name": "farmer_feet_boots",
"ViewData": "cloth_farmer_feet_boots_prefab",
"BodyPart": "FEET"
},
{
"Name": "hat_01_black",
"ViewData": "cloth_hat_01_prefab_black",
"BodyPart": "HAT"
}
],
"IsSelected": false,
"DeletionTime": null
},
"Resources": {
"Crowns": 1606,
"MechanicalParts": 3580,
"PneumaticParts": 522,
"ComputingModules": 1
}
}
]
}