Рассинхронизация в мультиплеере Project Zomboid: как составить отчёт
Подготовка
Понадобятся два игрока для сравнения одного события, точные сборки и ветки клиента и сервера и разрешение изучить и обезличить журналы. Разные наблюдения положения или действий в мире указывают на возможную проблему синхронизации, но ещё не устанавливают диагноз. Зафиксируйте событие с двух клиентов, конфигурацию и нужные журналы, не угадывая исправление.
Откаты движения, медленная отрисовка, задержки, недостающие участки карты и слишком дальняя слышимость звука могут ощущаться похожими, но это разные симптомы. В примечаниях Stable 42.21 указаны конкретные исправления MP и продолжающееся исследование некоторых случаев дублирования и исчезновения зомби. Это не универсальное решение. Сопоставляйте описание с наблюдениями своей группы; воспроизведение здесь не проводилось.
Рассинхронизация, задержка или другой симптом
Опишите, в чём именно расходятся наблюдения. Возможное расхождение общего состояния — несовместимые результаты одного события, например разные положения персонажа после действия. Задержка ответа или локальное подтормаживание сами не показывают, что сервер и клиенты сохранили разные состояния.
До выбора названия запишите движение персонажа, завершение действия, изменение предмета, появление зомби либо отличие только экрана или звука. Долгое ожидание и подтормаживание фиксируйте как производительность; отсутствие территории или загрузки ячейки — как передачу карты; дальность звука — как аудиосимптом.
В примечаниях 42.21 описаны исправления отдельных случаев дублирования и исчезновения зомби после повторного входа в участок, а также изменения, связанные с вождением при загрузке карты и синхронизацией координат игроков на разных уровнях Z. Это сведения конкретной версии, а не способ определить причину нового инцидента.
Запишите одно событие с двух сторон
Выберите короткое событие, которое оба игрока могут описать, и сравните записи сразу. По возможности используйте общий источник времени и укажите часовой пояс. Не просите одного игрока восстанавливать чужой экран по памяти.
| Запись | Игрок А | Игрок Б |
|---|---|---|
| Время и часовой пояс | Начало события и момент расхождения | Тот же источник времени, если виден |
| Место | Здание, улица, ориентир или доступные координаты | Место, которое видел игрок |
| Общее действие | Что оба делали или наблюдали | Что увидел этот игрок |
| Результат | Положение, предмет, персонаж или состояние мира после действия | Соответствующее состояние |
| После события | Что изменилось после ожидания или повторного входа | Произошло ли то же самое |
Начните с одного действия, двух взглядов и состояния сразу после него. Неясное помечайте как «не наблюдалось»; если игроки не видели одного события или не согласны с последовательностью, сообщите об этом без домыслов. Повторный вход не является универсальным исправлением или доказательством сохранности данных. При наблюдении после входа запишите его как отдельное событие и сравните состояние обоих игроков. Не сбрасывайте, не перезаписывайте и не переносите живое сохранение ради воспроизведения.
Укажите точную сборку и сессию
Запишите версию, ветку и отображаемый идентификатор каждого клиента и сервера. Stable и Unstable обновляются отдельно; старый форумный отчёт может относиться к другой сборке. Источник датирует Stable 42.21 28 сентября 2026 года, но ваша группа может использовать иную версию.
Отметьте игровую сессию Host или выделенный сервер, новый или существующий мир, платформы и магазины со слов участников. Эти сведения не подтверждают совместимость платформ, магазинов или веток. При несовпадении версий зафиксируйте его и проверьте поддерживаемое сочетание по актуальной официальной инструкции до других гипотез. Не меняйте ветку и не конвертируйте сохранение по старому совету; сначала сохраните важные данные и проверьте рекомендации игры.
Зафиксируйте настройки без изменений
Опишите состояние на момент события: ID, доступные версии или ревизии и порядок загрузки модов, важные настройки и соответствие конфигураций участников. Список модов — контекст, а не доказательство причины. Запишите уже доступные сведения о сети и ресурсах, тип сервера, ведущего и приблизительное время отключения. Один замер пинга, процессора или памяти не устанавливает причину и не доказывает пользу обновления оборудования.
Сохраняйте исходную конфигурацию во время сбора отчёта; не меняйте сразу несколько параметров, не удаляйте моды и не перезапускайте сервер, если это сотрёт контекст. Попросите администратора сохранить нужный интервал журналов и убрать пароли, публичные IP, имена аккаунтов и чужие сведения.
Проведите безопасное контролируемое сравнение
Гипотезы проверяйте с разрешения владельца на отдельной копии или временном мире. Сначала создайте резервную копию рабочего мира, согласуйте версии клиента и сервера и запишите условия. Меняйте по одному фактору, отмечая неизменные условия.
Например, подозреваемый мод сравнивают с сокращённой или чистой конфигурацией только на изолированном мире. Отсутствие симптома означает «в этом тесте не воспроизведено», а не доказательство причины или исправления. При повторении сохраните новые наблюдения и журналы. Контролируемый тест сужает вопрос, но не объясняет автоматически все случаи.
Не используйте живой мир как контроль, не удаляйте сохранения и данные игроков и не применяйте широкую оптимизацию как универсальный рецепт. Если нет безопасной копии или непонятно восстановление у хостинга, остановитесь и спросите владельца или администратора.
Подготовьте обезличенный отчёт об ошибке
Объявление The Indie Stone о версии 42.21 направляет к инструкциям и форумам сообщений об ошибках. Перед публикацией проверьте актуальный порядок по официальной ссылке: канал может измениться. Передавайте краткое воспроизведение, а не список непроверенных причин.
- Сборка и ветка каждого клиента и сервера.
- Тип сессии: Host или выделенный сервер; мир новый или существующий.
- Платформы и магазины участников; моды и ревизии либо их отсутствие.
- Время и часовой пояс, место и короткие шаги воспроизведения.
- Ожидаемое состояние и фактическое наблюдение каждого игрока.
- Что произошло после события; нужные фрагменты журналов клиента и сервера.
- Что неизвестно или не наблюдалось.
Удалите из журналов пароли, токены, имена аккаунтов, публичные адреса и посторонние личные данные. Оставьте достаточно соседних строк, временные метки и текст ошибки. Если сомневаетесь, спросите владельца до публикации и проверьте скопированный фрагмент. Отделяйте наблюдение от предположения: разные позиции после одного действия в определённое время — наблюдение; «причина в нехватке RAM» требует доказательств.
Когда исследовать другую проблему
Медленный запуск, постоянные подтормаживания и общую производительность описывайте отдельно от доказанной рассинхронизации. Для задержки используйте измерение с учётом расположения игроков; незагруженную территорию или ячейку фиксируйте как передачу карты. Совпадение симптомов по времени не доказывает причинную связь.
Сравните записи: если они подтверждают повторяемое расхождение общего состояния, отправьте отчёт с точной конфигурацией и обезличенными данными. Иначе сохраните неопределённость и соберите более ясное событие. Смена хостинга или ветки, увеличение RAM и удаление всех модов не заменяют доказательств.
Короткие ответы
Доказывает ли высокий пинг вину сервера? Нет, одно значение полезно как контекст, но не объясняет расхождение. Может ли мод вызвать разные наблюдения? Это гипотеза; наличие мода не доказывает причину, проверяйте его только на безопасной копии. Что включить в отчёт? Точные версии клиента и сервера, тип сессии, моды, событие со временем и наблюдения обоих игроков и обезличенные журналы.
