► Recherche d'informations sur le Core-Modding ◄

Dush

Architecte
8 Mars 2013
211
35
140
27
Chez moi !
Bien le bonjour,

je viens vers vous aujourd'hui car mon équipe et moi même sommes à la recherche d'informations concernant le Core-Modding sur minecraft.
En effets nous avons besoin de pouvoir mêler les mods & les plugins sur notre serveur. Cependant ! Nous sommes en version 1.11.2, ainsi nous pouvons dire au revoir au petit Cauldron, et nous ne souhaitons pas passer par l'API Sponge (Pas de débats s'il vous plaît, nous ne critiquons pas Sponge, mais nous ne souhaitons juste pas l'utiliser).

Ainsi, nous sommes au courant qu'il existe un moyen d'intégrer des mods directement dans un Spigot (modifié par conséquent) qui permet ainsi de pouvoir les utiliser sur un serveur sans passer par forge.

Ce qui nous permettrai de pouvoir non seulement avoir des plugins Spigot sur le serveur, mais aussi d'avoir des mods ! Nous savons pertinemment que cela est possible puisque nous avons des collègues minecraftiens qui ont leur propre serveur possédant ce système de Core-Modding, mais leur Développeur est porté disparu, et il ne peut donc pas nous expliquer comment il a fait ^^' !


Ainsi, nous ne recherchons pas forcement une personne experte dans ce domaine, mais au moins des âmes charitables qui pourraient nous transmettre des liens (Français / Anglais) parlant de cela, car nous ne trouvons rien de bien concluant pour l'instant :/ !

Merci d'avance pour votre aide ;) !

Cordialement,
Dush
 

robin4002

Expert en informatique et systèmes d'information
Staff
Responsable technique
Responsable forum
12 Novembre 2012
20 896
158
3 004
347
26
Alsace
www.minecraftforgefrance.fr
Salut,
Le modding sans forge est en effet bien possible, c'était le plus utiliser avant que forge ne soit populaire.
Il s'est fortement restreint avec la monté en popularité de forge, en raison des nombreuses avantages de forge (compatibilité des mods entre eux, un seul code pour le client et le serveur, mise à jour plus simple à réaliser, etc), mais est resté très apprécié par les serveurs ayant uniquement leurs propres modifications (puisque cela reste adapté au besoin et que cela rend plus compliqué pour d'autres serveurs de voler les modifications en question).

En revanche cela demande bien plus de travail.
La partie client devra être créé en modifiant le code de minecraft, décompilé avec mcp pour rendre le code plus clair : http://www.modcoderpack.com/ (le site est visiblement en reconstruction). Un gros avantage par rapport à forge, on peut modifier toutes les classes comme on le veut (puisqu'on ne se soucis pas de la compatibilité avec d'autres mods).

Pour la partie serveur, il faut modifier directement le code de spigot. Là les choses vont se compliqué, spigot ne passe par une deobsucation contrairement à mcp, toutes les fonctions ont donc des noms du genre a, b, c rendant le code très compliqué à prendre ne main. La plupart des tutoriels sont aussi complètement obsolète, le fait qu'il y a eu un dmca takedown sur tous les serveurs mc implémentant bukkit n'aidant pas (ce qui a tué Cauldron) puisque du-coup les sources de spigot ne sont plus directement distribués. Il me semble que buildtools permet de les récupérer, comme il permet aussi de compiler spigot : https://hub.spigotmc.org/jenkins/job/BuildTools/

La partie serveur est plus légère (comme il n'y a pas tout ce qui est rendu, son, etc.) mais sera bien plus compliqué à cause du code moins compréhensible.


Par contre, si en plus de tes propres modifications tu compte intégrer de gros mod forge, oublies tout de suite : pour les faire fonctionner sans forge il faudra réécrire tout le code en rapport avec forge pour s'en détaché et les licences de mod ne permet pas toujours de le faire. Autant dire que ça ne va pas être simple, certains mods dépendant très fortement des fonctions de forge, se travail se résume presque à refaire complètement le mod.
 

Dush

Architecte
8 Mars 2013
211
35
140
27
Chez moi !
Merci bien robin !

A vrai dire j’espérai bien que tu passerai par là pour nous porter assistance ;) !
Sinon pour ce qui est des mods cela est 100% dev par nous ! On n'utilise aucun mods ou plugins développés par une personne extérieure à l'équipe, donc il ne devrait pas y avoir de problèmes de compatibilités.

Sinon merci beaucoup pour ces explications, nos deux Dev (Mods & Plugins) vont se pencher sur ça !

Après Robin, est-il possible de laisser ce sujet en - Non résolu - le temps qu'on arrive à mettre sur pieds ce système de Core-Modding ? Ainsi si nous avons des questions durant la mise en place de ce dernier, nous pourrons venir poser nos question sur ce topic et ainsi ne pas en recréer un à chaque problèmes :) !

Encore merci de ta réponse,
Dush
 

robin4002

Expert en informatique et systèmes d'information
Staff
Responsable technique
Responsable forum
12 Novembre 2012
20 896
158
3 004
347
26
Alsace
www.minecraftforgefrance.fr
Oui il y a aucun problème à le laisser en non résolu.

Par contre pour la suite moi je ne peux pas aider, je n'ai jamais rien fait d'autre que du forge en modding. On verra bien si d'autres membres du forum peuvent aider.
 

Neph

Cyberchenapan
15 Mai 2016
386
168
155
autre part
crypt.lol
Ainsi, nous sommes au courant qu'il existe un moyen d'intégrer des mods directement dans un Spigot

Si tu découvres que Forge n'est ""qu'une api"" et qu'un jeu/programme est modifiable avec ou sans, ce n'est pas pour être chiant, mais il est peu probable que la démarche aboutisse.
Je t'encourage à continuer si c'est une démarche d'apprentissage. Sinon, tu ne fais probablement que perdre ton temps si tu souhaites simplement aboutir à la mise en place d'un serveur.
Tu auras en plus certainement du mal à trouver des développeurs avec les compétences adéquates et prêt à réinventer la roue.

(Pas de débats s'il vous plaît, nous ne critiquons pas Sponge, mais nous ne souhaitons juste pas l'utiliser)
Tu ne pourras certainement pas échapper à cette question. :')
Donc, pourquoi ça ?
Elle est quand même essentielle afin d'essayer de comprendre ta démarche à la base.
 
Dernière édition:

Dush

Architecte
8 Mars 2013
211
35
140
27
Chez moi !
Salut Neph,

Si tu découvres que Forge n'est ""qu'une api"" et qu'un jeu/programme est modifiable avec ou sans, ce n'est pas pour être chiant, mais il est peu probable que la démarche aboutisse.
Je t'encourage à continuer si c'est une démarche d'apprentissage. Sinon, tu ne fais probablement que perdre ton temps si tu souhaites simplement aboutir à la mise en place d'un serveur.
Tu auras en plus certainement du mal à trouver des développeurs avec les compétences adéquates et prêt à réinventer la roue.

Nous avons la chance d'avoir des développeurs assez motivés pour ré-inventer la roue ! Et il est vrai que si on se "fichait" un peu du contenu que nous proposerons, nous pourrions tout à fait trouver un autre moyen d'insérer nos mods, ou mieux ne pas utiliser de mods, cependant nous cherchons à mettre sur pieds un projet solide ! Ainsi on préfère se prendre la tête pour donner aux joueurs un serveur fiable et fonctionnel, plutôt que de céder à la facilité et proposer quelque chose de bancal :) .


Tu ne pourras certainement pas échapper à cette question. :')
Donc, pourquoi ça ?
Elle est quand même essentielle afin d'essayer de comprendre ta démarche à la base.

Nous ne souhaitons pas utiliser Sponge tout simplement car nous avons déjà développé un très grand nombre de plugins qui seront présents sur le serveur, et que de tout recoder sous sponge nous demanderai autant d'effort que de faire du Core-Modding. De plus notre Dev "principal' qui est spécialisé en plugins Spigot est très compétent dans son domaine, mais pas en plugin Sponge. Ainsi passer sous Sponge, nous forcerez à recoder tout nos plugins, et "annulerez" les compétences détenues par notre Dev plugin.


Merci pour tes retours,
Dush
 
  • J'aime
Reactions: Neph

Neph

Cyberchenapan
15 Mai 2016
386
168
155
autre part
crypt.lol
(Salut oui, j'oublie souvent la politesse).

C'est la réponse que j'attendais.
Mais vraiment, je maintiens, je pense que vous faites erreur en pensant qu'il serait plus simple de partir sur un hack assez conséquent et de réécrire une api de modding à partir de zéro plutôt que de migrer/réimplémenter vos plugins sur sponge.

Le taff est surement conséquent dans les deux cas, mais la rétro-ingénierie me parait un "peu" plus difficile.
De plus, visiblement, sponge va être de plus en plus présent (si j'ai bien suivi ce qu'il se passait). Je ne pense pas que ça soit un mal que votre dev principal s'intéresse à son api. S'il est compétent sur spigot, il le sera également sur sponge.


Ainsi on préfère se prendre la tête pour donner aux joueurs un serveur fiable et fonctionnel, plutôt que de céder à la facilité
Je ne souhaite pas te décourager de faire quoi que ce soit. Je n'ai d'ailleurs ni les compétences, ni les infos nécessaires (ce que vous cherchez à faire exactement) pour juger ou non de la pertinence, mais quand même, ce n'est pas céder à la facilité que d'utiliser une api. Et ça n'a rien de bancal, au contraire, utiliser une api comme celle de sponge (ou une autre), c'est la garantie d'une certaine qualité de dev et de stabilité.

Quoi qu'il en soit, bonne chance pour tes recherches. Mais tu devrais peut être aller également parler aux gens derrières toutes ces apis justement, voir observer un peu leur code histoire de voir comment eux s'y prennent (si possible). Ça me parait être un bon point de départ.
 
  • J'aime
Reactions: Dush

Dush

Architecte
8 Mars 2013
211
35
140
27
Chez moi !
c'est la réponse que j'attendais.
Mais vraiment, je maintiens, je pense que vous faites erreur en pensant qu'il serait plus simple de partir sur un hack assez conséquent et de réécrire une api de modding à partir de zéro plutôt que de migrer/réimplémenter vos plugins sur sponge.

Après nous ne comptons pas re-inventer Forge, le but est «simplement» de pouvoir intégrer des blocks / items directement dans le code du minecraft.jar et du spigot.jar afin d'éviter de passer par Forge.

Du coup c'est plus un travail d'intégration d'éléments dans le code du jeu ;) ! Nous n'avons pas la prétention de créer un «nouveau» Forge pour notre serveur !
 

robin4002

Expert en informatique et systèmes d'information
Staff
Responsable technique
Responsable forum
12 Novembre 2012
20 896
158
3 004
347
26
Alsace
www.minecraftforgefrance.fr
Les plugins bukkit il y en a combien et ils font quelle taille ?

Pour le développement initiale, il y a en effet des chances que la solution du modding sans forge soit plus simple / rapide (en fonction de comment tes dev vont s'adapter au modding de spigot, qui est loin d'être simple), par contre si on prend toute la chaine (développement initiale + maintenance), forge + sponge sera une meilleur solution.
Après à vous de voir si vous voulez faire un serveur qui sera en 1.10.2 pour toujours ou un serveur qui suivra les mises à jour.
Car le modding de MC sans API / de Spigot rend les mises à jour très compliqué.

Ce que je ne comprends pas la dedans, c'est pourquoi avoir commencé les plugins bukkit sans avoir considéré le reste ?
Les choix techniques sont censé être le début d'un projet. Personnellement quand j'ai vu que Bukkit s'est prit un DMCA takedown, j'ai mis un croix sur bukkit dans mon projet qui devait l'utilisé. Comme sponge n'était pas encore mature à l'époque, je suis partie sur du 100% forge.

Baser des projets sur Bukkit reste un risque, la façon dont Spigot est distribué actuellement est un rafistolage pour contourner le DMCA. Rien ne dit qu'aucune nouvelle procédure judiciaire ne tombera sur Bukkit pour l'achever.
Sponge et Forge à l'inverse ont fait des choix de licence évitant ce genre de problème (Sponge a été créé dans l'optique d'éviter les défauts de bukkit et Forge ont fait quelques modifications sur leur licences quelques jours après de cette affaire)
 
  • J'aime
Reactions: Neph

Dush

Architecte
8 Mars 2013
211
35
140
27
Chez moi !
Les plugins bukkit il y en a combien et ils font quelle taille ?

Pour le développement initiale, il y a en effet des chances que la solution du modding sans forge soit plus simple / rapide (en fonction de comment tes dev vont s'adapter au modding de spigot, qui est loin d'être simple), par contre si on prend toute la chaine (développement initiale + maintenance), forge + sponge sera une meilleur solution.
Après à vous de voir si vous voulez faire un serveur qui sera en 1.10.2 pour toujours ou un serveur qui suivra les mises à jour.
Car le modding de MC sans API / de Spigot rend les mises à jour très compliqué.

Ce que je ne comprends pas la dedans, c'est pourquoi avoir commencé les plugins bukkit sans avoir considéré le reste ?
Les choix techniques sont censé être le début d'un projet. Personnellement quand j'ai vu que Bukkit s'est prit un DMCA takedown, j'ai mis un croix sur bukkit dans mon projet qui devait l'utilisé. Comme sponge n'était pas encore mature à l'époque, je suis partie sur du 100% forge.

Baser des projets sur Bukkit reste un risque, la façon dont Spigot est distribué actuellement est un rafistolage pour contourner le DMCA. Rien ne dit qu'aucune nouvelle procédure judiciaire ne tombera sur Bukkit pour l'achever.
Sponge et Forge à l'inverse ont fait des choix de licence évitant ce genre de problème (Sponge a été créé dans l'optique d'éviter les défauts de bukkit et Forge ont fait quelques modifications sur leur licences quelques jours après de cette affaire)

Concrètement nous n'allons pas suivre les Maj, nous allons rester sur une même version et faire des updates nous même en ajoutant des choses. Donc pas de soucis de Maj de nôtre côté.

Après robin, je comprends bien ton point de vue selon lequel on aurait dû définir tout ça en début de projet, mais le fait est qu'au début jetais seul à faire ce projet et qu'au fur et à mesure que des personnes compétentes rejoignaient le projet, ce dernier évoluait sans cesse jusqu'au point où aujourd'hui il est radicalement différent de ce qui était prévu a la base. Et au commencement, il n'était pas censé y avoir de mods ;) ! Il est sur que si j'avais prévu de mettre des mods, on aurait de suite dev en Sponge ^^