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 736 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

      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