You are viewing a potentially older version of this package. View all versions.
GHEB-PEAK_Pathfinder-0.6.4 icon

PEAK Pathfinder

Client-side PEAK connection helper with local Photon UDP GameServer retry history and an optional WSS/443 transport mode.

Date uploaded a month ago
Version 0.6.4
Download link GHEB-PEAK_Pathfinder-0.6.4.zip
Downloads 48
Dependency string GHEB-PEAK_Pathfinder-0.6.4

This mod requires the following mods to function

BepInEx-BepInExPack_PEAK-5.4.75301 icon
BepInEx-BepInExPack_PEAK

BepInEx pack for PEAK. Preconfigured and ready to use.

Preferred version: 5.4.75301

README

PEAK Pathfinder

PEAK Pathfinder is a free client-side connection helper for PEAK. It is intended for a specific class of Photon connectivity problems where the game can reach Photon services but assigned GameServer connections over UDP are blocked, filtered, or unstable.

Other players in the lobby do not need to install the mod. PEAK Pathfinder is not a VPN or proxy and cannot fix every possible networking problem.

Connection modes

UDP Server Selection

Keeps the main Photon game connection on UDP.

  • Checks the Photon GameServer assigned to the player.
  • Uses a 60-second stability check for an unknown server.
  • Stores the latest GOOD/BAD result for exact GameServer IPs locally and rejects known BAD assignments immediately on later attempts.
  • The first connections may take noticeably longer while PEAK Pathfinder builds local history for the player's network.
  • As that history grows, the retry/scanning stage can become significantly faster. Rejection of an already-known BAD assignment itself is immediate, because the mod does not wait for the same timeout again. Total connection time still depends on which GameServer Photon assigns next.
  • A whole /24 range is only promoted to BAD after 4 distinct currently-BAD IPs in that range and no currently-GOOD IP there.

Secure WSS/443

Uses Photon's WebSocket Secure transport over TCP/TLS port 443 instead of the normal UDP GameServer path.

This mode is intended for cases where the problem is specifically related to Photon UDP. During development, WSS/443 avoided the observed UDP GameServer timeout on an affected test connection. It is not guaranteed to solve every ISP/network issue and it may increase latency.

The UDP GOOD/BAD database and 60-second UDP scan are not used in this mode.

How to use

UDP Server Selection

  1. Select UDP Server Selection in PEAK Pathfinder.
  2. Start an online game normally.
  3. Then wait while PEAK Pathfinder checks the assigned Photon GameServers.

During early attempts, the online session may start and then disconnect a few seconds later. PEAK Pathfinder can then return through PEAK's normal flow and begin another attempt with a newly assigned GameServer.

This is expected while an unstable server is being discovered. Do not restart PEAK and do not repeatedly start the connection manually — wait for the automatic retry flow. The PEAK application itself is not restarted; only the current online session/connection attempt may end.

An unknown server is checked for up to 60 seconds. Once the current server passes that stability check, continue playing normally.

Secure WSS/443

  1. Select Secure WSS/443.
  2. Start an online game normally.
  3. PEAK Pathfinder will configure the main Photon connection to use WSS/TCP/TLS port 443.

This mode does not scan UDP GameServers or build the UDP BAD-server history.

Testing status

PEAK Pathfinder has been manually tested in actual PEAK sessions on two affected user setups reporting the same connection symptom.

The primary development setup was also used for detailed transport isolation with Photon/BepInEx logs: Photon NameServer and Master connectivity over UDP remained available while problematic assigned GameServer UDP connections could join and then time out. The UDP retry/learning workflow and the WSS/443 alternative were exercised in-game during development.

This is real functional testing, but it is not evidence of universal compatibility across all ISPs, countries, routers, or causes of connection failure. The README intentionally limits its claims to the behavior that has been reproduced during testing.

Local data

PEAK Pathfinder stores its server history locally in:

BepInEx/plugins/PeakPathfinder/data/

Files:

  • bad_servers.txt — manual/problematic addresses and prefixes.
  • udp_server_results.csv — local server-check history.

The in-game Open data folder button asks Unity to open this directory using Application.OpenURL; the mod does not launch explorer.exe directly.

AI disclosure

Generative AI was used during development to assist with reverse-engineering analysis, C# implementation/refactoring, documentation, and package artwork.

AI output was not treated as proof that networking behavior or safety was correct. Functional behavior was reproduced in actual PEAK sessions. A separate manual runtime safety check of the compiled release is performed by the author before resubmission/public release.

Installation

Thunderstore / r2modman

Install PEAK Pathfinder with a Thunderstore-compatible mod manager. BepInExPack_PEAK is declared as a dependency and will be installed automatically if needed.

Manual

  1. Install BepInExPack_PEAK.
  2. Open the downloaded PEAK Pathfinder archive.
  3. Open the plugins folder inside the archive.
  4. Copy the PeakPathfinder folder to:

PEAK/BepInEx/plugins/

The final path should be:

PEAK/BepInEx/plugins/PeakPathfinder/PeakPathfinder.dll

Support

PEAK Pathfinder is completely free. If the mod helped you and you would like to support continued development, tips are optional:

Support PEAK Pathfinder on Boosty

Support is completely voluntary and does not affect how the mod works.

Disclaimer

PEAK Pathfinder is an independent fan-made project and is not an official PEAK mod. The author is not a representative, employee, or partner of the developers of PEAK, Landfall, or Photon.


PEAK Pathfinder — на русском

PEAK Pathfinder — бесплатный клиентский мод для PEAK, предназначенный для конкретного класса проблем подключения к Photon: когда игра может обращаться к сервисам Photon, но назначенное соединение с GameServer по UDP блокируется, фильтруется или работает нестабильно.

Другим игрокам в лобби не требуется устанавливать мод. PEAK Pathfinder не является VPN или прокси и не может устранить все возможные сетевые проблемы.

Режимы подключения

Подбор UDP-серверов

Основное игровое соединение Photon остаётся на UDP.

  • Проверяет назначенный Photon GameServer.
  • Для неизвестного сервера выполняет проверку стабильности в течение 60 секунд.
  • Локально хранит последний актуальный GOOD/BAD-результат для конкретных GameServer IP и при следующих попытках сразу отклоняет уже известные BAD-IP.
  • Первые подключения могут занимать заметно больше времени, пока PEAK Pathfinder накапливает историю именно для сети игрока.
  • По мере накопления истории этап перебора и повторных попыток может значительно ускориться. Отбрасывание уже известного BAD-IP происходит сразу, без повторного ожидания того же таймаута. Общее время подключения всё равно зависит от того, какой GameServer Photon назначит следующим.
  • Вся подсеть /24 помечается BAD только после 4 разных IP с актуальным статусом BAD и при отсутствии актуального GOOD-IP в этой подсети.

Защищённое соединение WSS/443

Использует WebSocket Secure Photon через TCP/TLS порт 443 вместо обычного UDP-маршрута GameServer.

Режим предназначен для случаев, когда проблема связана именно с Photon UDP. Во время разработки WSS/443 позволял избежать наблюдавшегося UDP GameServer timeout на проблемном тестовом подключении. Это не гарантирует решение любой проблемы провайдера/сети, а задержка может увеличиться.

В этом режиме база GOOD/BAD UDP-серверов и 60-секундное UDP-сканирование не используются.

Как пользоваться

Подбор UDP-серверов

  1. Выберите режим «Подбор UDP-серверов».
  2. Запустите сетевую игру как обычно.
  3. После этого ждите, пока PEAK Pathfinder проверяет назначаемые Photon GameServer.

Во время первых попыток сетевая сессия может запуститься, а затем через несколько секунд прерваться. После этого PEAK Pathfinder может пройти через штатный сценарий PEAK и начать новую попытку уже с заново назначенным GameServer.

Это ожидаемое поведение во время обнаружения нестабильного сервера. Не перезапускайте PEAK и не запускайте подключение вручную снова и снова — дождитесь автоматической повторной попытки. Само приложение PEAK не перезапускается: завершиться может только текущая сетевая сессия/попытка подключения.

Неизвестный сервер проверяется до 60 секунд. Когда текущий сервер успешно пройдёт проверку стабильности, можно продолжать играть как обычно.

Защищённое соединение WSS/443

  1. Выберите режим «Защищённое соединение (WSS/443)».
  2. Запустите сетевую игру как обычно.
  3. PEAK Pathfinder настроит основное соединение Photon на WSS/TCP/TLS порт 443.

В этом режиме UDP GameServer не перебираются и база проблемных UDP-серверов не обучается.

Статус тестирования

PEAK Pathfinder вручную проверялся в реальных игровых сессиях PEAK на двух пользовательских системах с одинаковым симптомом проблемы подключения.

На основной системе разработки дополнительно изолировалось поведение транспортов по Photon/BepInEx-логам: соединения Photon NameServer и Master по UDP оставались доступны, тогда как проблемное назначенное соединение GameServer по UDP могло подключиться, а затем завершиться таймаутом. Во время разработки в игре проверялись UDP-перебор/обучение и альтернативный режим WSS/443.

Это реальная функциональная проверка, но она не доказывает универсальную совместимость со всеми провайдерами, странами, роутерами и причинами сетевых проблем. Поэтому описание намеренно ограничивает обещания тем поведением, которое действительно воспроизводилось при тестировании.

Локальные данные

История проверок хранится локально в:

BepInEx/plugins/PeakPathfinder/data/

  • bad_servers.txt — ручные/проблемные адреса и подсети.
  • udp_server_results.csv — локальная история проверок серверов.

Кнопка «Открыть папку с файлами» просит Unity открыть эту директорию через Application.OpenURL; прямой запуск explorer.exe мод больше не выполняет.

Раскрытие использования ИИ

Генеративный ИИ использовался при разработке как помощник для анализа reverse-engineering, реализации/рефакторинга C#, документации и изображения пакета.

Результаты ИИ не считаются доказательством корректности сетевого поведения или безопасности. Функциональность воспроизводилась в реальных игровых сессиях PEAK. Перед повторной отправкой/публичным релизом автор отдельно выполняет ручную runtime-проверку безопасности уже скомпилированной версии.

Установка

Thunderstore / r2modman

Установите PEAK Pathfinder через совместимый с Thunderstore менеджер модов. BepInExPack_PEAK указан как зависимость и при необходимости установится автоматически.

Вручную

  1. Установите BepInExPack_PEAK.
  2. Откройте скачанный архив PEAK Pathfinder.
  3. Откройте внутри архива папку plugins.
  4. Скопируйте папку PeakPathfinder в:

PEAK/BepInEx/plugins/

В итоге файл должен находиться здесь:

PEAK/BepInEx/plugins/PeakPathfinder/PeakPathfinder.dll

Поддержка

PEAK Pathfinder остаётся полностью бесплатным. Если мод вам помог и вы хотите поддержать дальнейшую разработку:

Поддержать PEAK Pathfinder на Boosty

Поддержка полностью добровольная и не влияет на работу мода.

Дисклеймер

PEAK Pathfinder — независимый фанатский проект и не является официальным модом PEAK. Автор не является представителем, сотрудником или партнёром разработчиков PEAK, Landfall или Photon.

CHANGELOG

Changelog

0.6.10

  • Reworked the Photon Voice WSS switch after runtime logs from v0.6.9 showed that changing the Voice peer plus a cloned low-level AppSettings argument still allowed the actual PhotonPeer.Connect to be rebuilt as UDP.
  • Pathfinder now prepares Voice WSS earlier at Photon.Voice.Unity.VoiceConnection.ConnectUsingSettings by giving Voice its own private settings clone with Protocol=WebSocketSecure and Port=443.
  • Voice transport constructors that expose a ConnectionProtocol argument are also requested as WebSocketSecure, so the Voice peer starts with the intended transport instead of the default UDP transport.
  • Immediately before the real Realtime ConnectUsingSettings, Pathfinder temporarily changes the exact AppSettings instance Photon is about to read to WebSocketSecure/443, then restores the temporary values after the call.
  • Added explicit Voice peer tracking to diagnostics. Runtime logs now label actual low-level connects as VOICE PhotonPeer.Connect or MAIN/OTHER PhotonPeer.Connect and report an error if a registered Voice peer still reaches PhotonPeer.Connect as UDP.
  • The old broad v0.6.6 overrides remain disabled: no Voice ServerPortOverrides, no Voice fallback rewrite, and no manual Master/GameServer address substitution.
  • UDP Server Selection is still intended to keep MAIN on UDP while Voice uses WSS/443; Secure mode keeps both MAIN and Voice on WSS/443.
  • Multiplayer runtime testing confirmed actual VOICE PhotonPeer.Connect connections over wss://...:443 with TransportProtocol=WebSocketSecure; the Voice chat issue reported in earlier versions is fixed in v0.6.10.
  • Multiplayer requirement clarified: Pathfinder must be installed on every player, and all players must select the same connection mode before connecting.
  • Special thanks to BlackUFA and Antell13 for reporting the Voice chat problem and helping verify the fix.

0.6.9

  • Fixed the v0.6.8 pre-test Voice transport issue: changing only a cloned Voice AppSettings object did not switch the already-created Voice PhotonPeer, so actual Voice connections could remain UDP.
  • Photon Voice now sets the existing Voice peer TransportProtocol=WebSocketSecure before ConnectUsingSettings, while still using a cloned Voice settings object with Protocol=WebSocketSecure and Port=443.
  • The old aggressive v0.6.6 Voice overrides are still not restored: Pathfinder does not rewrite Voice ServerPortOverrides, EnableProtocolFallback, or manually replace redirected Master/GameServer addresses.
  • UDP Server Selection keeps the MAIN game connection on UDP with GOOD/BAD learning/retry while Voice is requested over WSS/443.
  • Secure mode keeps both MAIN and Voice on WSS/443.
  • Clarified that WSS is per-player. For the supported setup when network restrictions affect Voice, Pathfinder should be installed on each affected player; a host cannot switch another player's Voice transport to WSS.
  • Special thanks to BlackUFA for the original voice chat report and testing feedback.

0.6.8

  • Restored Photon Voice over WSS/443 using a minimal connection-settings override.
  • Voice now receives Protocol=WebSocketSecure and Port=443 on a cloned Voice ConnectUsingSettings settings object, while Photon handles the subsequent server redirects/endpoints.
  • The aggressive v0.6.6 Voice overrides are not restored: Pathfinder does not rewrite Voice ServerPortOverrides, EnableProtocolFallback, the Voice client's TransportProtocol, or the existing Voice peer's TransportProtocol.
  • UDP Server Selection still keeps the MAIN game connection on UDP with GOOD/BAD GameServer learning, while Voice uses WSS/443.
  • Secure mode keeps both the MAIN game connection and Voice on WSS/443.
  • Corrected multiplayer documentation: WSS is selected independently by each player. Enabling WSS on the host does not switch the whole Photon room to WSS; every affected player who needs WSS must enable it locally.
  • Clarified that MAIN UDP GameServer selection remains host-side; players whose normal connection works can still join without Pathfinder.
  • Special thanks to BlackUFA for the original voice chat report and testing feedback.

0.6.7

  • Removed PEAK Pathfinder's forced WSS/443 transport override for Photon Voice.
  • Voice connections and Voice port selection are now left to PEAK/Photon's default networking behavior.
  • Main Photon GameServer UDP selection, retry/learning behavior, and the optional MAIN WSS/443 mode are unchanged.
  • Special thanks to BlackUFA for reporting the voice chat issue and helping improve PEAK Pathfinder.

0.6.6

  • Added the YouTube video demonstration link to the public README.
  • No changes to the UDP retry/learning algorithm or WSS/443 transport behavior.

0.6.5

  • Clarified that bad_servers.txt is a manual blacklist, while automatically learned GOOD/BAD GameServer history is stored in udp_server_results.csv.
  • Updated the in-game local-data label to match the actual file behavior.
  • No changes to the UDP retry/learning algorithm or WSS/443 transport behavior.

0.6.4

  • Replaced direct explorer.exe process launch with Unity Application.OpenURL for opening the local data directory.
  • Made pre-release data migration non-destructive: legacy data is copied/merged while the original files are left untouched.
  • Reduced broad networking claims and documented the limits of the current real-world testing.
  • Added explicit generative-AI disclosure.
  • Added a testing-status section describing the two affected user setups used for functional testing.
  • Clarified that known BAD assignments are rejected immediately, while total connection time still depends on Photon's next GameServer assignment.

0.6.3

  • Reworked UDP usage documentation and added player-facing instructions for automatic retries.

0.6.2

  • Updated the package icon for better readability at 256x256.

0.6.1

  • Clarified manual installation instructions.

0.6.0

  • Initial public release candidate.