Skip to content

troubleshooting.ru

github-actions[bot] edited this page Oct 5, 2026 · 2 revisions

Устранение неполадок

Warning

Машинный перевод, не проверенный носителем языка. Основным является английский текст.


Быстрая диагностика

Сначала запустите встроенную проверку окружения - она ловит большинство проблем:

lightspeed --check

Она проверяет: доступность перехватчика, инструменты фильтрации пакетов, разрешение профиля игры и связь с прокси.


Частые проблемы

"Interceptor not available"

CLI: В вашей ОС нет нужных инструментов фильтрации пакетов или вам не хватает прав.

ОС Требуется Как исправить
Linux nftables или iptables + root sudo lightspeed ...
macOS pfctl (встроен) + root sudo lightspeed ...
Windows драйвер WinDivert + Администратор Правый щелчок → Запуск от имени администратора

Проверьте так:

lightspeed --check

"No game traffic seen" / Packets Sent остается на 0

CLI: Перехватчик не может найти игровые пакеты в ожидаемом диапазоне портов.

  1. Убедитесь, что ваша игра подключена к серверу (не только в главном меню или лобби)
  2. Проверьте игру через --scan-processes:
    lightspeed --scan-processes
  3. Попробуйте другой профиль игры или ручной режим сервера

GUI (Windows): Подождите 15 секунд. Если появился янтарный баннер "⚠ No game traffic seen":

  1. Откройте PowerShell с повышенными правами:
    Get-NetUDPEndpoint -OwningProcess (Get-Process RustClient).Id |
      Where-Object LocalPort -gt 1024 |
      Select-Object LocalPort
  2. Используйте показанный порт в Advanced → set server manually

"🎯 Finding your game server…" никак не завершается

Детектор не увидел 3 пакета в один и тот же адрес в пределах 1.5 секунд.

  1. Убедитесь, что подключены к игровому серверу (подвигайте персонажем, чтобы создать трафик)
  2. Если пакеты все еще не определяются через 15 секунд, ваш сервер на нестандартном порту - используйте ручной режим сервера
  3. Остановите и перезапустите перехватчик после подключения к серверу

Packets Sent растет, Packets Delivered = 0

Пакеты доходят до прокси, но ответы не доходят до игры. Обычно это проблема файрвола.

Linux:

sudo iptables -I INPUT -p udp --sport 4434 -j ACCEPT

macOS:

sudo pfctl -d  # Временно отключить pf для проверки

Windows:

# Проверить, существует ли правило файрвола
netsh advfirewall firewall show rule name="LightSpeed WinDivert Tunnel"

# Добавить его вручную, если его нет
netsh advfirewall firewall add rule name="LightSpeed" protocol=UDP dir=in action=allow program="C:\path\to\lightspeed-gui.exe"

Проверка работоспособности прокси не проходит

# Проверить связь
curl http://YOUR_PROXY_IP:8080/health

# Ожидаемый ответ:
# {"status":"ok","node_id":"relay-1","uptime_secs":86400,...}

Если недоступен:

  • Проверьте, что прокси запущен: systemctl status lightspeed-proxy
  • Проверьте, что файрвол разрешает UDP 4434 и TCP 8080
  • Проверьте журналы прокси: journalctl -u lightspeed-proxy --tail 50

Игра отключается при запуске перехватчика

Перехватчик забирает пакеты прежде, чем игра успевает получить ответы, и путь инъекции не срабатывает.

Windows:

  1. Убедитесь, что WinDivert64.sys и WinDivert.dll лежат рядом с .exe
  2. Отключите вторичные сетевые адаптеры (виртуальные адаптеры Docker, VMware, Hamachi)
  3. Подключитесь к игровому серверу до запуска перехватчика

Linux:

  1. Проверьте правила nftables: sudo nft list ruleset | grep lightspeed
  2. Если правила устарели: sudo lightspeed --check для диагностики

"WinDivert open failed" / FWP_E_IN_USE (0x8032000A) в Windows

WinDivert регистрирует WFP-callout/фильтр для каждого открытого дескриптора. Если дескриптор никогда не закрывается, это состояние фильтра остается, и следующий WinDivertOpen падает с FWP_E_IN_USE (0x8032000A), даже если ни один процесс явно не использует WinDivert.

Свежие сборки LightSpeed закрывают оба дескриптора, захвата и инъекции, на каждом штатном пути завершения, включая Ctrl+C в --watch и --start-interceptor и Quit в GUI, а цикл приема разблокируется через WinDivertShutdown перед закрытием, так что завершение детерминировано. Жесткое убийство (taskkill /f, падение или закрытие окна консоли) все еще может оставить драйвер WinDivert 2.2.x с устаревшим состоянием; это ограничение драйвера на стороне вышестоящего проекта (basil00/WinDivert#294, #406), которое пользовательский код не может очистить после исчезновения процесса.

Если вы все еще с ним столкнулись:

  1. Завершите аккуратно и подождите немного: используйте Ctrl+C в CLI или Quit в GUI, затем дайте дескрипторам секунду-другую на закрытие, прежде чем запускать заново.
  2. Остановите службу WinDivert (в некоторых случаях избавляет от перезагрузки; учтите, драйвер общий с любым другим приложением на базе WinDivert на машине):
    sc stop windivert
  3. Полное выключение, а не перезагрузка: "Перезагрузка" в Windows может переиспользовать сессию ядра, которая держит устаревшее состояние; полное Выключение → включение питания его очищает.

Совет: На v1.2.2 и более ранних отдельный баг (аутентификация плоскости данных отклоняла все пакеты, issue #59) замораживал соединение и заставлял пользователей раз за разом убивать клиент, что и вызывало большинство сообщений о FWP_E_IN_USE. Этот баг аутентификации исправлен в v1.2.3.


Проблемы с GUI в Windows

Это относится к приложению lightspeed-gui в Windows.

Quit ничего не сделал и оставил процесс-зомби

В версиях до v1.4.2 выбор Quit в меню трея мог оставить процесс работать в фоне (зомби), так что окно закрывалось, но движок продолжал работать, и следующий запуск вел себя странно. v1.4.2 это исправляет: теперь Quit завершает процесс аккуратно.

Если у вас старая сборка и процесс завис, завершите его вручную:

Get-Process lightspeed-gui -ErrorAction SilentlyContinue | Stop-Process

Затем обновитесь до v1.4.2 или новее.

Открывается второй экземпляр вместо фокуса на первом

В версиях до v1.4.2 двойной запуск GUI открывал второе окно и второй движок. Теперь GUI держит защиту от второго экземпляра: повторный запуск показывает короткое уведомление "LightSpeed is already running" и завершается вместо старта еще одного движка. Чтобы все же принудительно открыть второй экземпляр (для диагностики), передайте --force или задайте LIGHTSPEED_GUI_FORCE=1.

Релеи не обнаружены

GUI находит общественные релеи через подписанный реестр. Если список релеев остается пустым:

  1. Убедитесь, что у вас есть доступ в интернет и что файрвол или VPN не блокирует исходящий HTTPS к реестру.
  2. Проверьте журнал GUI (см. ниже) на ошибку загрузки реестра или проверки подписи.
  3. В сборке CLI выполните lightspeed-client --probe-proxies, чтобы увидеть отчет об обнаружении и прощупывании напрямую. Если CLI тоже ничего не находит, проблема на стороне сети, а не в GUI.
  4. Перезапустите GUI после исправления связи; обнаружение выполняется при запуске.

Как найти и открыть журнал GUI

GUI пишет журнал трассировки в:

%LOCALAPPDATA%\Lightspeed\gui-trace.log

Вставьте этот путь в адресную строку Проводника, чтобы открыть папку, затем откройте gui-trace.log в любом текстовом редакторе. Приложите его к отчету об ошибке.

"Heartbeat 0 in" в журнале

Строка вида Heartbeat 0 in означает, что движок отправил ноль keepalive-сердцебиений в текущем окне. На практике она появляется, когда клиент еще не установил рабочее соединение с плоскостью управления, так что сердцебиения не уходили. Частые причины:

  • Клиент еще не зарегистрировался на релее (проверьте строку регистрации в окне статуса).
  • Выбранный релей недоступен.
  • Перехватчик не запущен, так что активной сессии нет.

Как только регистрация пройдет и сердцебиения начнут идти, счетчик растет. Если он остается на 0, хотя релей показывает здоровый статус, выполните lightspeed-client --test-control, чтобы выяснить, доступна ли плоскость управления.


Журналы для отчетов об ошибках

Запустите с отладочным журналированием, чтобы собрать подробную диагностику:

# CLI
RUST_LOG=debug lightspeed --start-interceptor --game rust --proxy YOUR_PROXY:4434 2>&1 | tee lightspeed.log

# Windows GUI
cd C:\path\to\lightspeed
lightspeed-gui.exe 2>&1 | tee lightspeed-log.txt

Приложите файл журнала к вашему issue на GitHub.


Все еще не получается?

  • Частые вопросы - популярные вопросы
  • GitHub Issues - поиск по существующим сообщениям
  • Откройте новое issue с вашей ОС, игрой и выводом журнала

Clone this wiki locally