MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Utilisation de gradlew runServer

    Planifier Épinglé Verrouillé Déplacé Résolu Support pour les utilisateurs
    13 Messages 3 Publieurs 737 Vues 2 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • EpharosE Hors-ligne
      Epharos
      dernière édition par Epharos

      Coucou les moddeurs !

      Je reviens d’entre les défunts ayant retrouvé un goût soudain à Minecraft, et surtout au Minecraft moddé. Il allait ainsi de soi que je me remette moi-même au modding.

      J’ai donc ressorti mes vieilles idées des cartons, et ai pris mon courage à deux mains : j’ai réinstallé Forge.

      Alors à la toute base je voulais modder en Vanilla, parce que c’est comme ça que j’ai moddé pendant 95% de mon aventure (les 5% restant étant 4% à Rei’s ModLoader et 1% à Forge), mais Minecraft Coder Pack n’est plus à jour depuis … bien des versions. Et puis bon, si Forge me permet plus de compatibilité, pourquoi pas. Même si j’ai pour projet de faire un mod privé pour des copains et moi même.

      Je vous fait le topo, j’ai réinstallé Forge MDK dans un dossier créé pour l’occasion. Vu que ça fait un moment que j’ai pas touché au Java j’ai mis à jour JRE et JDK en 1.8.0_241. J’ai viré mes installations foireuses de Gradle pour être certains d’être à jour et stable de ce côté là (en 4.9). Bref tout se passe à merveille. Je peux lancer le client sans souci, et au moment où je lance le serveur : paf, une erreur.

      Le chargement se fait jusqu’à la détection du mod :

      [03:30:33] [pool-2-thread-1/DEBUG] [ne.mi.fm.ja.FMLJavaModLanguageProvider/SCAN]: Found @Mod class fr.epharos.test.MainClass with id testforge
      

      Mais après ça survient l’erreur fatidique :

      could not dispatch a message to daemon
      

      Et connexion coupée, processus arrêté, me voilà fort embêté.

      J’ai à peu près tout essayé, du refresh-dependencies, au --stop, en passant par des clean en pagaille et une réinstall du MDK, … mais rien n’y fait.

      Sachant que par contre, je peux ouvrir un serveur LAN à partir du client, est-ce qu’utiliser un serveur comme ça revient au même que lancer un serveur par le runServer ?

      Merci de votre lecture, en espérant que vous pourrez voler à mon secours 🙏 (<-- par ailleurs, cet emoji c’est un high-five pas un emoji prière :face_with_raised_eyebrow:)

      Bises, Epharos.

      Les petits mods d'Epharos : [Trading Players] -> https://www.minecraftforgefrance.fr/topic/6023/trading-players-les-petits-mods-d-epharos

      1 réponse Dernière réponse Répondre Citer 0
      • EpharosE Hors-ligne
        Epharos
        dernière édition par

        Problème résolu,

        Je me suis tapé tout le fichier de log de daemon pour trouver finalement en plein milieu :

        You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
        

        Le fait que les EULA ne soient pas acceptées par défaut sur un minecraft_server, ça freeze le daemon qui timeout au bout de quelques secondes et qui cause le crash du coup.
        Conclusion, si jamais vous avez la même erreur que moi : pensez à aller accepter les EULA dans eula.txt (dossier run de votre dossier de modding)

        Merci pour ton aide en tout cas Ama :winking_face:

        Les petits mods d'Epharos : [Trading Players] -> https://www.minecraftforgefrance.fr/topic/6023/trading-players-les-petits-mods-d-epharos

        1 réponse Dernière réponse Répondre Citer 0
        • AmaA Hors-ligne
          Ama
          dernière édition par

          text alternatif

          Mama, Epharos de retour dans le Game !
          Ça fait plaisir de te revoir dans les parages !

          (J’ai pas la réponse à ton problème par contre)

          Mais Re-Bienvenue !

          Si je t'ai filé un coup de main n'oublie pas le + / -
          Par contre évite les demandes d'aides en MP, tu sera sympa'

          La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

          Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

          1 réponse Dernière réponse Répondre Citer 2
          • EpharosE Hors-ligne
            Epharos
            dernière édition par

            Ahah, ça fait plaisir de revoir les têtes de l’époque :beaming_face_with_smiling_eyes:
            J’étais repassé il y a quelques mois pour essayer de mettre à jour Craft My Mod, j’avais tout de fonctionnel sauf le chargement des ressources utilisateur (modèles, textures, …) et vu que j’ai repris les études après, j’ai mis ça de côté, du coup j’étais revenu en coup de vent. Mais cette fois, je compte rester, j’ai quelques idées à mettre en code :winking_face_with_tongue:

            Pour mon problème franchement je sais pas, j’ai essayé beaucoup de choses, j’ai épluché StackOverflow, reddit, GitHub, … personne n’a de solution fonctionnelle pour moi :loudly_crying_face:

            Merci ! :smiling_face:

            Les petits mods d'Epharos : [Trading Players] -> https://www.minecraftforgefrance.fr/topic/6023/trading-players-les-petits-mods-d-epharos

            1 réponse Dernière réponse Répondre Citer 0
            • AmaA Hors-ligne
              Ama
              dernière édition par

              Fais voir ta classe principale ?

              Si je t'ai filé un coup de main n'oublie pas le + / -
              Par contre évite les demandes d'aides en MP, tu sera sympa'

              La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

              Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

              1 réponse Dernière réponse Répondre Citer 0
              • EpharosE Hors-ligne
                Epharos
                dernière édition par

                Pour le coup, j’ai tout de base, j’ai même pas commencé à coder, je voulais juste voir où se logguait (ralala les anglicismes) le pre-init, init et post-init en serveur. Dans le doute, je mets quand même le code :

                package fr.epharos.test;
                
                import java.util.stream.Collectors;
                
                import org.apache.logging.log4j.LogManager;
                import org.apache.logging.log4j.Logger;
                
                import net.minecraft.block.Block;
                import net.minecraft.block.Blocks;
                import net.minecraftforge.common.MinecraftForge;
                import net.minecraftforge.event.RegistryEvent;
                import net.minecraftforge.eventbus.api.SubscribeEvent;
                import net.minecraftforge.fml.InterModComms;
                import net.minecraftforge.fml.common.Mod;
                import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
                import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
                import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
                import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent;
                import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
                import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
                
                @Mod("test")
                public class MainClass 
                {
                    private static final Logger LOGGER = LogManager.getLogger();
                
                    public MainClass() {
                        // Register the setup method for modloading
                        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
                        
                        // Register the enqueueIMC method for modloading
                        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::enqueueIMC);
                        
                        // Register the processIMC method for modloading
                        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::processIMC);
                        
                        // Register the doClientStuff method for modloading
                        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff);
                
                        // Register ourselves for server and other game events we are interested in
                        MinecraftForge.EVENT_BUS.register(this);
                    }
                
                    private void setup(final FMLCommonSetupEvent event)
                    {
                        LOGGER.info("HELLO FROM PREINIT");
                        LOGGER.info("DIRT BLOCK >> {}", Blocks.DIRT.getRegistryName());
                    }
                
                    private void doClientStuff(final FMLClientSetupEvent event) {
                        // do something that can only be done on the client
                        LOGGER.info("Got game settings {}", event.getMinecraftSupplier().get().gameSettings);
                    }
                
                    private void enqueueIMC(final InterModEnqueueEvent event)
                    {
                        // some example code to dispatch IMC to another mod
                        InterModComms.sendTo("examplemod", "helloworld", () -> { LOGGER.info("Hello world from the MDK"); return "Hello world";});
                    }
                
                    private void processIMC(final InterModProcessEvent event)
                    {
                        // some example code to receive and process InterModComms from other mods
                        LOGGER.info("Got IMC {}", event.getIMCStream().
                                map(m->m.getMessageSupplier().get()).
                                collect(Collectors.toList()));
                    }
                    // You can use SubscribeEvent and let the Event Bus discover methods to call
                    @SubscribeEvent
                    public void onServerStarting(FMLServerStartingEvent event) {
                        // do something when the server starts
                        LOGGER.info("HELLO from server starting");
                    }
                
                    // You can use EventBusSubscriber to automatically subscribe events on the contained class (this is subscribing to the MOD
                    // Event bus for receiving Registry Events)
                    @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
                    public static class RegistryEvents {
                        @SubscribeEvent
                        public static void onBlocksRegistry(final RegistryEvent.Register<Block> blockRegistryEvent) {
                            // register a new block here
                            LOGGER.info("HELLO from Register Block");
                        }
                    }
                }
                
                

                J’ai lu une explication qui disait que les classes anonymes (comme ici le RegistryEvents) pouvait causer un crash de daemon, du coup j’ai essayé en la mettant en commentaire mais rien n’a changé.
                J’ai également checké si mon mod n’était pas en side ClientOnly mais ce n’est pas le cas.

                Petite précision aussi, c’est le MDK de la 1.15.2, j’ai remarqué qu’ils utilisaient les mapping de 1.14.3, je sais pas si ça peut jouer sur quelque chose à ce niveau là ?

                Les petits mods d'Epharos : [Trading Players] -> https://www.minecraftforgefrance.fr/topic/6023/trading-players-les-petits-mods-d-epharos

                1 réponse Dernière réponse Répondre Citer 0
                • AmaA Hors-ligne
                  Ama
                  dernière édition par

                  Je voulais justement voir si ta classe principale était anonyme.
                  Non je pense pas que les mappings 1.14 fasse n’importe quoi.

                  C’est pas commun comme erreur ça.

                  Voyons ton mods.toml ?

                  Si je t'ai filé un coup de main n'oublie pas le + / -
                  Par contre évite les demandes d'aides en MP, tu sera sympa'

                  La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                  Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                  1 réponse Dernière réponse Répondre Citer 0
                  • EpharosE Hors-ligne
                    Epharos
                    dernière édition par

                    J’ai l’impression que c’est plutôt rare oui :face_with_tears_of_joy:

                    # This is an example mods.toml file. It contains the data relating to the loading mods.
                    # There are several mandatory fields (#mandatory), and many more that are optional (#optional).
                    # The overall format is standard TOML format, v0.5.0.
                    # Note that there are a couple of TOML lists in this file.
                    # Find more information on toml format here:  https://github.com/toml-lang/toml
                    # The name of the mod loader type to load - for regular FML @Mod mods it should be javafml
                    modLoader="javafml" #mandatory
                    
                    # A version range to match for said mod loader - for regular FML @Mod it will be the forge version
                    loaderVersion="[31,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions.
                    
                    # A URL to refer people to when problems occur with this mod
                    issueTrackerURL="http://my.issue.tracker/" #optional
                    
                    # A list of mods - how many allowed here is determined by the individual mod loader
                    [[mods]] #mandatory
                    
                    # The modid of the mod
                    modId="test" #mandatory
                    
                    # The version number of the mod - there's a few well known ${} variables useable here or just hardcode it
                    version="${file.jarVersion}" #mandatory
                    
                     # A display name for the mod
                    displayName="Test" #mandatory
                    
                    # A URL to query for updates for this mod. See the JSON update specification <here>
                    updateJSONURL="http://myurl.me/" #optional
                    
                    # A URL for the "homepage" for this mod, displayed in the mod UI
                    displayURL="http://example.com/" #optional
                    
                    # A file name (in the root of the mod JAR) containing a logo for display
                    logoFile="examplemod.png" #optional
                    
                    # A text field displayed in the mod UI
                    credits="Thanks for this example mod goes to Java" #optional
                    
                    # A text field displayed in the mod UI
                    authors="Love, Cheese and small house plants" #optional
                    
                    # The description text for the mod (multi line!) (#mandatory)
                    description='''
                    This is a long form description of the mod. You can write whatever you want here
                    
                    Have some lorem ipsum.
                    
                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mollis lacinia magna. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed sagittis luctus odio eu tempus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque volutpat ligula eget lacus auctor sagittis. In hac habitasse platea dictumst. Nunc gravida elit vitae sem vehicula efficitur. Donec mattis ipsum et arcu lobortis, eleifend sagittis sem rutrum. Cras pharetra quam eget posuere fermentum. Sed id tincidunt justo. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
                    '''
                    
                    # A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional.
                    [[dependencies.examplemod]] #optional
                        # the modid of the dependency
                        modId="forge" #mandatory
                        # Does this dependency have to exist - if not, ordering below must be specified
                        mandatory=true #mandatory
                        # The version range of the dependency
                        versionRange="[31,)" #mandatory
                        # An ordering relationship for the dependency - BEFORE or AFTER required if the relationship is not mandatory
                        ordering="NONE"
                        # Side this dependency is applied on - BOTH, CLIENT or SERVER
                        side="BOTH"
                        
                    # Here's another dependency
                    [[dependencies.examplemod]]
                        modId="minecraft"
                        mandatory=true
                        versionRange="[1.15.2]"
                        ordering="NONE"
                        side="BOTH"
                    
                    

                    Théoriquement tout est bon ce côté là aussi, j’ai quasi rien touché à par le modId et le displayName (et j’ai rajouté des retours à la ligne aussi pour que ça soit plus lisible)

                    Les petits mods d'Epharos : [Trading Players] -> https://www.minecraftforgefrance.fr/topic/6023/trading-players-les-petits-mods-d-epharos

                    1 réponse Dernière réponse Répondre Citer 0
                    • AmaA Hors-ligne
                      Ama
                      dernière édition par

                      Mouais, je m’en doutais aussi.

                      J’ai pu lire de ça et là que ça ce produit dans le Deamon de Gradle est kill.
                      Il faudrait que tu regarde comment relancer le deamon.
                      Ou alors le kill de force, pour voir si il y en a pas deux de lancés truc du genre.

                      Si je t'ai filé un coup de main n'oublie pas le + / -
                      Par contre évite les demandes d'aides en MP, tu sera sympa'

                      La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                      Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                      1 réponse Dernière réponse Répondre Citer 0
                      • EpharosE Hors-ligne
                        Epharos
                        dernière édition par

                        Problème résolu,

                        Je me suis tapé tout le fichier de log de daemon pour trouver finalement en plein milieu :

                        You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
                        

                        Le fait que les EULA ne soient pas acceptées par défaut sur un minecraft_server, ça freeze le daemon qui timeout au bout de quelques secondes et qui cause le crash du coup.
                        Conclusion, si jamais vous avez la même erreur que moi : pensez à aller accepter les EULA dans eula.txt (dossier run de votre dossier de modding)

                        Merci pour ton aide en tout cas Ama :winking_face:

                        Les petits mods d'Epharos : [Trading Players] -> https://www.minecraftforgefrance.fr/topic/6023/trading-players-les-petits-mods-d-epharos

                        1 réponse Dernière réponse Répondre Citer 0
                        • robin4002R Hors-ligne
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                          dernière édition par

                          J’allais justement faire le remarque sur le fichier eula en voyant que le client fonctionne mais pas le serveur.
                          Mais j’ai été trop lent !

                          1 réponse Dernière réponse Répondre Citer 0
                          • EpharosE Hors-ligne
                            Epharos
                            dernière édition par

                            Si seulement ça s’affichait par défaut dans les logs, et que je sois pas obligé de check le fichier log de daemon qui fait quand même 2.5Mo … :face_with_tears_of_joy:

                            Les petits mods d'Epharos : [Trading Players] -> https://www.minecraftforgefrance.fr/topic/6023/trading-players-les-petits-mods-d-epharos

                            1 réponse Dernière réponse Répondre Citer 0
                            • robin4002R Hors-ligne
                              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                              dernière édition par

                              Le mieux est de lancer via son IDE, utilises gradlew genTonIDERuns pour créé les fichiers de lancement pour ton IDE (IDE compatible : Eclipse, Idea, VSCode)

                              1 réponse Dernière réponse Répondre Citer 0
                              • EpharosE Hors-ligne
                                Epharos
                                dernière édition par

                                C’est ce que je faisais au début, mais ça bloquait sur

                                Found @Mod class fr.epharos.test.MainClass with id testforge 
                                

                                avant de couper le processus, c’est pour ça que je suis passé par la console de windows, en espérant avoir plus de détails sur le crash, sans trop de succès :sad_but_relieved_face:

                                Les petits mods d'Epharos : [Trading Players] -> https://www.minecraftforgefrance.fr/topic/6023/trading-players-les-petits-mods-d-epharos

                                1 réponse Dernière réponse Répondre Citer 0
                                • 1 / 1
                                • Premier message
                                  Dernier message
                                Design by Woryk
                                ContactMentions Légales

                                MINECRAFT FORGE FRANCE © 2024

                                Powered by NodeBB