Bukkit, Spigot, Paper, Sponge… quelle API ?

Publié le 31 Mai 2017 à 03:05 par

Spigot, Bukkit, Paper, Sponge, en effet un dilemme existe parmi les administrateurs de serveur : choisir un module, une API pour serveur, ou plutôt, pour parler plus technique, un fichier “jar” (“jar” étant l’extension java d’un fichier : blabla.jar comme il existe des fichiers texte, blabla.txt) sur lequel baser son serveur.

En effet, il en existe un certain nombre et tous n’apportent pas les mêmes fonctionnalités.

Les 4 cités plus haut sont aujourd’hui les plus connus et les plus utilisés, ce sont ceux auxquels on va s’intéresser aujourd’hui. Quels sont leurs avantages, quels sont leurs inconvénients ? On vous dit tout sur Minecraft.fr ! C’est donc parti pour cet article un petit peu plus particulier ! En espérant qu’il vous plaise et soit assez clair !

Bukkit : le précurseur…

Bukkit
Logo de Bukkit.

On ne vous a jamais dit que Bukkit a été le précurseur des plugins ?

Bon, je ne m’attarderais pas très très longtemps sur Bukkit, même si on lui doit le respect car c’est grâce à lui que tout s’est lancé.

Bukkit est une API permettant de charger des plugins sur un serveur classique. Il n’est plus officiellement mis à jour par ses développeurs, toutefois il est fourni lors de la compilation de Spigot.

A l’origine, il était la base d’un serveur Minecraft jusqu’à ce que Spigot prenne de l’ampleur entre 2012 et 2013. Le fonctionnement entre les deux reste toutefois très similaire, même si Spigot permet plus de choses et également améliore les performances… mais patience, nous y arrivons !

Non pas que je ne vous conseille pas d’utiliser Bukkit, vous vous y retrouverez sans problème. Toutefois il est clair que ce n’est plus l’API la plus utilisée car d’autres se sont ancrées, proposent plus de choses et d’autres encore émergent !

Bukkit.org

Spigot : l’incontournable…

spigot
Logo de SpigotMC.

Spigot… Ah là là… Que ferait-on sans toi ?

Sans rire, sans Spigot, dites adieu à tous vos serveurs mini-jeux préférés et même à bien des serveurs !

Spigot est fondé en 2012 et a pour vocation de fournir une API encore plus performante que Bukkit. Le pari est plutôt réussi et les développeurs créent également une seconde API qui a pour but de relier plusieurs serveurs entre eux. Je parle bien sûr de BungeeCord.

Cette API reste la clé de voûte de l’ensemble de la communauté Minecraft. Elle permet bien évidemment l’installation de plugins, très souvent nécessaires au serveur. On pense bien sûr à Essentials, PermissionsEx, WorldEdit, WorldGuard, ou d’autres plus spécifiques comme Shopkeepers.

Mais Spigot, ce n’est pas que ça.

Spigot permet des choses plutôt intéressantes quand on se penche bien sur la configuration. Outre l’ajout de plugins, il permet par exemple de personnaliser certains messages du jeu. Par exemple, celui qui apparaît quand on se trompe de commande, ou celui qui vous kick car vous n’êtes pas à la bonne version du jeu. Ce sont des détails pour certains, mais moi j’y vois un moyen de rendre un serveur plus attractif, car plus « propre » grâce aux détails peaufinés.

Une des autres possibilités de Spigot est de, par exemple, désactiver l’auto-complétion de votre commande ou du pseudo d’un joueur. Quand vous tapez par exemple /ki dans le chat. Faites tab et ça vous proposera plusieurs commandes en complétion et par exemple la commande /kill. De la même manière, Spigot permet de gérer les paramètres d’un monde, tels que la vitesse à laquelle les cultures poussent, ou encore le taux de spawn des monstres etc.

Bref, Spigot permet pas mal de choses très intéressantes pour pousser les performances et explorer de nouvelles fonctionnalités tout en restant en vanilla !

SpigotMC

Sponge : le petit nouveau !

sponge
Logo de Sponge.

Sponge est une API très particulière. Déjà car elle est très récente et prend de plus en plus de place parmi les serveurs Minecraft, d’autre part car elle permet des choses qui n’étaient plus possibles depuis la 1.7.10 et Cauldron, ou alors mettre en place sur un même serveur des plugins ET des mods.

En effet, Sponge se découpe en deux API’s :

  • SpongeVanilla : une API qui est donc… vanilla oui, mais où vous pouvez mettre des plugins.
  • SpongeForge : une API pour être compatible avec Forge : permet de coupler des mods et des plugins, ou bien de mettre que des mods.

Qu’on soit clair : Sponge est une idée brillante.

Et j’accentue ce terme avec SpongeForge. De plus, les deux API’s sont très intéressantes à utiliser, je ne peux que vous conseiller, pour ceux qui s’y intéressent un peu, de les essayer sur un serveur. Toutefois, le gros handicap de SpongeVanilla est son incompatibilité avec tous les plugins Bukkit, rendant obsolètes une immense base de données de plugins quand on utilise Sponge. Bien qu’il existe des ponts pour rendre compatibles des plugins Bukkit sur Sponge, ceux-ci restent peu stables. On peut toutefois féliciter de nombreux développeurs qui enrichissent de plus en plus la base de données de plugins Sponge !

Vous l’aurez compris, je reste assez mitigé concernant Sponge. SpongeForge a toute mon approbation (car même s’il faut utiliser des plugins Sponge, le fait de pouvoir coupler mods et plugins sur des versions plus récentes, c’est quand même top !) mais je n’irais pas jusqu’à utiliser Sponge uniquement pour des plugins.

SpongePowered

Paper : le perfectionnement ?

« Hé ! On avait pas dit qu’on parlait que des API’s connues ? »

« Ça va c’est plutôt connu Paper namého ! »

« Mouais bof… ».

Bon, je vous l’accorde, Paper n’est pas l’API la plus répandue, et pourtant je la trouve très pratique et encore plus poussée que Spigot. Il faut savoir que celle-ci se base sur Spigot, c’est un peu un remake mais qui permet de configurer plus de choses et de pousser encore plus les performances du serveur.

En effet, vous retrouvez sous Paper les mêmes fonctionnalités et notamment la possibilité de mettre en place un proxy BungeeCord. Toutefois, un nouveau fichier de configuration (plutôt long et pénible je l’avoue !) met en place de nouvelles possibilités, plutôt pratiques !

Un exemple ?

Vous savez (ou pas) quand vous faites des teams via le /scoreboard. Hé bien sous Spigot les couleurs n’apparaissent pas dans le chat. Vous avez beau faire votre jolie commande /scoreboard teams option CéNouLéPluBô color dark_red, hé bien vous pouvez y aller, votre chat restera blanc. Figurez-vous qu’une ligne de configuration sous Paper permet tout simplement d’afficher les couleurs du scoreboard dans le chat.

Alors ! Convaincus ?

« Non. »

« Ah… »

Bon, bien je continue du coup !

Paper vous permet de personnaliser la génération du monde par défaut (toujours dans la configuration) en autorisant par exemple que certains types de bâtiments. Admettons je veux des villages dans ma map mais pas de donjons, c’est possible ! Encore un petit détail, juste pour le plaisir : dans ma map, je ne veux pas que les explosions fassent reculer les joueurs ou entités (effet « knockback »), hé bien ce petit détail est désactivable !

Je ne vais pas vous vendre Paper plus longtemps, vous aurez compris que, bien que très proche de Spigot, les fonctionnalités supplémentaires que Paper offre sont, selon moi, considérables s’ajoutant à celles déjà importantes de Spigot ! Il en fait donc l’API que j’utiliserai personnellement !

Paper

Voici donc dressé un léger panorama de ce qui est en partie disponible pour monter vos serveurs Minecraft. Faites votre choix et donnez votre avis en commentaires pour ceux qui s’y connaissent (les autres aussi, si vous voulez) !

Merci d’avoir lu cet article jusqu’au bout ! En espérant qu’il aura pu vous expliquer certaines choses et vous aura plu !

Damien

Rédacteur en herbe. Lapin confirmé. Aime partager ses savoirs en matière de configuration de serveur. Contactez-moi sur le forum ou Discord, je vous répond dans la journée ! Et n'hésitez pas à faire des suggestions d'articles ! :D

Correcteur(s)

Melnut

16 commentaires

Trier par : VOTESDATE

  1. Très bon article mais ça aurait été bien de parler de Glowstone.
    C’est une API perfectionnée et complète comme SpongeVanilla et construite de zéro, sauf qu’en plus les plugins Bukkit/Spigot sont compatibles dessus.
    Le mode survie est assez instable, mais sinon c’est que des avantages pour les serveurs de mini-jeux :)

    1. Bonjour et merci !
      Tu as raison de m’en parler, je ne connaissais pas du tout. Peut-être que j’en parlerai dans un autre article si le sujet s’y prête. Mais je vais découvrir cette API ! :)

  2. Très bonne article… Cependant tu parles de Bukkit ou de Craftbukkit… (Bukkit est une API de dèvloppement et CraftBukkit une API serveur [bien que similaires])

    1. Hé bien « Craftbukkit » c’est le fichier .jar qu’on utilise pour lancer un serveur, et « Bukkit » c’est l’API de « Craftbukkit » donc en soit c’est la même chose, à part que « Bukkit » est utilisé pour développer et pas pour lancer un serveur ^^.

      Fin’ bon, là en l’occurence c’est plutôt « Craftbukkit » !

  3. Merci beaucoup !
    Je n’arrivais jamais à différenciez la plupart d’entre-eux !
    Et tu m’a fait découvrir Sponge qui me hype beaucoup pour des futurs serveur survie avec des potes :DD

  4. Très bon article, je ne connaissais pas Paper mais je sens que je vais très vite l’adopter.
    Pour SpongeForge après quelques tests sur les versions 1.8x (conseillée ou dernière) j’ai abandonné, trop instable pour faire un serveur même privé avec peu de joueurs, à voir avec des versions plus récente de MC peut-être…

    1. Les versions plus récentes devraient être plus stables car sous les versions 1.8, il me semble que Sponge était encore en Beta ! A voir ;) !
      Merci pour ton retour en tout cas :)

  5. Merci pour l’article!

    Mais le lien pour Sponge c’est pas « spongepowered.com » mais « spongepowered.org » et le lien pour Paper ne fonctionne pas non plus

  6. Très intéressant, je ne connaissais pas paper et très mal sponge, merci pour cet article ! Maintenant, pourrais tu faire un article similaire mais sur les plugins (pourquoi pas même des plugins Sponge) ?

    1. Merci pour ton retour ! J’ai en effet quelques idées d’articles dans cet esprit plus axés sur les plugins, qui verront le jour prochainement. Je pense que cela sera axé dans un premier temps sur les API’s Spigot/Paper/Bukkit car je ne maîtrise pas assez Sponge et ses plugins pour prétendre pouvoir en faire une illustration et conseiller là-dessus. Toutefois, je me penche sur Sponge de temps en temps pour en savoir davantage, donc pourquoi pas à l’avenir oui :) !
      Si tu as des suggestions n’hésite pas à m’en faire part en MP sur le forum ou sur Discord !

  7. Article super intéressant et vraiment utile! C’est vrai qu’il n’y a pas beaucoup d’articles sur MC.fr à ce sujet

Les commentaires sont fermés.

Recherche d'articles

Article à lire

jeu interactif minecraft mode histoire netflix

Annonce

Partenaires

fantabob

Rejoignez nous !