false, 'error' => 'Missing room id']); exit; } $room = get_room($roomId); if (!$room) { echo json_encode(['success' => false, 'error' => 'Room not found']); exit; } $state = $room['state'] ?? []; $hasDynamicObjects = !empty($state['bombs']) || !empty($state['explosions']); if ($room['status'] === 'playing' || $hasDynamicObjects) { $room = update_room_tick($room); save_room_state($roomId, $room['state'], $room['status']); } $sessionPlayer = get_session_player($roomId); $playerToken = $sessionPlayer['token'] ?? null; echo json_encode([ 'success' => true, 'room' => [ 'id' => $room['id'], 'name' => $room['name'], 'status' => $room['status'], 'max_players' => (int) $room['max_players'] ], 'state' => $room['state'], 'player_token' => $playerToken, 'server_time' => now_ms() ]);