chore: release version 2.3.5 and refactor lobby

Bump export_presets.cfg version to 2.3.5. Update CHANGELOG_DRAFT.md.
Refactor lobby.gd into LobbyChat, LobbyMainMenu, LobbyRoomList, LobbyRoom.
Move Nakama config to environment variables in nakama_manager.gd.
Derive auth_manager.gd encryption key from OS.get_unique_id().sha256_text().
Remove Steam email auth fallback. Require auth ticket.
Make GachaManager.pull() async in gacha_panel.gd.
Remove dummy wallet seeding. Add store_type to IAP payload.
Validate IAP receipts server-side in economy.lua.
Register gacha module in main.lua.
Clean backend_service.gd stubs.
Fix featured_banners type safety in gacha_manager.gd. Guards non-array responses.
Move tiles_armagedon_a1.res to assets/models/meshes/. Fix import fallback_path.
This commit is contained in:
2026-05-22 12:08:11 +08:00
parent 8430d1054e
commit decdb74ade
356 changed files with 27438 additions and 1630 deletions
+14
View File
@@ -1,3 +1,17 @@
## [2.3.5] — 2026-05-22
- Refactored `lobby.gd` into modular helper classes (`LobbyChat`, `LobbyMainMenu`, `LobbyRoomList`, `LobbyRoom`) to reduce file size and improve maintainability.
- Externalized Nakama connection config in `nakama_manager.gd` — server key, host, port, and scheme now read from environment variables with ProjectSettings fallback.
- Hardened `auth_manager.gd` session encryption — replaced static key with device-specific key derived from `OS.get_unique_id().sha256_text()`.
- Removed Steam email-based fallback auth; Steam login now requires a valid auth ticket (no more dev-mode workaround).
- Wired `GachaManager.pull()` as async (`await`) in `gacha_panel.gd` to support server-side gacha rolls.
- Removed dummy wallet seeding from `gacha_panel.gd` — wallet balances now sourced exclusively from server.
- Added `store_type` field to currency purchase payload for IAP receipt routing.
- Added server-side IAP receipt validation in `economy.lua` with Google Play, Apple, and test-mode receipt support.
- Registered `gacha` Lua module in `main.lua` server entrypoint.
- Cleaned up stub methods (achievements, leaderboard, shop wrappers) from `backend_service.gd`.
- Fixed `featured_banners` type safety in `gacha_manager.gd` — guards against non-array server responses.
- Removed stale `tiles_armagedon_a1.res` from project root (asset relocated to `assets/models/meshes/`).
## [2.3.4] — 2026-05-15
- Modernized `GachaPanel` and `FragmentCraftPanel` UI to align with the Tekton dark theme and Lobby aesthetics.
- Updated panel borders to use standard 4px content margins, matching the Login and Lobby interfaces.