2 votes

Modding Minecraft, outre l'endroit où il est installé, quelles sont les différences entre les mods client et serveur ?

J'ai fait des allers-retours entre les tutoriels de modélisation des clients et des serveurs, et je n'arrive pas à savoir où commence l'un et où finit l'autre.

Si je crée un mod client qui ajoute des objets et des blocs, que je l'installe sur mon PC puis que je rejoins le serveur d'un ami, s'il n'y a pas de conflits, pourrai-je utiliser mes nouveaux blocs sur son serveur ? Le serveur spécifie-t-il les mods à utiliser... si c'est le cas, ne pourrai-je pas me joindre au serveur si mon mod est installé ? Si je peux me joindre à lui, mon mod est-il désactivé lorsque je suis sur son serveur ?

Par ailleurs, si je crée le même mod, mais pour un serveur, tous les utilisateurs devront-ils installer le mod pour pouvoir rejoindre mon serveur ? J'imagine que l'ajout de blocs ne nécessite pas cette installation, mais que se passe-t-il si je veux ajouter une nouvelle interface utilisateur ? Cela me semble être du côté client, mais qu'en est-il de choses comme les permissions, qui sont orientées vers les mods de serveur ?

Mes questions sont donc les suivantes : en quoi les mods serveur et client sont-ils différents (hormis le fait que l'un est installé sur un client, l'autre sur un serveur), quelles sont les limites de chacun et comment interagissent-ils entre eux, le cas échéant ?

4voto

SevenSidedDie Points 32991

Este entièrement dépend de ce que le mod change.

  • Si vous avez un mod qui modifie des éléments dont seul le client se soucie (par exemple, l'ajout d'ombres réalistes), le mod client fonctionnera correctement en mode multijoueur. (Ceux-ci n'auront aucun effet installés sur le serveur).

    • Une modification de l'interface utilisateur ne changera que les clients. L'installer sur le serveur n'aura aucun effet.
  • S'il modifie quelque chose que seul le serveur est chargé de gérer (par exemple, en changeant l'algorithme du générateur de monde), le client n'a pas à connaître le mod et il peut être réservé au serveur. (Ceux-ci n'auront aucun effet installé sur le client lors d'un jeu multijoueur).

  • S'il modifie le monde d'une manière que le client et le serveur doivent tous deux comprendre (c'est-à-dire de nouveaux objets/blocs), alors il doit être sur le serveur et le client. (Ce qui se passe en cas d'incompatibilité avec le mod dépend de celui-ci).

    • Dans votre exemple spécifique, pas de L'ajout de nouveaux blocs à votre client ne vous permettra pas de les utiliser sur un serveur multijoueur. Vous pourriez être en mesure de rejoindre, ou vous ne pouvez pas. Vous pourrez peut-être vous joindre au jeu, mais vous serez renvoyé dès que vous tenterez d'utiliser un bloc personnalisé. Cela dépend entièrement du code que vous modifiez. Les interactions possibles sont aussi nombreuses qu'il y a de lignes de code dans Minecraft qui peuvent être modifiées.
    • L'ajout d'un mod new-block à un serveur le rendra incompatible avec les clients. Cela peut se manifester par des déconnexions, des plantages ou des "fantômes" côté client. Le client doit avoir un mod côté client qui correspond au mod côté serveur.
    • Un mod de permissions est uniquement côté serveur, mais un mod d'interface utilisateur est uniquement côté client. Pour qu'un module d'interface utilisateur puisse modifier les autorisations côté serveur, il faut que le module client et le module serveur sachent interagir l'un avec l'autre.

Ces éléments dépendent entièrement de la façon dont le mod est codé. Sans savoir ce que votre mod modifie, nous ne pouvons même pas le deviner. Plus techniquement, le point de départ des mods serveur et des mods client dépend des fonctions Java spécifiques qu'ils modifient et de la manière dont ces fonctions fonctionnent dans le cadre de l'architecture serveur-client de Minecraft.

0 votes

Je cherche à créer un mod qui soit spécifiquement utilisé pour améliorer une carte à thème que j'ai créée. Je veux ajouter des objets pour permettre de lancer des sorts, limiter la discussion générale à portée de voix, ajouter des déclencheurs de redstone qui sont activés par un utilisateur disant le mot de passe à portée de voix du déclencheur, une interface utilisateur personnalisée pour gérer les sorts, un mécanisme d'expérience personnalisé, ainsi que des npcs marchands personnalisés.

0 votes

@Chronicide Ce serait un mod complexe ou un ensemble de mods. Certaines de ces fonctions devront être coordonnées entre le serveur et le client. Les détails spécifiques de l'implémentation de ces fonctions seront trop localisés pour que l'on puisse poser des questions ici, mais les personnes des forums Minecraft Mod Dev devraient être en mesure d'aider quelque peu. Avez-vous posté des messages là-bas ?

0 votes

Je vais aller les voir. Merci pour votre aide. Cela m'a permis de mieux comprendre ce que mon modèle pourrait impliquer.

1voto

buk Points 71

Les mods clients vont modifier le jeu actuel, et vous devrez les déposer dans le Minecraft.jar. Cela signifie que vous serez le seul à voir ce qui a été modifié. (Et certaines fonctionnalités ne fonctionneront pas sur les serveurs)

Les mods de serveur modifient le moteur du serveur et fournissent généralement une sorte de fonctionnalité sociale.

0 votes

Donc si je voulais que mon serveur ait des blocs/éléments spéciaux, je devrais avoir à la fois un mod serveur pour définir les nouvelles fonctionnalités globales (comme limiter le chat à portée de voix), et faire en sorte que tous les utilisateurs installent un mod client qui ajouterait des éléments/unités ? Qu'est-ce qui empêche quelqu'un d'utiliser ses propres mods client pour ajouter des éléments que je ne veux pas qu'ils aient sur mon serveur ?

0 votes

Techniquement, il suffirait d'ajouter des comportements différents sur le serveur pour qu'ils se comportent différemment. Si vous vouliez qu'ils aient aussi un aspect différent, il faudrait que les utilisateurs installent un pack de textures ou un mod. Deuxièmement, le serveur contrôle tous les objets créés, vous pouvez donc trouver/faire des mods qui interdisent/désactivent certains objets/blocs/etc.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X