fifa17-python: commit working FUT backend deployment (client/server split)

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.
This commit is contained in:
root
2026-08-10 23:54:04 +00:00
parent edab23f04a
commit 70a64e3709
242 changed files with 175860 additions and 0 deletions
@@ -0,0 +1 @@
{"table":"playerformdiff","source":"FIFA17.exe resident database (tools/db_dump.py)","rowcount":0,"rowsize_bytes":8,"rows_emitted":0,"rowblock":"0x4254bc48","rowblock_bytes":433,"descriptor":"0x7b10a88","schema":[{"name":"overallratingdiff","bit":0,"width":8,"kind":"int","min":-99,"max":99,"storage":"int"},{"name":"newoverallrating","bit":8,"width":7,"kind":"int","min":1,"max":99,"storage":"int"},{"name":"oldoverallrating","bit":15,"width":7,"kind":"int","min":1,"max":99,"storage":"int"},{"name":"teamid","bit":22,"width":18,"kind":"int","min":1,"max":200000,"storage":"int"},{"name":"playerid","bit":40,"width":19,"kind":"int","min":0,"max":300000,"storage":"int"}],"rows":[]}