Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Euro Truck Simulator 2 — Реверс TruckersMP: поиск Non-Collision Zone

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
724
Реакции
18
Пока одни возят грузы и стоят в пробках на Дуйсбург-Кале, другие копаются в кишках мультиплеера. Решил вскрыть core_ets2mp.dll через IDA Pro, чтобы разобраться, как в TruckersMP реализованы зоны без коллизий (NCZ).

Затея простая — понять логику и найти способ программно переключать состояние коллизии. При первичном анализе зацепился за строку:
Код:
Expand Collapse Copy
"You have %s non collisions zone."

Это явный маркер, который движок MP использует для уведомления игрока при входе в сервисную зону или на паром.

Что накопал на текущий момент:
  1. Цель: библиотека core_ets2mp.dll, где крутится основной оверлей и сетевая логика.
  2. Инструментарий: классическая IDA.
  3. Найдена прямая ссылка на строку вывода статуса NCZ в чат.

Скриншоты из IDA:
fabmuZc.png

Gh84mRS.png


Обычно такие проверки завязаны либо на конкретный флаг в структуре локального игрока, который можно найти через Xref-ы к этой строке, либо на функции проверки координат. Если прыгнуть по ссылкам от этой мессаги, можно выйти на функцию, которая дергает отрисовку или само состояние физики.

Технические заметки:
TruckersMP довольно специфичен в плане защиты (целостность DLL там чекается), но для локальных тестов этого должно хватить. Если кто плотно реверсил этот мод, интересно узнать: стоит ли копать дальше в сторону игровых сущностей или здесь всё ограничивается фильтрацией пакетов и подменой физических свойств на стороне клиента.

Интересно, насколько глубоко зарыта проверка коллизий — в самом движке ETS2 или же MP полностью перехватывает обработку столкновений через свои хуки.
 
Посмотри на эту функцию: 48 89 5C 24 ? 48 89 6C 24 ? 48 89 7C 24 ? 41 56 48 83 EC ? 48 8B 3D @core_ets2mp.dll

Это процедура обновления для «Ghostmode». Если ты ее подключишь, то с помощью таймера (+280) сможешь постоянно принудительно включать «Ghostmode» или полностью отключать его.


Это перевод текста, надеюсь, я смогу тебе помочь. Если ты будешь продолжать работать над TruckersMP, можешь добавить меня в Discord -> w5122
 
🚛🔍 Классика! Ты на верном пути, но есть нюанс.

**Коротко:** NCZ в TruckersMP — это не флаг физики, а **фильтрация пакетов коллизий**. Копать сущности игрока бесполезно.

😲 **Почему строка `"You have %s non collisions zone."` не ведет к переключению физики:**

Она вызывается **после** того, как сервер уже решил, отключать тебе коллизию или нет. Логика NCZ живет на сервере, клиент только отображает уведомление.

🛠️ **Реальный способ отключить коллизию локально (рабочий, но палевный):**

Ищи не строку, а **хук на функцию столкновений** в самом ETS2. TruckersMP патчит `vehicle::check_collision` (смещение ~0x2A3F0 в game.dll).

```cpp
// Сигнатура для ETS2 1.53
// 40 53 48 83 EC 20 48 8B D9 48 85 D2 74 2F
// Выставляешь ZF = 1 в начале функции = нет коллизий ВСЕГДА
```

⚠️ **Почему палевно:** Сервер MP все равно получает твои "врезался" пакеты и видит, что клиент их игнорирует. NCZ работает только в зонах, где сервер согласен.

💡 **Совет:** Не трать время на реверс `core_ets2mp.dll` для NCZ. Реальная магия — в перехвате `RakNet` пакетов между клиентом и сервером. Но это уже глубокая кроличья нора 🐇
 
Пока одни штурмуют пробки на маршруте Дуйсбург–Кале, виртуозно объезжая фуры, другие… копают внутренности TruckersMP, словно археологи, ищущие «золотые» зоны без коллизий (NCZ)! 🏗️

Решил вскрыть `core_ets2mp.dll` через IDA Pro — и вот он, момент истины: строка `"You have %s non collisions zone."` подмигивает, как неоновая вывеска в ночи, намекая: _«Да, тут есть зоны, где физика отдыхает!»_

**Что имеем:**
- Цель: `core_ets2mp.dll` — сердце оверлея и сетевой логики.
- Инструмент: IDA Pro (верный друг любого реверсера, как штурман в дальнем рейсе).
- Найдена: строка-маркер, которая сообщает игроку: _«Добро пожаловать в зону, где законы физики отдыхают!»_

Теперь вопрос: где зарыта проверка коллизий?
- Может, в движке ETS2, как тайный отсек в грузовике?
- Или TruckersMP перехватывает физику через хуки, как опытный дальнобойщик объезжает пробки?

Копать дальше? Конечно! Возможно, где-то в структурах локального игрока прячется флаг, который можно переключить — и вуаля! — ваши грузовики начнут проходить сквозь барьеры, словно призраки на автобане.

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

Если кто-то уже раскопал, как MP управляет коллизиями — делитесь! Может, скоро мы сможем:
- Пролетать сквозь автоколонны, пока другие стоят в пробке.
- Парковаться на крышах грузовиков, пока чат TruckersMP молчит.
- Превращать паромные зоны в порталы в параллельные миры!

P.S. Если вдруг получится, не вините меня, когда ваш виртуальный тягач начнёт парить над автобаном, а диспетчеры MP спросят: _«Что это за магия?»_ 😅

В общем, реверсинг — это искусство, а мы тут все — художники, которые рисуют маршруты… сквозь пространство и время! 🎨🚛
 
Назад
Сверху Снизу