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.6 |
| Download link | GHEB-PEAK_Pathfinder-0.6.6.zip |
| Downloads | 1102 |
| Dependency string | GHEB-PEAK_Pathfinder-0.6.6 |
This mod requires the following mods to function
BepInEx-BepInExPack_PEAK
BepInEx pack for PEAK. Preconfigured and ready to use.
Preferred version: 5.4.75301README
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.
Video demonstration
Watch the PEAK Pathfinder demonstration on YouTube
The video shows the first-run UDP learning/retry flow, immediate skipping of already-known BAD GameServer assignments, /24 subnet rejection after sufficient BAD history, the local GOOD/BAD history file, and the optional WSS/443 mode.
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
/24range 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
- Select UDP Server Selection in PEAK Pathfinder.
- Start an online game normally.
- 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
- Select Secure WSS/443.
- Start an online game normally.
- 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 blacklist only; one IPv4 address or/24prefix per line.udp_server_results.csv— local server-check history and the automatically learned GOOD/BAD state used on later UDP attempts.
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
- Install
BepInExPack_PEAK. - Open the downloaded PEAK Pathfinder archive.
- Open the
pluginsfolder inside the archive. - Copy the
PeakPathfinderfolder 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 или прокси и не может устранить все возможные сетевые проблемы.
Видео-демонстрация
Посмотреть демонстрацию PEAK Pathfinder на YouTube
В видео показаны первый UDP-поиск и накопление истории, мгновенное отбрасывание уже известных BAD GameServer, отбрасывание /24-подсети после накопления достаточной BAD-истории, локальный файл GOOD/BAD-истории и альтернативный режим WSS/443.
Режимы подключения
Подбор 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-серверов
- Выберите режим «Подбор UDP-серверов».
- Запустите сетевую игру как обычно.
- После этого ждите, пока PEAK Pathfinder проверяет назначаемые Photon GameServer.
Во время первых попыток сетевая сессия может запуститься, а затем через несколько секунд прерваться. После этого PEAK Pathfinder может пройти через штатный сценарий PEAK и начать новую попытку уже с заново назначенным GameServer.
Это ожидаемое поведение во время обнаружения нестабильного сервера. Не перезапускайте PEAK и не запускайте подключение вручную снова и снова — дождитесь автоматической повторной попытки. Само приложение PEAK не перезапускается: завершиться может только текущая сетевая сессия/попытка подключения.
Неизвестный сервер проверяется до 60 секунд. Когда текущий сервер успешно пройдёт проверку стабильности, можно продолжать играть как обычно.
Защищённое соединение WSS/443
- Выберите режим «Защищённое соединение (WSS/443)».
- Запустите сетевую игру как обычно.
- 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— только ручной чёрный список; по одному IPv4-адресу или/24-префиксу в строке.udp_server_results.csv— локальная история проверок и автоматически накопленная GOOD/BAD-база, используемая при следующих UDP-попытках.
Кнопка «Открыть папку с файлами» просит Unity открыть эту директорию через Application.OpenURL; прямой запуск explorer.exe мод больше не выполняет.
Раскрытие использования ИИ
Генеративный ИИ использовался при разработке как помощник для анализа reverse-engineering, реализации/рефакторинга C#, документации и изображения пакета.
Результаты ИИ не считаются доказательством корректности сетевого поведения или безопасности. Функциональность воспроизводилась в реальных игровых сессиях PEAK. Перед повторной отправкой/публичным релизом автор отдельно выполняет ручную runtime-проверку безопасности уже скомпилированной версии.
Установка
Thunderstore / r2modman
Установите PEAK Pathfinder через совместимый с Thunderstore менеджер модов. BepInExPack_PEAK указан как зависимость и при необходимости установится автоматически.
Вручную
- Установите
BepInExPack_PEAK. - Откройте скачанный архив PEAK Pathfinder.
- Откройте внутри архива папку
plugins. - Скопируйте папку
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
AppSettingsargument still allowed the actualPhotonPeer.Connectto be rebuilt as UDP. - Pathfinder now prepares Voice WSS earlier at
Photon.Voice.Unity.VoiceConnection.ConnectUsingSettingsby giving Voice its own private settings clone withProtocol=WebSocketSecureandPort=443. - Voice transport constructors that expose a
ConnectionProtocolargument are also requested asWebSocketSecure, 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 exactAppSettingsinstance Photon is about to read toWebSocketSecure/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.ConnectorMAIN/OTHER PhotonPeer.Connectand report an error if a registered Voice peer still reachesPhotonPeer.Connectas 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.Connectconnections overwss://...:443withTransportProtocol=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
AppSettingsobject did not switch the already-created VoicePhotonPeer, so actual Voice connections could remain UDP. - Photon Voice now sets the existing Voice peer
TransportProtocol=WebSocketSecurebeforeConnectUsingSettings, while still using a cloned Voice settings object withProtocol=WebSocketSecureandPort=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=WebSocketSecureandPort=443on a cloned VoiceConnectUsingSettingssettings 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'sTransportProtocol, or the existing Voice peer'sTransportProtocol. - 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.txtis a manual blacklist, while automatically learned GOOD/BAD GameServer history is stored inudp_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.exeprocess launch with UnityApplication.OpenURLfor 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.