70a64e3709
Freeze the running offline FUT backend into version control as fifa17-recon/docker/fifa17-python/ - declarative and rebuildable from a fresh checkout: * OPENFUT_BIND / OPENFUT_ADVERTISE client/server split in the responders (lsx, blaze, roster, utas, pow) + entrypoint.sh; OPENFUT_ADVERTISE is required for remote mode (compose and entrypoint fail without it) * docker-compose.yml reproducing the frozen baseline container exactly (env, ports incl. the 8085->8080 POW-content remap, /state bind, restart) * .env.example / .env for site config - the LAN IP is never hardcoded in source * tools/ + data/ staged from openfut-fut-backend:python-baseline-2026-08-10, verified byte-identical to the running container at freeze time * client_arm.sh (the 105 client-side arming counterpart) * Dockerfile bakes /app/SHA256SUMS.txt so any image is self-identifying * docs/BASELINE-python-2026-08-10.md: frozen image/container/hash record, restore instructions and rebuild-equivalence procedure Secrets (redir key/cert, .env) and runtime state (docker/state) stay gitignored. The live container is untouched pending the .105 launcher audit.
1 line
1.3 KiB
JSON
1 line
1.3 KiB
JSON
{"table":"smrivals","source":"FIFA17.exe resident database (tools/db_dump.py)","rowcount":20,"rowsize_bytes":8,"rows_emitted":20,"rowblock":"0x4254e6a8","rowblock_bytes":673,"descriptor":"0x7bf0308","schema":[{"name":"rivaltype","bit":0,"width":2,"kind":"int","min":0,"max":2,"storage":"int"},{"name":"teamid2","bit":2,"width":18,"kind":"int","min":1,"max":200000,"storage":"int"},{"name":"teamid1","bit":20,"width":18,"kind":"int","min":1,"max":200000,"storage":"int"}],"rows":[{"rivaltype":0,"teamid2":18,"teamid1":1},{"rivaltype":0,"teamid2":1,"teamid1":5},{"rivaltype":0,"teamid2":9,"teamid1":7},{"rivaltype":0,"teamid2":11,"teamid1":9},{"rivaltype":0,"teamid2":11,"teamid1":10},{"rivaltype":0,"teamid2":9,"teamid1":11},{"rivaltype":0,"teamid2":106,"teamid1":12},{"rivaltype":0,"teamid2":1943,"teamid1":17},{"rivaltype":0,"teamid2":1,"teamid1":18},{"rivaltype":0,"teamid2":18,"teamid1":19},{"rivaltype":0,"teamid2":109,"teamid1":95},{"rivaltype":0,"teamid2":12,"teamid1":106},{"rivaltype":0,"teamid2":1806,"teamid1":109},{"rivaltype":0,"teamid2":1,"teamid1":1795},{"rivaltype":0,"teamid2":10,"teamid1":1796},{"rivaltype":0,"teamid2":19,"teamid1":1799},{"rivaltype":0,"teamid2":109,"teamid1":1806},{"rivaltype":0,"teamid2":17,"teamid1":1943},{"rivaltype":0,"teamid2":12,"teamid1":1952},{"rivaltype":0,"teamid2":1806,"teamid1":1960}]} |