Hey !
Pour l'instant je ne me suis occupé que de la TNT, étant je pense un bon début. Les autre viendront quand j'aurais fini de me fixer sur un protocole... Il reste encore de nombreux bugs.
Le fonctionnement que je vise serai d'utiliser un .jar "master" gérant les connexion entrantre / sortante vers les clients. Celui la se connecte aux nodes ( "slaves", pour l'instant qu'une seule ), après je n'ai pas décidé si le serveur "master" sera aussi le serveur TCP ou un client. Lorsque qu'une méthode d'une classe, pour example Explosion.java, a la place de l'executer en local, les variables utile sont transmit aux "nodes". Ces "nodes" ne sont que le même .jar a part que la classe net.minecraftserver.server.MinecraftServer n'est jamais appelé, et qu'il ne fait que créer un lien TCP avec le "master", puis attendre les variables. Après récéption le calcul est effectué, puis le résultat est retransmit au "master" qui actualise ces valeures, action totalement transparent d'un point de vu serveur.
La principale difficulté ici est de trouver une fonction "universelle" pour le retour du résultat. Pour l'instant une explosion de certain blocks cause un beau crash des 2 cotés ! Faut admettre que clusteriser un serveur conçu pour le contraire n'est pas aisé...
J'éspère que l'expliquation était assez claire, c'est encore assez fouillit... Je le mettrais sur github dès que le code sera stable pour cette classe.
Ah, et la configuration se fera par le simple fait d'entrer l'ip du central, et bien sur de configurer les méthodes. Les 1ère chose à gérer sont d'après moi, la redstone, la tnt, les IA ( mobs ).
Une autre idée est de se passer totalement de fichier partagé et de ne faire passer que le minimum : les variables ( souvent "this" ).
Par contre pour l'instant je test en VM car je ne suis pas chez moi... Et le comportement pourrait être différent sur des machines physiques.
Et au final, les outils cités dans le titre du topic se révèlent inutiles.