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.5 KiB
JSON
1 line
1.5 KiB
JSON
{"table":"customteamstyles","source":"FIFA17.exe resident database (tools/db_dump.py)","rowcount":0,"rowsize_bytes":12,"rows_emitted":0,"rowblock":"0x4254bdf8","rowblock_bytes":369,"descriptor":"0x42816ee8","schema":[{"name":"defmentality","bit":0,"width":7,"kind":"int","min":1,"max":100,"storage":"int"},{"name":"teamstyleid","bit":7,"width":7,"kind":"int","min":900,"max":1000,"storage":"int"},{"name":"basestyle","bit":14,"width":18,"kind":"int","min":-2,"max":200000,"storage":"int"},{"name":"buspassing","bit":32,"width":7,"kind":"int","min":1,"max":100,"storage":"int"},{"name":"defteamwidth","bit":39,"width":7,"kind":"int","min":1,"max":100,"storage":"int"},{"name":"busdribbling","bit":46,"width":7,"kind":"int","min":1,"max":100,"storage":"int"},{"name":"defaggression","bit":53,"width":7,"kind":"int","min":1,"max":100,"storage":"int"},{"name":"buspositioning","bit":60,"width":1,"kind":"int","min":1,"max":2,"storage":"int"},{"name":"ccpositioning","bit":61,"width":1,"kind":"int","min":1,"max":2,"storage":"int"},{"name":"busbuildupspeed","bit":62,"width":7,"kind":"int","min":1,"max":100,"storage":"int"},{"name":"ccshooting","bit":69,"width":7,"kind":"int","min":1,"max":100,"storage":"int"},{"name":"ccpassing","bit":76,"width":7,"kind":"int","min":1,"max":100,"storage":"int"},{"name":"defdefenderline","bit":83,"width":1,"kind":"int","min":1,"max":2,"storage":"int"},{"name":"cccrossing","bit":84,"width":7,"kind":"int","min":1,"max":100,"storage":"int"}],"rows":[]} |