Skip to content

Référence des Canaux IPC ​

ProtocoleContrôlePreload

Toutes les communications entre le Renderer Process (DOM) et le Main Process (Node.js) transitent par une liste blanche statique de canaux IPC validée dans preload.js. Tout appel ciblant un canal non répertorié est rejeté avec une exception de sécurité.


1. Canaux d'Authentification (src/main/ipc-auth.js) ​

Canal IPCTypeParamètresDescription
auth:start-device-flowinvokeAucunDéclenche le flux OAuth2 Device Code et retourne le code court ainsi que l'URL de connexion.
auth:poll-device-flowinvokedeviceCodeSonde l'API Microsoft jusqu'à validation par le joueur ou expiration du délai.
auth:save-accountinvokeaccountDataChiffre et persiste le profil joueur dans le trousseau local.
auth:get-accountsinvokeAucunRetourne la liste des comptes enregistrés (jetons sensibles masqués).
auth:remove-accountinvokeuuidSupprime un compte et purge ses identifiants chiffrés du disque.
auth:proxy-skininvokeskinUrlAgit comme proxy HTTPS pour télécharger la texture du skin sans blocage CORS.

2. Canaux de Lancement et de Jeu (src/main/ipc-game.js) ​

Canal IPCTypeParamètresDescription
game:launch-instanceinvokeinstanceConfigPrépare les fichiers, vérifie les SHA-1 des bibliothèques et lance le processus Java.
game:kill-processinvokeinstanceIdEnvoie un signal SIGTERM (puis SIGKILL) au processus Java en cours d'exécution.
game:detect-javainvokeAucunAnalyse les chemins standards du système d'exploitation et retourne la liste des JDK / JRE disponibles.
game:download-javainvokemajorVersionTélécharge et extrait un runtime Java officiel vérifié (Adoptium / Eclipse Temurin).
game:stream-logssend / onÉvénement fluxTransmet les flux standard stdout et stderr de Minecraft vers la console du Renderer.

3. Canaux Système et Fichiers (src/main/ipc-system.js) ​

Canal IPCTypeParamètresDescription
system:show-in-folderinvoketargetPathOuvre l'explorateur de fichiers natif (Explorer, Finder, Nautilus) sur l'élément ciblé.
system:open-dialog-fileinvokeoptionsOuvre une boîte de dialogue native pour sélectionner un fichier (.zip, .jar).
system:open-dialog-folderinvokeoptionsOuvre une boîte de dialogue native pour sélectionner un dossier de destination.
system:copy-image-to-sandboxinvokesrcPath, destName, subDirValide l'extension et les Magic Bytes de l'image avant de la copier dans la sandbox.
system:discord-set-activityinvokeactivityPayloadMet à jour le statut Rich Presence sur le client Discord local via Named Pipe.
system:discord-clearinvokeAucunRéinitialise et efface l'activité affichée sur Discord.

4. Canaux du Moteur Horizon (src/main/ipc-horizon.js) ​

Canal IPCTypeParamètresDescription
horizon:checkinvokeAucunInterroge l'état de synchronisation globale et les versions distantes.
horizon:logininvokeproviderNameDémarre la procédure d'authentification OAuth2 pour Google Drive, Dropbox ou OneDrive.
horizon:syncinvokeinstanceNameLance la synchronisation différentielle (téléchargement et application des deltas).
horizon:uploadinvokeinstanceNameAnalyse les modifications locales, crée une archive delta et l'envoie sur le cloud.
horizon:quotainvokeAucunRécupère l'espace total, utilisé et disponible sur le stockage cloud connecté.
horizon:rollbackinvokeinstanceName, deltaIdRestaure l'instance à un point de sauvegarde antérieur spécifique.
horizon:purge-lockinvokeAucunSupprime manuellement un fichier horizon.lock orphelin après vérification.

5. Canaux de Mise à Jour Automatique (src/main/updater.js) ​

Canal IPCTypeParamètresDescription
updater:check-for-updatesinvokeAucunVérifie sur GitHub Releases si une nouvelle version du lanceur est disponible.
updater:download-updateinvokeAucunTélécharge la mise à jour en arrière-plan avec rapport de progression.
updater:quit-and-installinvokeAucunRedémarre l'application et applique la nouvelle version.

Released under the MIT License. Developed for the Gens Ecosystem.