SOLVED FMLServerStartingEvent sur Serveur Intégré


  • Bon… Vous commencez a connaitre Bibi problème à la con x)

    Ducoup j’enchaîne ! 😄
    Pour les besoins de mon mod, certaine donnée sont généré au lancement du serveur.

    Mais voila… “FMLServerStartingEvent”, qui fonctionne plutôt bien, ne semble être déclenché que sur serveur détaché. Le serveur intégrer semble fonctionné différemment…

    Ducoup, existe il un event Forge qui soit déclenché au lancement du serveur intégrer (donc quand on charge une map) ?*

    • et qui garde un accès au dossier de sauvegarde comme c’est le “FMLServerStartingEvent”.

    EDIT :
    Lors de l’utilisation d’un Proxy, si l’on est sur serveur intégrer (charger partie local), il considère que l’on est sur le Proxy Client.
    L’évent est bien déclenché, le problème venais simplement de mon proxy qui n’intégrer la génération de valeurs que sur le ServerSide


  • Normalement l’event est déclenché même sur le serveur intégré


  • C’est aussi ce qui me semblais, mais je ne vois aucune trace du déroulement de cette phase dans les log (alors qu’il devrai y avoir une quinzaine de ligne)…

  • Administrateurs Rédacteurs Moddeurs confirmés

    Ça devrait être le cas.
    Ajoutes du debug dans la fonction.


  • J’avais déjà du débug sur la fonction, mais sur le proxy serveur uniquement.

    En mode Serveur Only :

    fr.Jodge.elementalLibrary.server.data.register.ServerElementalConstante.onServerStart(ServerElementalConstante.java:64)-[INFO] –- SERVER START —

    En mode Serveur Intégrer :

    fr.Jodge.elementalLibrary.client.data.register.ClientElementalConstante.onServerStart(ClientElementalConstante.java:69)-[INFO] –- PROBLEME ---
    

    En faite, je viens de tilter que lorsque on est en mode serveur intégrer, il considère que le proxy est celui du Client. Du coup, je doit revoir tout une partie du proxy pour en adapté le fonctionnement ^^’

    Mais au moins le problème à la con est résolus x)

  • Administrateurs Rédacteurs Moddeurs confirmés

    Je te conseil de suivre l’implémentation que je propose dans le tutoriel sur la classe principale 1.8 et +

    La classe principale ne sert que de wrapper et pour les constantes essentiels (modid par exemple).
    Ensuite le client proxy sert de classe client, le server proxy comme classe pour le serveur et il y a une classe commune pour les deux.
    Selon moi c’est le mieux pour organiser un mod.


  • Heuu… Tu te contredis…
    Ce que tu explique sur le message, c’est ce que j’avais.

    Server extends Common & Client extends Common

    Mais en réalité, pour que mon mod puissent fonctionné sur serveur intégrer, il ne faut que deux class (ce que tu explique sur le tuto)

    Common (= Server) et Client


  • Oui mais c’est juste une question d’organisation

  • Administrateurs Rédacteurs Moddeurs confirmés

    @‘Jodge’:

    Heuu… Tu te contredis…

    Ou x) ?

    @‘Jodge’:

    Ce que tu explique sur le message, c’est ce que j’avais.

    ça je ne pouvais pas vraiment le deviner sans ton code.

    @‘Jodge’:

    Mais en réalité, pour que mon mod puissent fonctionné sur serveur intégrer, il ne faut que deux class (ce que tu explique sur le tuto)

    Sur le tuto 1.7 et avant oui.
    Mais dans le tuto 1.8 et + je dis d’utiliser 3 classes.


  • A en effet, je viens de voir que j’était sur la mauvaise version du tuto x)

    En revanche, je peu désormais affirmer que les 3 classes, c’est à éviter :
    Sur serveur intégrer, les fonctions serveurs sont tirer du proxy client. Donc si tu sépare le proxy server et le proxy client, toute les fonctions server seront exclusive au serveur séparé.

    Ça ne sert donc que dans un seul et unique cas : celui ou l’on souhaite faire un mod client only et server only (et donc très peu de cas).

  • Administrateurs Rédacteurs Moddeurs confirmés

    Oui c’est comme ça que fonctionne les sides du proxy :

    • client proxy -> exécuté lorsqu’on lance le client
    • serveur proxy -> exécuté lorsqu’on lance le serveur
    • common proxy -> exécuté dans les deux cas

    Ce qui concerne à la fois le serveur intégré et le serveur dédié doit donc être mit dans la classe common.


  • Ouai ouai, mais un truc que je n’avais jamais compris (et je pense que je dois pas être le seul) c’est que le serveur intégrer, c’est pas considérer comme un serveur.
    Donc absolument rien ne peu allez coté server only si on souhaite que le mod fonctionne en serveur intégrer.


  • Les FMLServerXEvent sont normalement réservés aux mod serveurs. (Plugins)
    Donc pas aux serveurs intégrés.

  • Administrateurs Rédacteurs Moddeurs confirmés

    @‘Eikins’:

    Les FMLServerXEvent sont normalement réservés aux mod serveurs. (Plugins)
    Donc pas aux serveurs intégrés.

    Non.


  • Bah ça reste du server-side only.
    Autant pour moi. En 1.7.10 c’était différent ?

    PS : Désolé de up un topic résolu, encore une fois, my bad.


  • ça a jamais changé, il n’y a aucune fonction/méthode qui est server-side only, il y a juste certaines classes qui ne sont pas disponibles dans thread client (comme MinecraftServer, mais elle existe quand même dans les serveurs intégrés)