fix(network): prevent null multiplayer peer crashes offline/teardown and fix Nakama RPC session validation
This commit is contained in:
@@ -196,6 +196,7 @@ func host_game(room_meta: Dictionary = {}):
|
||||
if bridge.match_state == NakamaMultiplayerBridge.MatchState.CONNECTED:
|
||||
print("[NakamaManager] Already hosting a match; ignoring duplicate host request.")
|
||||
return
|
||||
|
||||
if bridge.match_state != NakamaMultiplayerBridge.MatchState.DISCONNECTED:
|
||||
# Stranded mid-join (e.g. previous attempt never resolved). Reset so the
|
||||
# bridge is idle before we try again.
|
||||
@@ -203,8 +204,9 @@ func host_game(room_meta: Dictionary = {}):
|
||||
await bridge.leave()
|
||||
|
||||
print("Hosting match via Nakama Bridge...")
|
||||
await bridge.create_match()
|
||||
# Store room metadata in Nakama storage so other players can see it in listings
|
||||
var result = await bridge.create_match()
|
||||
if result and result.is_exception():
|
||||
emit_signal("match_join_error", result.get_exception().message)
|
||||
if session and current_match_id and room_meta.size() > 0:
|
||||
var meta_json = JSON.stringify(room_meta)
|
||||
var write_obj = NakamaWriteStorageObject.new(
|
||||
|
||||
Reference in New Issue
Block a user