Factorio Руководство

Desync в Factorio: какие данные собрать для диагностики

Соберите отчёт о desync Factorio, точные версии и сценарий воспроизведения, сохранив приватность мира.

Desync в Factorio: какие данные собрать для диагностики

Если Factorio создал desync report, сначала сохраните его и запишите, что происходило в игре. Отчёт содержит состояние мира клиента и сервера, но сам по себе не называет причину. Не начинайте с удаления модов или перезапуска единственного экземпляра: можно потерять повторяемый сценарий или изменить сохранение.

Desync означает, что симуляции на сервере и хотя бы одном клиенте разошлись. Это не другое название высокого ping или сетевого лагa: сетевые задержки сами по себе не объясняют расхождение состояния. Причиной могут быть ошибка игры, мода/сценария или вычислений оборудования.

Сбор данных о desync. Схема объясняет порядок действий; это не запись живого профиля или теста.

Сохраните первый полезный отчёт#

После обнаружения рассинхронизации дождитесь, пока клиент завершит создание отчёта. Сохраните оригинальный ZIP отдельно и не редактируйте его. Запишите локальное время и часовой пояс, номер сборки, версию игры сервера, где именно возникла ошибка: сразу при входе, после снятия паузы или уже во время игры.

Отчёт может содержать копию карты и состояния игры с клиента и сервера, а также log.txt. Архив бывает большим и может раскрыть план базы, названия станций, действия игроков и внутреннюю конфигурацию мира. Храните оригинал приватно. Перед публичным размещением получите согласие владельца карты и участников; если достаточно описания, не загружайте сам архив в открытый форум или чат.

Составьте краткую карточку события#

Для администратора и автора мода полезны следующие сведения:

  • точные версии клиента и сервера, stable или experimental;
  • включён ли Space Age у участников и использует ли сохранение его контент;
  • полный список модов с точными версиями и зависимостями; отметьте недавние изменения;
  • сценарий и версия сохранения, не публикуя само сохранение без разрешения;
  • последовательность событий перед desync: действия игрока, планета, поезд, постройка или момент после входа/снятия паузы;
  • повторяется ли ошибка на копии и после какого именно действия;
  • отдельные релевантные строки клиентского и серверного журналов с временем, предварительно скрыв токены и личные данные.

Не называйте случайный набор строк из конца журнала «логом desync». Важны записи около того же времени и точные версии. Перед передачей просмотрите полный журнал: он может раскрывать имя пользователя и локальные пути к файлам; удалите эти сведения и другие чувствительные данные, если они присутствуют.

Ищите триггер на копии#

Сделайте отдельную копию мира и повторите только безопасный минимальный сценарий. Если ошибка появилась после обновления мода, на копии можно откатить именно этот мод и проверить прежнее состояние, сохранив оба результата. Если модов много, по согласованию с их авторами проверяйте группы или выполняйте последовательное исключение на тестовой карте. После каждого шага записывайте точный набор и версию модов.

Не выключайте моды на рабочем сохранении: пропажа созданных им сущностей, рецептов или данных может повредить мир. Если проблема появляется только при входе нового игрока, приостановка сервера может изменить момент проявления, но это не доказывает и не исправляет причину.

Форумы Factorio содержат примеры, где повторяющийся desync при входе удалось связать с конкретной конфигурацией мода. Это полезные истории для понимания метода, но не диагноз вашей базы. Одинаковое сообщение или момент возникновения ещё не доказывают одинаковую ошибку.

Передайте данные тому, кто сможет их разобрать#

Для модифицированного мира сначала обратитесь к автору мода или сценария. Для немодифицированной игры используйте раздел официального форума, соответствующий ошибкам игры. Спросите, какой минимальный набор им нужен, и передавайте отчёт приватным способом, когда он содержит данные карты.

Сравнение файлов отчёта и Heavy mode могут помочь разработчику сузить поиск. Но внутренние дампы не всегда читаются как обычный текст, а отличия между сохранениями не обязательно являются первопричиной: серверная копия могла быть создана уже после дальнейших изменений. Не объявляйте подозреваемый мод виновным по одному diff.

Перезапуск иногда временно позволяет подключиться, но условия ошибки могут вернуться; он не является гарантированным исправлением. Сначала сохраните отчёт, журнал и точную конфигурацию. Если после перезапуска симптом исчез, запишите это как наблюдение и продолжите проверять воспроизведение на копии.

Источники#

Отчёт — это диагностический материал, а не автоматическое исправление. Не загружайте его публично, пока не проверили, какие данные о мире и игроках он содержит.

Если сервер работает на вашем Linux VPS, Nexardo может помочь управлять собственной инфраструктурой — узнать о продукте.