Résolu Installer des mods côté serveur... Comment faire ?

VulcanBrain

Architecte en herbe
22 Août 2015
256
5
75
Bonjour,

Je poste ce sujet car j'aimerais comprendre comment installer des mods sur mon serveur.

Je dispose d'un serveur Bukkit-Spigot version 1.8.7, vanilla. Survie à la dure, bon avec quelques plugins comme worldguard et authme. Mais il est configuré principalement pour de la survie pure.

Or en recherchant ces derniers temps des fonctionnalités à ajouter au gameplay de mon serveur, je suis tombé sur le mod DeathChest, permettant d'enregistrer le contenu de notre inventaire lors de nortre mort, à l'endroit de notre mort. Je trouve ça pratique.

Or je ne comprends pas très bien comment l'installer. Premièrement je suis pas sûr de comprendre la différence entre plugins et mods. Voici ce que je comprends :

- Mods : petit logiciel qui se greffe sur le Minecraft original, altérant le gameplay et/ou le jeu lui même. D'autres fonctionnalités par exemple. Comme optifine qui augmente les FPS, permet de zoomer, modifie les textures des blocs comme le verre qui fusionne. Mais on peut l'installer que côté client. Car ça ne modifie que la vue du joueur, pas les fonctionnalités du serveur.

- Plugins : petit logiciel qui peut se greffer sur un jeu aussi, mais en l'occurence avec Minecraft, uniquement sur un serveur. Ce dernier altère le code du serveur pour modifier le gameplay ou les maps. Tous les joueur venant dessus sont soumis à ces fonctionnalités.

Dites moi si je me trompe.

Alors je pose cette question : Si DeathChest est un mod, est il possible par un moyen ou un autre de l'intégrer au serveur ? Comme un plugin ?

Je vois pas pourquoi c'est un mod, car si les mods modifient la façon de jouer, côté client, comment le plugin deathchest ferait pour mettre un coffre sur le serveur, alors que c'est qu'une fonctionnalité côté client ?

Merci de vos réponses.

Cordialement

VulcanBrain, MineDesign
 
Salut,
Un plugin bukkit est un programme qui s'installe sur un serveur bukkit ou spigot qui exploite l'api de bukkit pour ajouter du contenu. Ce contenu ne peut que être en rapport avec des fonctionnalités déjà présentes dans Minecraft. Un plugin utilisera donc le tchat ou le scoreboard pour afficher des informations au client.
Le client n'a du-coup pas besoin d'être modifié.

Un mod est un programme qui s'installe soit directement dans le jeu soit via Forge. Dans le premier cas il injecte directement son code dans Minecraft. Dans le second cas il exploite Forge pour ajouter du contenu tout en exploitant directement le code de Minecraft (c'est pour cette raison un mod 1.7.10 ne fonctionnera jamais en 1.8.9).
Le mod étant installé sur le client il est capable de modifier l'aspect visuel du jeu. Certains mods comme optifine ou des mods de minimaps ne changent justement que l'aspect visuel, ce sont alors des mods dit "client side only" qui n'ont que besoin d'être installer sur le client.
Les autres mods doivent être installés sur le client ET le serveur (s'il n'est pas installé sur le serveur il ne pourra pas être utilisé et s'il n'est pas sur le client le client ne pourra pas se connecter sur le serveur).
Comme les mods sont présents à la fois sur le client et le serveur ils ont la possibilité d'ajouter des items, des mobs, des blocs, etc ... Ce qu'un plugin ne peut pas faire.

Pour faire fonctionner un mod sur un serveur il faut dans un premier temps installer Forge sur le serveur.
Par contre à l'heure actuelle il est impossible de faire un serveur supportant à la fois des mods et des plugins bukkit en 1.8 (et cela sera surement jamais possible).
Il est en revanche possible de faire un serveur Forge + Sponge, mais ce dernier n'acceptera que les plugins sponge et non les plugins bukkit (et pour l'instant il y a peu de plugin sponge :/).
 
A noter aussi que devoir obligatoirement installer le mod pour chaque joueur représente une contrainte, et que ça en gêne plus d'un. Si tu as un serveur public, obliger tout le monde à utiliser des mods peut représenter une barrière, surtout si c'est pour apporter des détails au jeu, qui au fond changeront très peu de choses.
Mais de toutes façons, il me semble que DeathChest a un équivalent en plugin.
 
Merci de m'avoir répondu si vite,

Je dois dire que j'ai appris des choses du coup. Moi qui croyais que les mods étaient impossible à installer côté serveur ^^

Un plugin bukkit est un programme qui s'installe sur un serveur bukkit ou spigot qui exploite l'api de bukkit pour ajouter du contenu.

Très bien donc. Le plugin ajoute du contenu à l'API du serveur minecraft, pour modifier le code.

(Ne vous inquiétez pas, j'ai fait un peu de développement, quelques trucs de bases sur Android, donc je vois de quoi vous parlez.)

Et du coup comme il est modifié, le serveur se voit fonctionner avec d'autres subtilités. Ok jusque là ça va.

Le mod étant installé sur le client il est capable de modifier l'aspect visuel du jeu. Certains mods comme optifine ou des mods de minimaps ne changent justement que l'aspect visuel, ce sont alors des mods dit "client side only" qui n'ont que besoin d'être installer sur le client.

Pour les mods, si j'ai bien compris si on en installe côté client, ça permet d'afficher des données concernant la durabilité des armes par exemple, en récupérant des données du serveur, pour le mod Durability Show Mod par exemple. Et là si je me trompe pas, même si c'est sur un serveur, si le client détient ce mod pour l'affichage en question, pas besoin qu'il soit installé sur le serveur je pense ?

Les autres mods doivent être installés sur le client ET le serveur (s'il n'est pas installé sur le serveur il ne pourra pas être utilisé et s'il n'est pas sur le client le client ne pourra pas se connecter sur le serveur).
Comme les mods sont présents à la fois sur le client et le serveur ils ont la possibilité d'ajouter des items, des mobs, des blocs, etc ... Ce qu'un plugin ne peut pas faire.

Du coup si je comprends bien, le mod DeathChest doit être installé via Forge (faudrait encore que je me renseigne là dessus, je sais pas trop ce qu c'est), autant sur client que sur serveur ? C'est bien ce que je pensais, même si je pensais pas ça possible. Oui, si on a le mod côté client, faut bien qu'un petit truc sur le serveur fasse en sorte que ça génère le chest.

J'ai déjà un serveur Bukkit-Spigot, avec des maps déjà modifiées et des plugins déjà fonctionnels. Est-ce que installer Forge génèrera des contraintes ?

Par contre à l'heure actuelle il est impossible de faire un serveur supportant à la fois des mods et des plugins bukkit en 1.8 (et cela sera surement jamais possible).
Il est en revanche possible de faire un serveur Forge + Sponge, mais ce dernier n'acceptera que les plugins sponge et non les plugins bukkit (et pour l'instant il y a peu de plugin sponge :/).

Vraiment ? Des mods et des plugins en même temps : pas possible ? C'est bête ça, j'ai WorldGard/WorldEdit ainsi que Authme qui me sont très utiles... Je souhaitais ajouter DeathChest en plus, car ça saoulait mes joueurs ainsi que moi, de toujours rager de voir ses items disparaitre si on vient pas à temps pour les récupérer... J'étais tombé sur DeathChest, ça m'intéressait, car je trouve peu de mods vraiment utile. Certes ça enlève au jeu l'aspect purement survie. Mais vas-y pour retrouver l'endroit ou t'es mort lol, même avec un chest généré. Enfin bon c'est que mon avis ;).

Mais pourquoi des mods et plugins c'est pas possible ? Techniquement je veux dire, je comprends pas...

C'est quoi les serveurs "Sponge" ? Désolé pour mon ignorance...

A noter aussi que devoir obligatoirement installer le mod pour chaque joueur représente une contrainte, et que ça en gêne plus d'un.

Oui, je trouve ça assez handicapant. Mais bon, une fois qu'il es installé c'est bon. Mais ça reste quand même super énervant. Au moins un plugin ça modifie déjà le fonctionnement su serveur sur lequel un client vient. Tout est codé, il a quasiment rien à faire.

Il devrait y avoir des changements là dessus. Genre un code de Mojang qui permettrait d'analyser les serveurs où l'on va, via notre compte Minecraft.net, pour vérifier les mods qu'il nous faut pour certains serveurs, et nous les installer sur le client lorsqu'on se logge.

Mais de toutes façons, il me semble que DeathChest a un équivalent en plugin.

Ah bon , Intéressant. Du coup j'aurais peut être pas besoin de l'installer en client alors ?

En tout cas, merci déjà pour votre patience, je vais me renseigner de mon côté :)

A bientot
 
Sponge c'est ça : https://www.spongepowered.org/

S'il existe une version plugin en effet il ne sera pas nécessaire d'installer quelques choses sur le client.


En ce qui concerne l'installation automatique du mod à la connexion au serveur, cela a déjà été proposé et la réponse est non. Tout simplement car quelqu'un pourrait créer un mod malveillant et une simple connexion à un serveur infecté permettra de répandre ce dernier.
Le téléchargement automatique de logiciel tiers + exécution est quelque chose de purement interdit si on veut garder un minimum de sécurité.
 
Sponge c'est ça : https://www.spongepowered.org/

S'il existe une version plugin en effet il ne sera pas nécessaire d'installer quelques choses sur le client.


En ce qui concerne l'installation automatique du mod à la connexion au serveur, cela a déjà été proposé et la réponse est non. Tout simplement car quelqu'un pourrait créer un mod malveillant et une simple connexion à un serveur infecté permettra de répandre ce dernier.
Le téléchargement automatique de logiciel tiers + exécution est quelque chose de purement interdit si on veut garder un minimum de sécurité.

Oui, je viens de télécharger le plugin DeathChest côté serveur. Ca me parait plus pratique. Via ce lien pour ceux que ça intéresse. Ca prend en compte les versions 1.8. https://www.spigotmc.org/resources/discontinued-deathchest.3749/

Je l'ai installé et testé. Mais je m'attendais à mieux.

Bon ça fonctionne à peu près. Mais moi je pensais qu'on pouvait générer le coffre à la mort de quelqu'un et qu'il reste intact jusqu'à ce que le joueur vienne en récupérer le contenu. Mais évidemment y a une limite de temps à mettre, par défaut à 120 secondes. Moi je voulais justement un coffre sécurisé qui reste tout du long. Justement à cause de ces 5 minutes avant que les itemps disparaissent.

On peut même pas mettre une instruction genre "disappear-chest-time-limit" à false par exemple pour empêcher le chest de se casser.

Pareil pour les permissions accordées à certains joueurs pour toucher ou pas toucher au coffre etc. Ou il faut modifier qqch dans WorldGuard

C'est toujours un truc que j'ai trouvé lourd : les compatibilité entre plugin. Faut toujours modifier un truc sur Plugin X pour que une fonctionnalité sur Plugin Z fonctionne.

Enfin bref moi ce que je souhaiterai. C'est juste qu'un coffre se génère à la mort d'un joueur x. Et que tout, je dis bien TOUT son inventaire, avec les barres raccourcis s'enregistre dans le chest qui se génère la où il meurt. Bien sûr je parle pas des kill chest. Là si un joueur z vole les items du joueur x tant pis c'est le jeu XD mais c'est le deathchest qui m'intéresse. Le home chest non.

Mais je voudrais aussi que ce chest ne soit accessible que par le joueur qui est mort. Et qu'il reste intact tant que le joueur n'a pas tout récupéré. Et qu'il disparaisse quand il a tout pris. Et tout ceci sans limite de temps avant que le chest disparaisse.

Manipuler x plugins pour une fonctionnalité ça me fait peur lol XD

Voici le config.yml de mon plugin DeathChest :
Code:
enable-vault: false
effect-on-break: MOBSPAWNER_FLAMES
add-holographic-displays-above-chests: false
force-player-to-pay: false
deathchest-cost: 100.0
killchest-cost: 50.0
homechest-cost: 250.0
allow-breaking-chests: true
death-chest-type: CHEST
kill-chest-type: CHEST
pvp-tag-time: 30
lock-chest-until-destroyed: false
lock-time: 60
maximum-deathchests: 3
maximum-killchests: 2
disable-killchests: false
remove-chest-after-x-seconds: 120
show-coords: false
home-chest-only-active-in-whitelisted-worlds: false
allow-home-chests-in-all-worlds: false
fast-loot: false
use-tombstones: false
spawn-tombstones-on-non-solid-blocks: false
spawn-chest-if-tombstone-cant-be-placed: false
spawn-chest-outside-protected-regions: false
search-radius-for-protected-regions: 50
allowed-blocks:
- AIR
- STONE
- DEAD_BUSH
- LEAVES
- RED_ROSE
- YELLOW_FLOWER
- VINE
- LONG_GRASS
- TALL_GRASS
allowed-worlds:
- world

Voilà j'espère ne pas en demander trop. Je suis très intéressé par les plugins mais malheureusement pas encore assez doué pour me débrouiller.

Merci

A bientôt.