Documents the cross-platform server switcher: backend.txt mechanism, domain presets, interactive/CLI usage, cert import (Windows / Proton), launch, settings location and self-contained publish commands. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ProspectServerSwitcher
Petit utilitaire multi-OS (Linux/Proton + Windows) pour pointer un client The Cycle: Frontier vers un serveur, importer le certificat, et lancer le jeu.
Pourquoi
L'agent Prospect (Prospect.Agent.dll, injecté par Prospect.Client.Loader.exe)
hooke l'URL de l'API PlayFab et la remplace par le contenu de backend.txt,
placé à côté de l'exécutable du jeu (Prospect/Binaries/Win64). S'il est absent,
l'agent retombe sur https://127.0.0.1:8443.
Tout l'aiguillage du client tient donc dans cette seule valeur. Cet outil ne fait
essentiellement qu'écrire le bon backend.txt — plus quelques commodités (cert, launch).
Serveurs (presets)
Les presets utilisent les domaines publics pour que la même cible marche pour tout le monde (le DNS résout vers l'IP publique pour les amis, et le certificat TLS unifié couvre les deux hostnames) :
| Preset | URL |
|---|---|
prod |
https://tc.nfteam.ovh:8443 |
preprod |
https://rd-tc.nfteam.ovh:8444 |
Sur le même LAN que le serveur, ajoute une entrée hosts pour éviter le hairpin NAT :
192.168.1.136 tc.nfteam.ovh 192.168.1.136 rd-tc.nfteam.ovh
Utilisation
Menu interactif
Lance le binaire sans argument :
- 1 : définir le dossier du jeu (
…/Prospect/Binaries/Win64) — mémorisé - 2/3 : basculer sur PROD / PREPROD
- 4 : URL personnalisée
- 5 : importer un certificat (
.crt) - 6 : lancer le jeu
- 0 : quitter
En ligne de commande (scriptable)
ProspectServerSwitcher --folder "<...>/Prospect/Binaries/Win64" --set preprod
ProspectServerSwitcher --set prod
ProspectServerSwitcher --set https://mon-serveur:8443 # URL libre
⚠️
backend.txtn'est lu qu'au démarrage du loader → relance le jeu après un switch. Le serveur ciblé doit tourner (conteneurs on-demandthe-cycle-api/the-cycle-api-rd).
Certificat
- Windows : import automatique dans Autorités de certification racines de confiance (utilisateur courant).
- Linux/Proton : le certificat doit être approuvé dans le préfixe Wine du jeu.
L'outil détecte le préfixe Proton de l'app
868270et affiche la commande prête :WINEPREFIX="…/compatdata/868270/pfx" wine certutil -addstore -f Root "certificate.crt"
Lancement
- Windows : démarre
Prospect.Client.Loader.exedepuis le dossier du jeu. - Linux/Proton : passe par Steam (
steam steam://rungameid/868270) — le loader doit tourner dans le préfixe Proton.
Réglages
Le dossier du jeu est mémorisé dans
…/ApplicationData/ProspectSwitcher/settings.json
(%AppData% sous Windows, ~/.config sous Linux).
Build / publication
Projet console net8.0 (cross-platform, InvariantGlobalization), jamais buildé par
la CI serveur (Linux).
# build simple
dotnet build src/Prospect.Client.Config -c Release
# binaires autonomes single-file (aucun .NET requis chez l'utilisateur)
dotnet publish src/Prospect.Client.Config -c Release -r win-x64 --self-contained \
-p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:EnableCompressionInSingleFile=true
dotnet publish src/Prospect.Client.Config -c Release -r linux-x64 --self-contained \
-p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true
Les binaires publiés sont distribués via la release Gitea friends-client
(ProspectServerSwitcher.exe pour Windows, ProspectServerSwitcher-linux-x64 pour Linux).