Мод «ISyncYouSyncWeAllSyncForDeSync» на Project Zomboid
Мод ISyncYouSyncWeAllSyncForDeSync для Project Zomboid устраняет рассинхронизацию (десинк) в мультиплеере Build 42. Реализует активную синхронизацию позиций, экстраполяцию движения, защиту боя, исправление «гост-зомби», синхронизацию анимаций транспорта и систему обучения угрозам. Работает в одиночной игре и на серверах.
Функционал мода:
- Активная синхронизация позиций (экстраполяция движения): Сервер транслирует авторитетные позиции игроков, зомби и транспорта. Клиенты предсказывают перемещение между обновлениями, используя экстраполяцию скорости с экспоненциальным затуханием. Коррекция позиций выполняется плавно, без телепортации (порог мгновенной коррекции настраивается). Зомби в радиусе ближнего боя (3 клетки) от любого игрока получают приоритетную синхронизацию каждые 2 тика. Приоритет отдается ближайшим к игрокам зомби с жестким лимитом (по умолчанию 150). В зоне боя (в радиусе 4 клеток) позиции зомби не корректируются во время активного конфликта, что предотвращает сбои регистрации попаданий. Интерполяция угла поворота транспорта использует математику кратчайшей дуги для плавной синхронизации вращения. Синхронизируется состояние фар (ближний/дальний свет, стоп-сигналы, режим светоотражателей). Обнаружение дельты состояния: транслируются только те сущности, у которых изменились позиция, здоровье или направление. Используется фрагментация UDP-пакетов по 50 сущностей для предотвращения переполнения буфера.
- Защита боя (Combat Guard): Обнаруживает «призрачные удары» (атаки ближнего боя, не попадающие в цель из-за рассинхрона позиции зомби). После 3+ промахов за 8 секунд отправляется запрос серверу на сканирование и удаление гост-зомби. Восстанавливает выносливость, потраченную на удары по пустоте. Автоматически восстанавливает работу, когда попадания снова регистрируются.
- Исправление зомби (на стороне сервера): Сервер сканирует ближайших зомби при отчете о сбое в бою. Удаляет гост-зомби (здоровье <= 0, но статус «мертв» не установлен — они продолжают атаковать). Превентивная очистка: удаляет гост-зомби в зонах, отмеченных системой памяти угроз. Ограничение частоты для предотвращения злоупотреблений: глобальный кулдаун 10 секунд, для каждого игрока — 15 секунд.
- Исправление транспорта: Создает снимки состояния деталей транспорта перед входом в зоны с высоким риском десинка. Сервер может откатить повреждения транспорта, полученные в подтвержденные окна десинка. Снимки автоматически истекают через 60 секунд, чтобы предотвратить использование устаревших данных.
- Синхронизация анимаций транспорта: Синхронизирует анимации дверей и окон между всеми клиентами. Двери открываются мгновенно через playPartAnim. Окна используют предсказательную интерполяцию со временем через setOpenDelta — плавно, без потоковой передачи каждый тик. Совместимо с модифицированным транспортом (Vanilla Vehicles Animated, Filibuster Rhymes и др.).
- Память угроз и превентивный движок: Запоминает, ГДЕ и КОГДА происходит десинк. Паттерны сохраняются между перезагрузками сервера через ModData. Записывает условия триггера: плотность зомби, переходы чанков, количество игроков, скачки пинга. Уровень достоверности растет при повторении инцидентов и снижается, если зона остается чистой. Превентивный движок проверяет ситуацию каждые 3 секунды и действует ДО повторения десинка в известных проблемных зонах. Угрозы от зомби: запрашивает превентивную очистку на сервере или отправляет ранние предупреждения. Угрозы для транспорта: предупреждает водителя и создает защитные снимки состояния. Команда администратора для выгрузки или очистки памяти угроз.
- Обнаружение и мониторинг: Сторожевые таймеры для боя с зомби и передвижения на транспорте. Трекер горячих точек на основе чанков с затуханием и оценкой серьезности. Монитор здоровья сервера с настраиваемой частотой выборки. Валидатор позиций обнаруживает «резиновую ленту» (3+ скачка более чем на 3 клетки за 30 секунд). Предварительная загрузка чанков: загружает чанки в направлении движения транспорта.
- Щит синхронизации и смягчение последствий: Откладывает рискованные взаимодействия с транспортом, пока потоковая передача чанков или здоровье синхронизации нестабильны. Страж очереди транспорта очищает запланированные действия с задержкой во время опасных окон смягчения. Ограниченные по частоте предупреждения для игроков и администраторов при повышении риска рассинхрона.
- Инструменты администратора: Опциональный легкий HUD статуса для отображения риска в текущей зоне и недавних инцидентов. Контекстное меню: выгрузка состояния риска, событий, горячих точек, обзор сводок. Пометка инцидентов для проверки справедливости, ручная маркировка горячих точек. Генерация тестовых событий, переключение журнала отладки. Выгрузка или очистка паттернов памяти угроз.
Настройки песочницы:
Все параметры настраиваются в меню настроек песочницы, перезапуск сервера не требуется:
- Независимое включение/отключение каждой функции (синхронизация позиций, защита боя, синхронизация анимаций транспорта и т.д.).
- Настройка интервалов синхронизации (тики трансляции для игроков/зомби/транспорта).
- Установка максимального количества синхронизируемых зомби, дистанции синхронизации и дистанции мгновенной коррекции.
- Настройка кулдаунов смягчения последствий и порогов предупреждений.
Совместимость:
- Project Zomboid Build 42.
- Одиночная игра и мультиплеер (выделенные серверы, кооператив).
- Каждый вызов Java API обернут в pcall — мод не может вызвать краш сервера или клиента.
- При возникновении ошибок молча возвращается к ванильному механизму синхронизации.
Установка:
- Подпишитесь на мод в Steam Workshop.
- Добавьте ISyncYouSyncWeAllSyncForDeSync в строку Mods= в файле .ini вашего сервера.
- Добавьте Workshop ID в строку WorkshopItems=.
- Клиентам достаточно подписаться на мод — дополнительная настройка не требуется.
Техническая информация:
- Workshop ID: 3705645576
- Mod ID: ISyncYouSyncWeAllSyncForDeSync
| Билд Project Zomboid | |
Le Dodique
→
Cybercult 2: New York Apostasy

![[PZCh] Realism [PZCh] Realism](/upload/000/u1/d/2/d22d8ca2.webp)

![[B42.17] Zombies Have Cigarettes [B42.17] Zombies Have Cigarettes](/upload/000/u1/2/7/0cd5a904.webp)





