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
+24
View File
@@ -0,0 +1,24 @@
[
{
"id": "daily_play_1_match",
"title": "Daily Match",
"description": "Play 1 match today.",
"objective_type": "daily",
"metric": "matchesplayed",
"target": 1,
"reward_coins": 500,
"reward_pack_id": null,
"reward_xp": 100
},
{
"id": "daily_score_3_goals",
"title": "Hat-Trick Hero",
"description": "Score 3 goals in matches today.",
"objective_type": "daily",
"metric": "goalsscored",
"target": 3,
"reward_coins": 750,
"reward_pack_id": null,
"reward_xp": 150
}
]
@@ -0,0 +1,46 @@
[
{
"id": "lifetime_10_wins",
"title": "10 Victories",
"description": "Win 10 matches total.",
"objective_type": "lifetime",
"metric": "matcheswon",
"target": 10,
"reward_coins": 2000,
"reward_pack_id": "gold_pack",
"reward_xp": 500
},
{
"id": "lifetime_open_5_packs",
"title": "Pack Opener",
"description": "Open 5 packs.",
"objective_type": "lifetime",
"metric": "packsopened",
"target": 5,
"reward_coins": 1000,
"reward_pack_id": null,
"reward_xp": 250
},
{
"id": "lifetime_complete_3_sbcs",
"title": "SBC Enthusiast",
"description": "Complete 3 Squad Building Challenges.",
"objective_type": "lifetime",
"metric": "sbcscompleted",
"target": 3,
"reward_coins": 5000,
"reward_pack_id": "rare_gold_pack",
"reward_xp": 750
},
{
"id": "lifetime_earn_50k_coins",
"title": "Coin Collector",
"description": "Earn 50,000 coins total.",
"objective_type": "lifetime",
"metric": "coinsearned",
"target": 50000,
"reward_coins": 10000,
"reward_pack_id": null,
"reward_xp": 1000
}
]