Mod Connexion TCP/IP d'un mod vers un plugin

Americium

Aventurier
7 Février 2020
13
2
3
28
Bonjour à toutes et à tous !

Je débute dans le développement de plugin/mods minecraft. Cependant j'ai une bonne expérience dans le développement informatique de base donc je m'en sors pas mal pour le moment.

Contexte :

Actuellement je suis entrain de développer un plugin et un mods qui ont pour objectif d'être connecter via une connexion TCP/IP.
L'ensemble des programmes est censé donner ceci :
PhotoServ.png


Comme on peut le voir le programme "PROGRAMME ANNEXE" est logiciel qui n'aura qu'une seule instance et se trouvant sur un serveur distant.
Le programme "SERVEUR MINECRAFT" quant à lui représente le plugin minecraft que j'ai développé. Il permet de réaliser certaines actions lors de la connexion d'un joueur etc... Cependant contrairement au programme précédent il peut compter une multitude d'instance en fonction du nombre de serveur ayant ce plugin. Le comportement en mode client n'est pas affecté par cette possibilité.
Le programme "CLIENT MINECRAFT" correspond au mod que je souhaite développer. Tout comme le plugin il peut avoir une multitude d'instance active en fonction du nombre de serveur et du nombre de joueur. Le comportement en mode client n'est pas affecté par cette possibilité.

Question :

Je souhaite à partir du mod (soit de "CLIENT MINECRAFT") pouvoir obtenir l'adresse IP du serveur minecraft sur lequel je joue actuellement pour pouvoir contacter mon plugin.
Je me dis que ça doit être "réalisable" du fait qu'avec le client minecraft (je parle du jeu) on rentre l'adresse ip du serveur pour s'y connecter.
Mais je n'arrive à trouver aucune information sur internet pour réaliser ceci !

Synthèse pour ceux qui ont la flemme de lire sous forme de tag :

[MOD] [OBTENIR] [IP] [SERVEUR] [MINECRAFT]
#MOD #OBTENIR #IP #SERVEUR #MINECRAFT

Information pouvant aider :

FrameWork : Bukkit
Serveur : Spigot 1.10.2
Groupe Sanguin : A+

Solution possible mais non performante :

Passer par l'intermédiaire du "PROGRAMME ANNEXE" pour checker tous les serveurs afin de savoir sur quel serveur le joueur joue.
Avec 2 ou 3 serveurs cette solution ne pose pas trop de soucis avec un plus grand nombre de serveur vive la latence !!!
Édit : Est ce que le passage par un client en localhost dans le mod ou via un pipe peut me permettre de communiquer entre mon mod et mon plugin ?



Merci pour vos propositions et votre aide !
Toutes réponses du style, "Ah mais c'est pas possible imagine les failles qui pourraient exploiter", "C'est vachement dangereux", "Tu manges quoi pour le petit déjeuner ?" seront ignorées.
Et pour éviter ce type de question, je prends du café au petit déjeuner.

Cordialement,
Americium.
 
Dernière édition:

robin4002

Expert en informatique et systèmes d'information
Staff
Responsable technique
Responsable forum
12 Novembre 2012
20 853
157
3 002
347
26
Alsace
www.minecraftforgefrance.fr
Bonsoir,
Le mod est réalisé comment ? Forge ? Fabric ? Modding sans utiliser d'api ?
Dans tout les cas il devrait être possible de récupérer l'ip du serveur lors de la connexion à ce dernier.

Et en soit, la connexion tcp entre le client et le serveur n'est même pas nécessaire : Minecraft utilise déjà une connexion tcp, tu peux très bien faire passer tes propres messages par le système de paquet de Minecraft.
 

Americium

Aventurier
7 Février 2020
13
2
3
28
Bonsoir,

Merci de ta réponse !
Alors j'ai commencé à travailler surtout sur la partie mod de mon programme et normalement je devrais bientôt attaquer la partie TCP.
Mon mod est avec Forge. Le principe de mon mod ne va pas être de créer des blocs ou du gameplay mais juste une interface graphique.

En bref faire un système de modération. (Qui a pour vocation de devenir un système de modération inter-serveur avec un jauge de réputation, une liste des antécédents etc...)
Et donc ma partie TCP entre le mod et le serveur (minecraft) a pour vocation unique de récupérer la liste des joueurs sur le serveur. Mais en réfléchissant je me suis dis que je pouvais couper la liaison TCP entre le mod et le programme annexe pour laisser le plugin en interface entre les deux.

Et pour répondre à ta proposition, je me suis posé cette question aussi mais est ce que le fait de ne pas connaître l'identité/la fonction de tous les packets ne peut pas interférer avec les autres mods ?
 

robin4002

Expert en informatique et systèmes d'information
Staff
Responsable technique
Responsable forum
12 Novembre 2012
20 853
157
3 002
347
26
Alsace
www.minecraftforgefrance.fr
Et pour répondre à ta proposition, je me suis posé cette question aussi mais est ce que le fait de ne pas connaître l'identité/la fonction de tous les packets ne peut pas interférer avec les autres mods ?
Non, aucun risque. Le système de paquet de forge nécessite de créer un chanel pour ton mod, aucun autre mod n'utilisera le même chanel.