SOLVED Mod Non-Universel Client ? Serveur


  • Bonsoir (Bonjour) à tous !

    Voilà après de longues recherches je cherche à faire en sorte à ce que mon mod ne soit pas universel

    Mais je ne sais pas par où procéder :S

    Il faudrait que le mod soit bien distinct du Serveur et du Client, comme ça aucune chance de tentative d'usage autre que sur mon serveur !

    Attention, je cherche pas à faire une "vulgaire" (ce n'est pas le mot exact) Licence de droits, car cela peut toujours être outre-passé !

    Si une personne sait faire ça, je lui en serait reconnaîssante !

    PS: Letherman, tu n'a pas fait ça ?

    c.f

    Ouai mais le mod est réservé à MFF ( celui qui sera dispo ne sera en fait que le client ). On ne veut pas le rendre universel par ce qu'on a déja eu des probs de non respect de licence … mais bon le serveur sera de toutes façon dispo !

    Voilà ! Merci de votre aide !

  • Moddeurs confirmés Rédacteurs Administrateurs

    On l'a fait sur Nanotech Hunger Games oui. Ça va dépendre de ce qu'ajoute ton mod, en ce qui concerne NHG, on a fait que si le side est le client, il charge que tout ce qui gère l'affichage + les blocs et items. Dans le cas ou le side est le serveur, il charge la partie génération, le système qui compte le temps, les joueurs + les blocs et items.
    Ensuite lors du build, dans l'archive du client j'inclus le package common + client et dans celui du serveur server + common.

    Du-coup le mod n'est pas utilisable en solo non plus, mais dans le cas de NHG ça ne cause pas problème puisque le mod n'a aucun intérêt en solo.

    Dans ton cas la séparation sera surement différente, il faudrait que tu détailles ce que ton mods ajoute.


  • Mon mod ajoute:

    De nouveaux Guis
    Des commandes
    des blocs
    items
    mobs
    blocks en 3D (techne)
    de nouveau effets de potions
    il masque la barre d'XP
    de nouveaux onglets en créatif

    et c'est tout (je crois, du moins l’essentiel)


    Un bloc de type four aussi

  • Moddeurs confirmés Rédacteurs Administrateurs

    Je vois trop comment faire, la seule qui pourrait être mit en serveur seulement c'est les commandes.
    Sinon il faudrait développer deux mods sur deux workspace, dans un tu laisse normal, sur l'autre tu fais que si le side est serveur, ça crash.


  • Les commandes elles peuvent virées t'inquiète pas !


    Y'a aussi des events


  • Tu pense que tu saurais le faire sans les commandes ?
    Car elles peuvent êtres enlevées !


  • @'robin4002':

    Sinon il faudrait développer deux mods sur deux workspace, dans un tu laisse normal, sur l'autre tu fais que si le side est serveur, ça crash.

    On peut toujours décompiler pour changer ça.
    A la limite, il faudrait peut-être faire comme tu dis deux workspace, et dans l'un pour le serveur tout mettre, et dans l'autre pour le client virer tout ce qui se trouve dans les conditions de type

    if (!worldObj.isRemote) { /* blahblah */ }
    

    Comme ça tout ce qui se déroule coté client sera donné, par contre coté serveur non. Donc pour le cracker, il faudrait après faire comme ce que font les serveurs privés de MMORPG, ce qui je pense ici serait bien trop de travail pour juste avoir un mod, autant tout recoder.


  • Je vois pas trop comment faire en fait ?


  • En gros, tu codes ton mod. Ensuite dès qu'il est finit tu compiles la version pour ton serveur puis tu fais un backup des sources.
    Ensuite, tu cherches toutes les conditions de type cité plus haut et tu les supprimes avec leur contenu. Puis ensuite tu recompiles et tu as la version client side only.

    Ce que ça fait techniquement c'est que ça supprime les parties réservées au serveur, donc du coup pas moyen de le faire tourner côté serveur. Et c'est plus efficace que de mettre du @SideOnly partout puisque là même en décompilant y aurait un paquet de code à faire. Et d'ailleurs ça empêche aussi de le faire tourner en solo, mais a priori c'est ce que tu veux puisque c'est uniquement pour ton serveur.

  • Moddeurs confirmés Rédacteurs Administrateurs

    Utilise plutôt deux workspace ça serait plus simple. Sur ta version client ne mets aucun @SideOnly, comme ça si quelqu'un voudra mettre le mod en serveur, ça va crasher.
    Pour la version serveur tu ne mets pas tout les codes qui concerne le client et voila.


  • @'robin4002':

    Sur ta version client ne mets aucun @SideOnly, comme ça si quelqu'un voudra mettre le mod en serveur, ça va crasher.

    Mais il est intéressant d'enlever les trucs côté serveur sur le client pour en plus empêcher la décompilation et de remettre des SideOnly, ce qui prendrait pas très longtemps.

  • Moddeurs confirmés Rédacteurs Administrateurs

    Aussi oui


  • Bien, je testerais tous ça !

    Merci messieurs !