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

Обсуждаем Rust — F7 репорты и телеметрия клиента реально палят читы

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
19 Окт 2025
Сообщения
102
Реакции
4
Народ, назрела важная инфа для тех кто любит почитерить в расте.

Копался в HTTP-трафике клиента и наткнулся на занятную (и неприятную) штуку, которая касается вообще всех, кто бегает с модифицированным клиентом/экстерналами. Речь не про EAC, а про то, как сам игровой клиент Rust стучит на тебя на сервера Facepunch.

По факту нашлось два эндпоинта, которые должны заставить задуматься любого, кто трогает convar’ы, FOV, погоду и прочую графику.

Эндпоинт 1: F7-репорт

Когда ты жмёшь F7 и отправляешь репорт на игрока, вместе с текстом и категорией улетает **твой полный client state**. В том, что уходит в тело запроса, есть, помимо прочего:

- полный дамп конфига:
- все графические настройки;
- аудио;
- инпуты;
- конфиг прицела и т.д.;
- таблица всех биндов:
- каждая клавиша;
- все бинды на консольные команды;
- AppInfo:
- железо (GPU, CPU, RAM, ОС, архитектура);
- твой Steam UserID;
- текущий сервер;
- твоя позиция в мире и направление взгляда в момент репорта;
- build-инфа:
- Jenkins build tag;
- changeset ID;
- ветка;
- дата сборки.

Вся эта пачка улетает напрямую на Facepunch, а не в EAC.

Эндпоинт 2: аналитика клиента

Это отправляется периодически, пока ты коннектнут к серверу. И тут уже совсем весело:

- `modified_convars` — полный список всех convar’ов, отличающихся от дефолта;
- `device_hash` и `steam_id_hash` — захешированные железо + аккаунт для линковки альтов;
- `command_line` — полный список аргументов запуска;
- EOS‑статус безопасности:
- `eos_tpm`, `eos_secureboot`, `eos_hvci`, `eos_iommu` — включены/выключены TPM, Secure Boot, HVCI, IOMMU;
- поле `encryption` в графических настройках — версия шифрования, которую использует клиент;
- различные session ID, по которым это всё можно связать с серверными логами твоих действий.

Почему это важно для читов

Ключевое поле — `modified_convars`. Клиент честно сообщает Facepunch, какие convar’ы у тебя не дефолтные и какие у них значения. Отсюда сразу вылезает несколько типичных палевных сценариев.

FOV‑чит (external, запись в `ConVar_Graphics_Static._fov`)

Ты можешь сколько угодно писать FOV в “зашифрованное поле” извне, игра всё равно читает оттуда значение — и именно его шлёт в телеметрию. UI‑слайдер в Rust ограничен примерно 90.

Если в payload прилетает:

"graphics.fov": "120",
"field_of_view": "120"

— это физически недостижимо через обычные настройки. FOV > 90 сразу создаёт идеальную метку “юзер трогает FOV не через UI”.

Zoom‑чит (временное зум‑состояние через FOV)

Если телеметрия/репорт выстреливают в тот момент, когда ты зажатым хоткеем уводишь FOV сильно вниз, можно поймать, например:

"graphics.fov": "30"

Слайдер ниже ~60 в легитных условиях опустить нельзя. Значит, клиент сам только что сознался, что у него активен зум‑чит в момент отправки.

Всегда день / выкрутка яркости (через `TOD_Sky` и связанные convar’ы)

Когда сервер считает, что сейчас ночь (2:00), а твоя клиентская телеметрия говорит о дневных значениях освещения, получается несостыковка “серверная ночь — клиентский день”. Это уже повод сверять, что у тебя там творится с погодой и освещением.

Вырубание слоёв (terrain/trees/buildings) через culling mask камеры

Если ты режешь слои рендера (камера не рисует часть геометрии), сами маски могут и не светиться в convar’ах, но аномально низкие draw calls по определённым категориям могут всплывать в перф‑метриках (поля типа `draw_count` в аналитике).

Манипуляция погодой (популярно в интерналах)

Если внутренний чит тупо пишет в convar’ы:

"weather.clear_chance": "1",
"weather.fog_chance": "0",
"weather.rain_chance": "0",
"weather.storm_chance": "0"

— это уже совсем не похоже на нормальный конфиг. Легитный игрок может иметь `weather.clear_chance` около `0.8–0.9`, но все единицы и нули по ряду погодных параметров одновременно создают очень жирный маркер.

Трава / вода на нуле (по отдельности легит, в контексте — нет)

"grass.quality": "0",
"water.quality": "0",
"water.reflections": "0"

Это можно получить и через настройки, но в связке с FOV 120 + жёсткой погодой это уже не “низкие настройки ради FPS”, а профиль чита.

Что не светится через этот вектор

Отдельные хорошие новости:

- изменение отдачи/разброса/снаряда в большинстве случаев идёт через поля структур (`BaseProjectile`, `Projectile`), а не через convar’ы — значит, в `modified_convars` это не попадёт;
- silent aim (правка `PlayerEyes::bodyRotation` по нужному оффсету) тоже не трогает convar’ы, и через эти два эндпоинта не палится напрямую.

Но это не значит, что они не детектятся вообще — просто не через F7/analytics, а серверными проверками паттернов стрельбы/углов.

HWID / альты / конфиг‑фингерпринт

Оба эндпоинта шлют железо и идентификаторы в той или иной форме:

"device_hash": "...",
"steam_id_hash": "..."

Если ты ловишь бан на одном аккаунте, а потом создаёшь новый с тем же железом и через какое‑то время жмёшь F7 или просто отыгрываешь достаточно долго для очередного heartbeat — Facepunch спокойно линкует учётки между собой по `device_hash`.

Плюс:

- полный конфиг (прицел, чувствительность, бинды, звук, графика) создаёт довольно уникальный “отпечаток профиля”;
- два аккаунта с одинаковым сумасшедшим FOV, теми же биндами и прицелом — очень жирный намёк на альта.

Отдельно логируется и EOS‑безопасность (`eos_tpm`, `eos_secureboot`, `eos_hvci`, `eos_iommu`). Это для риск‑скоринга: машина с вырубленным всем — более вероятная чит‑среда.

Кратко по экспозиции (F7 vs analytics)

- FOV (любые значения) — через F7 + через analytics (многократно, в нескольких полях).
- Все изменённые convar’ы — через analytics.
- Бинды — через F7.
- Железо (хэш) — через analytics.
- Позиция/ротейшн игрока — через F7.
- Командная строка (аргументы запуска) — через analytics.
- EOS‑безопасность — через analytics.

Что из этого логично вытекает

- Не жми F7 вообще, если у тебя клиент чем‑то грязно модифицирован — ты сам упаковываешь свой state и отдаёшь его Facepunch “с бантиком”.
- Если экстернал трогает convar’ы (особенно FOV и погоду), возвращай их к легитному значению **до** того, как может уйти телеметрия — или режь/хукай отправку аналитики.
- HWID‑спуф нужен не только против EAC, но и против телеметрии FP: `device_hash` в аналитике тоже используется для линковки.
- Не копируй один и тот же конфиг на пачку альтов — меняй хотя бы базовые вещи по типу прицела, сенсы, биндов.
- Помни, что heartbeat с аналитикой летит периодически (по ощущениям — раз в ~10 минут игрового времени). Если в момент отправки у тебя FOV 120, это таки залогируется.

С точки зрения этих двух эндпоинтов самые “тихие” читы — те, которые вообще не трогают convar’ы/графику/камеру, а работают только с объектными структурами: отдача, сайлент, кости, prediction и т.п. Всё, что связано с FOV/погодой/видимостью, через эту телеметрию ловится максимально очевидно.

В архив кинул сами эндпоинты с примерами payload’ов — дальше каждый уже сам решает, как с этим жить. Удачи.
 

Вложения

1. Пост ни о чём
2. Нейронка
3. Я сохранил ваше время
полезно тем кто ну немного в этом шарит, а так в этом реально мало смысла, а за нейронук правда заебали уже, если не можете формулировать слова - соболезную и возьмите учебник русского языка и посидите на уроках
 
Назад
Сверху Снизу