Сначала зафиксируйте исходное состояние
Запишите версию комплекта и клиента, полный путь установки, время ошибки, активный dataPath, игровой порт и последний выполненный шаг. Сохраните журнал до повторной установки. Не публикуйте ключи и полный txData. Меняйте один фактор за раз и повторяйте одну и ту же проверку.
Различайте падение монитора txAdmin, остановку игрового дочернего процесса и отказ отдельного ресурса. Если панель открывается, но игра остановлена, txAdmin продолжает работать; диагностировать нужно журнал игрового процесса.
EXE показывает часть ASCII-логотипа и закрывается
- Проверьте, что скачан серверный комплект целиком и архив распакован, а EXE не запускается прямо из ZIP.
- Перенесите чистую распаковку в короткий ASCII-путь, например
C:\OpenM-Server. Кириллица в имени пользователя тоже входит в полный путь. - Выполните
Check-Server.cmdи сохраните результат проверки. При несовпадении runtime-файлов повторно скачайте и распакуйте архив в новую папку. - Запустите диагностический
Start-Server.cmd, чтобы сохранить вывод помощника; основной способ повседневного запуска остаётсяFXServer.exe. - Проверьте карантин защитного ПО, права записи и «Просмотр событий → Журналы Windows → Приложение» в момент падения. Не отключайте защиту целиком и не скачивайте DLL с посторонних сайтов.
- Убедитесь, что EXE и библиотеки не смешаны с другим выпуском. Перед переустановкой сохраните состояние и данные.
Неполный логотип сам по себе не определяет виновную DLL или компонент. Для точного вывода нужны код завершения, журнал или событие Windows.
Панель не открывается или порт занят
Проверьте адрес панели из вывода запуска, процесс, порт и отсутствие второй копии. По умолчанию используется 40120, но фактический запуск может выбрать другой разрешённый порт. Проверьте слушателя:
Get-NetTCPConnection -State Listen -LocalPort 40120 -ErrorAction SilentlyContinue |
Select-Object LocalAddress, LocalPort, OwningProcess
Не завершайте PID вслепую. Сначала определите его программу и назначение. Если порт занят другим экземпляром OpenM, используйте его панель либо штатно остановите лишний экземпляр. Для нескольких серверов назначьте разные порты по инструкции переноса.
«Ключ доступа OpenM должен содержать 43 символа»
В поле доступа, вероятно, вставлен ключ публикации. Ключ доступа выдаётся отдельно для выбранного сервера и имеет 43 символа base64url. Seed публикации — другой секрет, обычно 44 символа base64 с завершающим =; он вводится на шаге публикации или загружается файлом .seed.
Не обрезайте seed до 43 символов и не удаляйте =. Получите правильный ключ в разделе доступа карточки и примените мастер повторно. Уже выданное значение может не показываться снова: при потере используйте предусмотренную замену ключа. Подробности — ключи.
Файлы публикации выбраны, но мастер отказывает
Проверьте, что publisher.json и .seed выданы одной операцией для одного keyId и сервера. ID должен совпадать с выбранным доступом игроков. Не меняйте JSON вручную для обхода сравнения. Если одна часть пары потеряна, выдайте новую пару и примените её целиком.
Если используется сохранённый ключ, он должен соответствовать импортируемой конфигурации. Пустое поле повторной настройки означает сохранение подходящего существующего значения, а не автоматическую выдачу нового.
В server.cfg только несколько строк
Это нормальная структура стартового профиля: exec openm-server.cfg подключает параметры, созданные мастером; ensure запускает ресурсы. Проверьте активный dataPath и содержимое подключаемого файла. Секретный admission хранится отдельно и не должен появляться в server.cfg. См. конфигурацию.
Если изменения не применяются, проверьте порядок всех exec: более поздняя команда может переопределять значение. Мастер не разбирает вложенные файлы рекурсивно. Не создавайте несколько противоречивых endpoint-настроек.
Сервер не появляется в каталоге
Проверьте статус модерации, публикацию, актуальный endpoint, рабочий игровой процесс и строки [OpenM catalog]. heartbeat withheld указывает локальную причину; отказ центрального сервиса — проблему ключа, карточки, подписи или политики. Проверьте время Windows и исходящий HTTPS.
Сразу после старта подождите несколько циклов heartbeat и обновите карточку. Если ресурс падает и сервер постоянно рестартует, исправьте старт режима. Изменение карточки может требовать повторной модерации. См. публикацию.
Карточка есть, но нет кода подключения
Короткий код не выдаётся автоматически всем новым карточкам. В текущем портале это отдельное поле администратора. Используйте кнопку подключения или полный ID-маршрут шлюза. Не пересоздавайте сервер ради появления кода: новый ID потребует новых согласованных настроек.
Карточка есть, а шлюз недоступен
Сравните ID в локальном info.json, карточке и URL. Проверьте свежий heartbeat, admission и внешний TCP игрового порта. Убедитесь, что DNS endpoint не указывает на внутренний адрес, а NAT ведёт на игровой компьютер. Успех локального 127.0.0.1 не подтверждает внешний доступ.
Недоступность произвольного /players.json через шлюз ожидаема: маршрут не разрешён. /client требует протокольного POST от клиента, поэтому GET из браузера не является проверкой handshake. См. шлюз.
Ресурсы загрузились, но вход зависает
Проверьте игровой UDP, NAT и клиентский журнал. Успешный Test-NetConnection проверяет TCP, а не UDP. Затем исследуйте ошибки framework, спавна и БД. Если RP-режим управляет спавном, проверьте конфликт с openm-local. Не считайте успешный HTTP-запрос доказательством полной игровой сессии.
Ошибки ресурса или SQL
Couldn't find resource требует проверки имени папки, вложенности и refresh. Ошибка манифеста — проверки синтаксиса и поддерживаемых директив. Отсутствующий export — версии зависимости и порядка запуска. Неизвестный native — совместимости с движком. Ошибки таблицы/колонки — схемы и миграций; ошибка доступа SQL — пользователя, host-части, пароля и прав.
После исправления повторите конкретное действие игрока, которое вызывало ошибку. Одно исчезновение сообщения при старте не подтверждает все функции ресурса.
Что приложить в поддержку
Укажите ID сервера, версии, время с часовым поясом, ожидаемое и фактическое поведение, шаги повторения, результат Check-Server и короткий обезличенный лог. Добавьте, из какой сети выполнялась проверка. Не прикладывайте секретные файлы, пароли и полный дамп БД. Обращение можно создать на сайте поддержки.