Initial commit: OpenFUT Core + Bridge scaffold

Two-repo monorepo for an offline FUT backend inspired by SPT.

openfut-core: game-independent REST API backend (Axum, SQLite, SQLx)
- 19 API endpoints: auth, profiles, clubs, cards, packs, squads,
  objectives, SBCs, match rewards, NPC market, statistics
- JSON-driven card/pack/objective/SBC data (fully moddable)
- SQLx migrations, weighted pack generator, SBC validation engine
- 5 integration tests passing

openfut-bridge: FIFA 23 traffic proxy + reverse-engineering scaffold
- Catch-all HTTP proxy with request capture to captures/
- Known-route mapper (FUT paths → Core API calls)
- Placeholder responses for unknown endpoints
- Admin endpoints: captures, unknown endpoint list
- 4 unit tests passing

cargo fmt ✓  cargo clippy -D warnings ✓  cargo test ✓

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
funman300
2026-06-25 14:42:16 -07:00
commit 6ef4c40e29
79 changed files with 9158 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
# FUT → OpenFUT Core Endpoint Map
This document maps confirmed or suspected FIFA 23 FUT API endpoints to their OpenFUT Core equivalents.
## Legend
- ✅ Confirmed + implemented
- 🟡 Suspected — implemented with placeholder
- ❌ Unknown — not yet mapped
---
## Auth
| FUT Endpoint | Core Endpoint | Status | Notes |
|---|---|---|---|
| `POST /ut/auth` | `POST /auth/local` | 🟡 | EA OAuth flow → local profile creation |
## Profile / Club
| FUT Endpoint | Core Endpoint | Status | Notes |
|---|---|---|---|
| `GET /ut/game/fut/user/settings` | `GET /profile` | 🟡 | |
| `GET /ut/game/fut/usermassinfo` | `GET /club` | 🟡 | EA bulk endpoint |
## Squad
| FUT Endpoint | Core Endpoint | Status | Notes |
|---|---|---|---|
| `GET /ut/game/fut/squad/active` | `GET /squad` | 🟡 | |
| `PUT /ut/game/fut/squad/active` | `POST /squad` | ❌ | |
## Packs
| FUT Endpoint | Core Endpoint | Status | Notes |
|---|---|---|---|
| `GET /ut/game/fut/store/packdetails` | `GET /packs` | 🟡 | |
| `POST /ut/game/fut/pack/buy` | `POST /packs/open/:id` | ❌ | |
## Transfer Market
| FUT Endpoint | Core Endpoint | Status | Notes |
|---|---|---|---|
| `GET /ut/game/fut/transfermarket` | `GET /market` | 🟡 | |
| `DELETE /ut/game/fut/trade/:id` | `POST /market/sell` | ❌ | |
## Matches / Seasons
| FUT Endpoint | Core Endpoint | Status | Notes |
|---|---|---|---|
| Unknown | `POST /matches/result` | ❌ | Needs capture |
## Objectives
| FUT Endpoint | Core Endpoint | Status | Notes |
|---|---|---|---|
| Unknown | `GET /objectives` | ❌ | Needs capture |
## SBCs
| FUT Endpoint | Core Endpoint | Status | Notes |
|---|---|---|---|
| Unknown | `GET /sbc` | ❌ | Needs capture |
| Unknown | `POST /sbc/submit` | ❌ | Needs capture |