{"ok":true,"ready":false,"service":"bunker-api","status":"needs_attention","checks":{"php":{"ok":true,"version":"8.2.35","required":"8.1+"},"pdo":{"ok":true},"openssl":{"ok":true,"message":"OpenSSL доступен для шифрования повторяемых ответов создания/входа в комнату."},"pdo_mysql":{"ok":true,"available":true,"required":false,"message":"PDO MySQL доступен."},"pdo_sqlite":{"ok":true,"available":true,"required":false,"message":"PDO SQLite доступен."},"config":{"ok":true,"source":".env","env_file_loaded":true,"env_file_exists":true,"legacy_config_exists":false,"legacy_config_deprecated":true,"driver_mode":"auto","message":"Настройки загружены из .env. Значения .env имеют приоритет над старым config.php."},"security":{"ok":true,"registration_code_hash":true,"app_secret":true,"https":true,"message":"Защита регистрации и транспорта настроена."},"guest_registration":{"ok":true,"enabled":true,"message":"Гостевая регистрация включена отдельным кодом."},"integrations":{"ok":true,"telegram":{"status":"stub","enabled":false,"message":"Telegram не подключён и не требуется для работы сайта."},"smtp":{"status":"stub","enabled":false,"message":"SMTP не подключён. Регистрация работает по коду приглашения без email."},"message":"Необязательные интеграции отключены заглушками и не влияют на готовность сайта."},"database":{"ok":true,"driver":"mysql","message":"Соединение с MySQL установлено."},"sqlite_fallback":{"ok":true,"used":false,"reason":"","selected_by":"auto","locked_driver":"mysql","file_ready":false,"writable":false,"message":"Переключение на резервную SQLite не потребовалось."},"tables":{"ok":false,"found":["rooms","room_players","player_cards","room_events","room_messages","vote_rounds","votes","cards","scenarios","room_round_cards","ability_cards","player_abilities","survival_assessments","app_users","auth_rate_limits","schema_migrations","guest_accounts","content_packs","content_pack_cards","content_pack_scenarios","content_pack_abilities"],"missing":["room_content_packs","game_action_receipts"],"required_count":23,"message":"Не найдены таблицы: room_content_packs, game_action_receipts. Для MySQL выполни накопительные миграции по инструкции, последняя — database/migrations/upgrade_012_game_modes_multiple_packs.sql; SQLite создаёт структуру автоматически."},"player_account_link":{"ok":true,"message":"Привязка игровых мест к аккаунтам настроена."},"content":{"ok":true,"skipped":true,"cards_count":0,"scenarios_count":0,"message":"Проверка содержимого будет выполнена после исправления структуры базы."},"card_categories":{"ok":true,"skipped":true,"missing":[],"message":"Проверка категорий пропущена."}},"message":"Не все проверки пройдены. Смотрите сообщения рядом с каждым пунктом диагностики."}