Ce guide est adressé à tous les possesseurs d’un serveur Minecraft souhaitant rajouter une touche de PvE à leur jeu multijoueur. Pour rappel, le PvE (ou Player versus Environement) est une discipline tirée des plus grands MMORPG (ou Meuporgs pour les intimes), qui consiste à ce qu’un groupe de joueur défie des monstres scriptés et dirigés par le serveur. En l’occurrence, le plugin MobArena vous permettra de faire arriver des monstres (que vous aurez choisi) par vagues, avec des boss, des évènements spéciaux, et les joueurs pourront choisir entre différentes classes qu’une fois encore vous aurez configuré.
Si vous n’avez pas installé CraftBukkit sur votre serveur, rendez vous sur ce topic et téléchargez la version de craftbukkit correspondant à votre système d’exploitation (ou celui du dédié sur lequel tourne votre serveur). Une fois l’archive téléchargée, ouvrez la et dans le dossier Craftbukkit se trouve un fichier en .url : ouvrez le, cela va vous télécharger automatiquement la dernière version recommandée de CraftBukkit (en ce moment, version 1337). Enregistrez le fichier dans le dossier contenant le fichier “Craftbukkit Starter”. Enfin, une fois ce fichier téléchargé, lancez le “Craftbukkit Starter” et le tour est joué !
Maintenant, installons le plugin :
Rendez vous sur cette page, et dans la section “Recent files”, téléchargez la dernière version sortie. Une fois l’archive téléchargée, déplacez-là dans le dossier plugins de votre serveur, et, après avoir redémarré ledit serveur, vérifiez que dans ce dossier plugins, un dossier MobArena a été créé, contenant des fichiers *.properties entre autres.
Le plugin est maintenant installé ! Il reste à le configurer, et cela se fait en deux parties : fichiers de configuration, puis configuration en jeu ensuite.
Il y a plusieurs choses à faire dans les fichiers de configuration : Nous allons commencer par les paramètres globaux.
Dans le dossier MobArena des plugins, vous trouverez le fichier config.yml. Au tout début de ce fichier, vous trouverez la configuration global-settings :
global-settings: update-notification: true enabled: true allowed-commands: /list
update-notification : s’il est “true”, cela affiche un message dans le chat que le plugin est périmé, et si une nouvelle version est disponible
enabled : s’il est “true”, le plugin est activé.
allowed-commands : Ce sont les commandes autorisées aux joueurs lorsqu’ils sont dans l’arène. Dès qu’ils rejoignent l’arène (en spectateur ou on gladiateur), seules les commandes écrites dans ce paramètre seront autorisées aux joueurs. Par défaut, tout est désactivé. Si vous voulez rajouter des commandes, écrivez les ainsi :
allowed-commands: /list, /me, /who, /kick
Par exemple. Par contre, il ne faut pas mettre les sous commandes (exemple : “/kill Hapistorique” ne fonctionnera pas, mettez juste “/kill”)
Sous les paramètres globaux, vous aurez les classes :
classes: Knight: items: diamond_sword, grilled_pork:2 armor: 306,307,308,309 Archer: items: wood_sword, bow, arrow:128, grilled_pork armor: 298,299,300,301
Remplacez les “Knight” et “Archer” par ce que vous voulez, mais attention, les accents et symboles en tous genres ne fonctionneront pas !
Ensuite, pour les items et armures à disposition pour chaque classe, vous avez le choix entre rentrer les IDs des objets ou bien leur nom. Si vous voulez mettre un nombre x du même objet, prenez exemple sur le “arrow:128” : OBJET:NOMBRE
Si vous voulez rajouter une nouvelle classe, rajoutez-la en dessous des deux autres et suivez la même structure pour les objets et l’armure.
Vous pouvez configurer plusieurs arènes de différentes manières : cela se fait au début de la configurations des arènes :
arenas: default:
Par défaut, l’arène s’appelle default. Si vous voulez changer son nom, changez la ligne default par ce que vous voulez (mais laissez les deux points)
settings: world: '' enabled: true protect: true entry-fee: '' logging: true clear-wave-before-next: false detonate-creepers: false detonate-damage: false lightning: true auto-equip-armor: true force-restore: false soft-restore: false soft-restore-drops: false require-empty-inv-join: false require-empty-inv-spec: false hellhounds: false pvp-enabled: false monster-infight: false allow-teleporting: false spectate-on-death: true share-items-in-arena: true min-players: 0 max-players: 0 max-join-distance: 0 repair-delay: 5 first-wave-delay: 5 wave-interval: 20 special-modulo: 4 max-idle-time: 0 spout-class-select: true final-wave: 0
enabled : si il est “true”, l’arène en question est activée.
protect : si il est “true”, cela empêche aux joueurs de casser des blocs de n’importe quelle manière dans la zone de l’arène, que nous définirons plus tard.
entry-fee : Il s’agit d’un objet que l’on doit avoir dans son inventaire pour pouvoir rentrer dans l’arène. Si vous avez un système d’économie, vous pouvez rentrer $xx, xx étant l'”argent” à retirer du compte du joueur.
logging : si “true”, à la fin de chaque match, quelques statistiques seront inscrites dans le fichier de stats du plugin.
clear-wave-before-next : si “true”, il n’y aura pas de nouvelle vague tant que tous les monstres de la vague précédente ne sont pas morts.
detonate-creepers : si “true”, tous les creepers doivent exploser pour lancer la vague suivante (inutile si la variable précédente est “true”)
detonate-damage : si “false”, les joueurs n’auront pas de dégâts d’explosion des creepers. A besoin de detonate-creepers : true pour fonctionner
lightning : si “true”, un éclair sera lancé sur chaque spawn lors des vagues spéciales
auto-equip-armor : si “true”, le stuff est équipé automatiquement lors de la sélection de la classe.
force-restore : si “true”, sauvegarde l’arène sur le disque dur avant de lancer le jeu
soft-restore : si “true”, effectue une liste de réparations à exécuter à la fin du combat en cours, rien n’est sauvegarde (fait moins laguer). Si “true”, il ignore le force-restore et le protect
soft-restore-drops : si “true”, tous les blocs détruits par les joueurs sont droppés et récupérables par les joueurs pour qu’ils les replacent ensuite.
require-empty-inv-join : si “true”, les joueurs doivent avoir un inventaire vide pour rentrer dans l’arène
require-empty-inv-spec : si “true”, les joueurs doivent avoir un inventaire vide pour rentrer dans les gradins
hellhounds : si “true”, tous les animaux de compagnie seront enflammés (mais ne subiront pas de dégâts), pour les différencier des monstres.
pvp-enabled : si “true”, les joueurs pourront se taper entre eux dans l’arène.
monster-inflight : si “false”, les monstres ne se feront pas de dégâts entre eux.
allow-teleporting : si “false”, les joueurs ne pourront pas se téléporter hors de l’arène.
spectate-on-death : si “true”, quand on meurt, on rejoint les spectateurs.
share-items-in-arena : si “false”, les joueurs ne pourront pas se donner d’objets.
min-players : nombre de joueurs minimum pour lancer l’arène
max-players : nombre maximum de joueurs autorisés.
max-join-distance : distance maximum en blocs à laquelle les joueurs peuvent rejoindre l’arène (si 0, distance infinie, peu importe la map)
repair-delay : le temps en “ticks” (20 ticks = 1s) entre le moment ou un bloc est cassé et le moment où il se répare (ne fonctionne pas avec soft-restore)
first-wave-delay : le temps en secondes après lequel la première vague sera lancée
wave-interval : temps en secondes entre chaque vague, sauf si clear-wave-before-next est “true”
special-modulo : toutes les <NOMBRE> vagues seront des vagues spéciales
max-idle-time : temps en secondes avant lequel un monstre doit être tué, sinon les joueurs sont kickés.
spout-class-select : si “true”, permet de sélectionner les classes avec spout (non essayé)
final-wave : numéro de la vague finale.[/spoiler]
Plutôt que de configurer à la main toutes les vagues, un développeur a mis au point un éditeur web pour configurer vos vagues de monstres. Il est très simple d’utilisation, et une petite explication va suivre pour créer vos vagues.
Mais avant ces explications, voici comment débuter votre configuration de vagues :
Nous allons commencer par créer une vague “récurrente”, c’est à dire qu’elle apparaîtra aléatoirement parmi d’autres selon des critères de probabilité. Pour commencer, cliquez sur “New Wave” à côté de “Reccurent Waves”
[spoiler]Name : nom de la vague, si vous voulez lui donner un nom spécial pour la reconnaitre
Category : Recurrent/Single : Laissez en Recurrent pour faire une vague normale, mettez en Single pour une vague spéciale
Type :
Wave : Pour spécifier la première fois que cette vague doit apparaître, ou bien la vague unique d’apparition.
Priority : Pour les vagues récurrentes, permet de donner une probabilité que cette vague tombe (nombre entier). Plus le nombre est grand, plus la probabilité que cette vague tombe est grande (par rapport aux priorités des autres vagues)
Frequency : Définit la fréquence à laquelle cette vague peut apparaître. Si, par exemple, vous avez défini une fréquence de 3, alors si cette vague tombe, elle ne pourra pas retomber avant 3 vagues.
Growth : Détermine la vitesse d’apparition des monstres. Old est le plus simple, les autres sont basés sur des calculs mathématiques plus complexes, bref, Old reste un bon compromis.[/spoiler]
Pour ajouter par exemple un monstre à la vague, sélectionnez ledit monstre dans la liste en bas à droite (il y a parfois des choix surprenants !), puis déterminez la probabilité d’apparition du monstre en lui attribuant un nombre dans le carré à côté (plus le nombre est grand plus la probabilité est grande). Enfin, appuyez sur add, il s’ajoute à la liste, avec à côté le pourcentage de probabilité d’apparition.
Le principe est le même pour les autre types de vagues ou pour les boss, seuls les choix de la liste changent. Il ne vous reste qu’à faire votre petite sauce !
Une fois votre petite tambouille faite, ré-enregistrez votre config en cliquant sur “Save Config As”
rewards: waves: every: '3': feather, bone, stick '5': dirt:4, gravel:4, stone:4 '10': iron_ingot:10, gold_ingot:8 after: '7': minecart, storage_minecart, powered_minecart '13': iron_sword, iron_pickaxe, iron_spade '16': diamond_sword
Vous pouvez configurer des récompenses en fonction des vagues atteintes, c’est assez simple :
every : ce sont des récompenses récurrentes. Dans le cas présent, par exemple, toutes les 3 vagues, les joueurs recevront une plume, un os et un bâton. Pour changer les objets en récompense, c’est comme pour changer les objets attribués à chaque classe, que nous avons vu plus haut. Vous pouvez aussi rajouter de l’argent en entrant un nombre précédé de $.
after : ce sont des récompenses uniques, que l’on obtient si on atteint telle ou telle vague. Par exemple, après la vague 7, on obtient en plus des récompenses récurrentes, un minecart, un minecart-coffre et un minecart motorisé.
Maintenant que tout est configuré, il reste (en gros), à définir l’arène, les gradins, les vestiaires, etc… Cela complète automatiquement votre fichier de configuration, mais c’est beaucoup plus simple à faire en jeu.
Rendez vous en jeu, sur votre serveur, et créez une petite arène (ou une grande, c’est vous qui voyez). Le plus simple pour commencer est de la faire carrée ou rectangulaire, et une fois que vous aurez compris le système, vous pourrez en faire une circulaire ou de la forme que vous voulez si cela vous chante !
Pour l’exemple, nous avons créé une arène ultra-basique, mais qui contient les trois zones nécessaires : Arène, vestiaires et gradins.
Pour commencer, allons dans les vestiaires, et créons le système de choix de classe : On met des panneaux sur les murs, et les joueurs iront taper sur le panneau de leur choix, correspondant à la classe qu’ils auront choisi.
Aussi, il faut rajouter un bloc de fer, que les joueurs taperont pour signaler qu’ils sont prêts.
Maintenant, on va définir la zone de l’arène, qui sera protégée lors du jeu. Pour se faire, mettez vous aux deux extrémités extérieures de l’arène (gradins compris, vestiaires compris)
Allez à la première extrémité, et tapez cette commande :
/ma setregion p1
Puis dans l’autre extrémité,
/ma setregion p2
Ensuite, comptez approximativement le nombre de blocs de haut que prend votre arène (environ 10 pour l’exemple), et tapez les commandes suivantes :
/ma expandregion <nombreblocs> up /ma expandregion <nombreblocs> down /ma expandregion <nombreblocs> out
Ces trois commandes augmentent le périmètre de protection autour de l’arène. Mettez un nombre de blocs suffisant, mais pas extrême non plus. Choisissez aussi en fonction de l’éventuelle déco autour de votre arène, ou autre choses qui pourraient être malencontreusement abîmées.
Au milieu de l’arène, tapez ceci :
/ma setwarp arena
pour définir le lieu d’arrivée des gladiateurs dans l’arène, quand ils sont prêts.
Dans les gradins, tapez ceci :
/ma setwarp spectator
pour définir où seront téléportées les joueurs souhaitant assister au jeu.
Dans les vestiaires, tapez ceci :
/ma setwarp lobby
pour définir le lieu des vestiaires.
Une fois que c’est fait, allez dans chaque lieu où vous voulez que les monstres apparaissent (pour faire simple, les 4 coins), et tapez dans chaque lieu la commande suivante :
/ma addspawn sX
X variant en fonction du spawn : si c’est le premier, X=1, si c’est le 2e, X=2, etc…
Ça y est, vous pouvez souffler, la configuration est terminée !
Toutefois, pour vérifier que tout est bon, tapez ceci :
/ma checkdata
Il ne reste plus aux joueurs qu’à taper “/ma join” pour rejoindre les vestiaires, puis la partie commencera quand tout le monde est prêt !