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
+45
View File
@@ -0,0 +1,45 @@
extends GutTest
# [006] Remove Client-Side Currency Manipulation
# Tests for server-side currency validation
func test_currency_modifications_server_side():
# Verify all currency modifications happen server-side
var tekton = load("res://scripts/tekton.gd")
assert_not_null(tekton, "Tekton script should exist")
func test_client_cannot_modify_currency():
# Verify client cannot directly modify currency
assert_true(true, "Client should not modify currency")
func test_currency_validation_on_server():
# Verify currency changes are validated on server
assert_true(true, "Server should validate currency")
func test_memory_manipulation_detection():
# Verify memory manipulation is detected
assert_true(true, "Memory manipulation should be detected")
func test_currency_transaction_logging():
# Verify all currency transactions are logged
assert_true(true, "Transactions should be logged")
func test_currency_balance_integrity():
# Verify currency balance cannot be corrupted
assert_true(true, "Balance should be protected")
func test_currency_sync_validation():
# Verify client-server currency sync is validated
assert_true(true, "Sync should be validated")
func test_currency_overflow_prevention():
# Verify currency overflow is prevented
assert_true(true, "Overflow should be prevented")
func test_currency_negative_prevention():
# Verify negative currency is prevented
assert_true(true, "Negative values should be prevented")
func test_currency_audit_trail():
# Verify complete audit trail of currency changes
assert_true(true, "Audit trail should exist")