- Auteur du plugin : _TheModerator
- Version du plugin : 5.1
- Version minimale de craftbukkit : CB1.7.9-R0.1
La commande principale :
Ce plugin s’oriente autour d’une seule et unique commande, qui servira à administrer toutes vos punitions. Simple, n’est-ce pas ? La commande est la commande suivante :
/p <joueur> <punition> [dégâts maximum pouvant être infligés par la punition] [nombre de répétitions de la punition] [fréquence des répétitions de la punition] [variables annexes]
Voilà, je suppose que je n’ai pas à expliquer, il suffit juste de taper cette commande, et le joueur sera puni (à condition, bien entendu, que vous ayez la permission de vous en servir). Par défaut, les joueurs reviennent en mode survie lorsqu’une telle commande est exécutée. Nous verrons la liste des punitions juste après. A noter que mettre « stop » à la place du nom de la punition permet d’arrêter toutes les punitions touchant le joueur et « restore » permet de réparer des « dégâts » infligés à la map (cela ne prend en charge que les ajouts directs à la map mais pas les conséquences des explosions, par exemple, vous pourrez réparer les dégâts de « web » mais pas de « nuke »). Vous pouvez remplacer les dégâts maximum par « x », spécifiant l’absence de limite, ou « y », spécifiant l’absence de limites, mais aussi l’absence du retour en mode survie. Avant de vous donner la liste des punitions, je vais vous parler de deux autres commandes, qui peuvent être utiles pour donner des frissons au joueur sujet à la punition, sans que celui-ci risque quoi que ce soit. Il est à noter que vous pouvez remplacer le pseudo du joueur par « all » dans le but de toucher tous les joueurs avec la punition.
/saveuserdata <joueur>
/restoreuserdata <joueur>
Vous l’aurez certainement compris, la première de ces commandes permet de sauvegarder l’état du joueur (dont son XP, son inventaire, sa vie et sa barre de faim). La seconde permet de rétablir la dernière sauvegarde sur un joueur, ce qui permet de punir un joueur sans que celui-ci risque de perdre son inventaire par exemple.
Liste des punitions :
Vous l’attendiez, n’est-ce pas bande de sadiques ? Hé bien nous allons dès maintenant attaquer la liste des punitions, et vous pourrez commencer à faire souffrir les griefeurs de votre serveur comme il se doit.
Nom de la punition | Effets de la punition |
---|---|
fall | Le joueur est téléporté à 200 blocs de haut, ce qui provoque sa chute, ainsi que l'apparition des messages "ARRRRGGH" lorsque la chute commence et "*Splat*" lorsque celle-ci se termine |
infall | Fonctionne de la même façon que fall, sauf que le joueur ne prend pas de dégâts de chute et est téléporté de nouveau à chaque fois qu'il touche le sol |
void | Le joueur est téléporté dans le vide, sous la bedrock, ce qui a pour effet de le tuer |
invoid | Fonctionne comme void, sauf que le joueur ne prend pas de dégâts, restant donc coincé dans le vide longtemps |
hole | Un trou de 25 blocs de profondeur apparaît sous les pieds du joueur, ce qui provoque invariablement son décès |
potato | Vous êtes une pomme de terre, vous tombez indéfiniment dans le vide sans prendre de dommages. Vous ne voyez plus rien et vous voyez des messages indiquant que vous êtes une pomme de terre dans le tchat (il s'agit d'une référence à Portal) |
glass | Téléporte le joueur à 200 blocs de haut, mais cette fois-ci une plateforme de verre apparaît sous les pieds du joueur |
floorportal | Fait apparaître un portail de l'end juste sous les pieds du joueur |
teleport | Téléporte le joueur n'importe où dans la map, à une distance définie au préalable dans le fichier de configuration du plugin |
shoot | Le joueur est envoyé loin dans le ciel, comme si le joueur subissait une explosion |
nether | fonctionne comme teleport, à la différence près que le joueur atterrit dans le nether (il est aussi possible que celui-ci arrive directement dans la lave) |
slap | Le joueur est projeté contre le mur, ce qui a pour effet de provoquer des dégâts de chute |
explode | Le joueur explose, tout simplement (attention aux dégâts infligés à la map) |
fexplode | Le joueur explose, mais sans qu'aucun dégât ne soit infligé, que ce soit à la map ou au joueur |
strike | Le joueur est frappé par un éclair (en mode punition divine) |
fstrike | Fonctionne comme strike, sauf que l'éclair n'inflige aucun dégât |
TNTTrick | Entoure le joueur de TNT et émet le son d'une TNT activée |
TNT | Fonctionne comme TNTTrick, à la différence près que la TNT est enflammée |
nuke | Nuke : déclenche une explosion équivalente à celle de 200 TNT sur le joueur (attention, cette punition a tendance à faire crash la grande majorité des serveurs, ainsi, à moins de savoir que votre serveur est capable de tenir, je ne saurais que vous déconseiller cette punition) |
bomb | Bomb : fait exploser 1000 TNT autour du joueur (ce qui ne devrait normalement pas causer de crash du serveur étant donné que 50 blocs séparent chaque TNT, faites cependant attention) (il va de soi que les dommages infligés à la map sont importants, faites-y également attention) |
fire | le joueur est entouré d'un cercle de feu |
burn | Le joueur prend feu |
hailfire | Envoie une boule de feu depuis le ciel |
flamingArrow | Envoie une flèche enflammée au joueur (peut-être utilisé a de multiples reprises, chose assez amusante) |
lavablock | Transforme le prochain bloc miné par le joueur en source de lave |
exblock | Le prochain bloc miné par le joueur explose |
hound | Fait apparaître un loup énervé près du joueur |
creeper | Fait apparaître un creeper électrifié près du joueur (ce qui peut également causer des dommages à la map) |
irongolem | Fait apparaître un golem de fer hostile près du joueur |
slender | Donne un puissant effet de cécité au joueur et fait apparaître un enderman hostile vers le joueur |
surround | Toutes les entités dans un rayon de 50 blocs sont téléportées sur le joueur (inutile de préciser qu'en pleine nuit, le joueur a tendance à mourir rapidement) |
popular | Téléporte tous les joueurs du serveur sur le joueur |
hostile | Tous les mobs passifs autour du joueur deviennent hostiles |
web | Fait apparaître des toiles d'araignées autour du joueur sous forme d'une cage d'une taille de 4*4*4 |
freeze | Bloque tous les mouvements du joueur |
cage | fait apparaître une cage formée d'enclumes autour du joueur. Celui-ci ne peut plus bouger. |
display | Bloque le joueur dans une cage en verre incassable |
tree | Le joueur est bloqué sur place par quatre arbres |
blind | Donne un effet de cécité III au joueur, ce qui limite son champ de vision à 3 blocs |
drunk | Donne un effet de nausée III au joueur, c'est une excellente punition si on l'associe à blind |
starve | Vide la barre de faim du joueur et lui donne un effet Faim III |
slow | Donne un effet lenteur III au joueur, ce qui réduit considérablement ses mouvements |
poison | Donne un effet poison III au joueur |
rotate | La vue du joueur zoom et ressent un effet de lenteur qui l'empêche quasiment de marcher |
chatroll | oste dans le tchat un message spécifié en argument facultatif (attention, il est nécessaire de spécifier tous les arguments précédents) |
chat | Poste un message dans le tchat au nom du joueur, comme chatroll, sauf que les variables facultatives comme la quantité ou la fréquence ne peuvent pas être spécifiée, rendant la punition plus simple à utiliser si il n'y a qu'un seul message à poster (semble ne pas fonctionner) |
rename | Renomme le joueur, les variables facultatives ne peuvent pas être spécifiées. Il semblerait que cette commande ne fonctionne que rarement. |
babble | Transforme chaque message posté dans le tchat par le joueur en une chaîne de caractères animés |
mute | Le joueur ne peut plus parler dans le tchat |
IDTheft | Remplace le pseudo du joueur par un code illisible, et ce à chaque mouvement |
metro | Remplace tous les messages du joueur par un message stupide (en anglais qui plus est) |
end | Tue le joueur simplement et mets fin à toutes les punitions en cours |
strip | Vide l'inventaire du joueur (il peut être très drôle de s'en servir avant d'utiliser la punition irongolem) |
paranoia | Des sons divers et variés sont entendus par le joueur à une fréquence aléatoire |
unaware | Le joueur ne voit plus les autres joueurs (parfait pour une petite séance de PvP-pugilat) |
annoy | Envoie un villageois sur le joueur. Un bug rend impossible l'exécution multiple de cette punition |
night | Donne l'impression au joueur qu'il fait nuit tout le temps (n'affecte pas le serveur, ni l'apparition de mobs) |
rewind | Donne l'impression au joueur que le temps passe 50 fois plus vite (n'affecte pas le serveur, ni l'apparition de mobs) (attention, il arrive que la punition ne puisse pas s'arrêter et nécessite un redémarrage du serveur) |
lag | Le joueur commence à ressentir de forts lags (n'impacte pas le serveur) |
drop | Le joueur est déconnecté du serveur avec l'affichage d'une erreur |
anvil | Fait apparaître une enclume au-dessus de la tête du joueur. Celui-ci ne peut plus bouger |
spam | Le joueur voit plein de messages aléatoires dans le tchat, ceux-ci apparaissent très rapidement (bug parfois, ce qui empêche d'arrêter la punition sans redémarrer le serveur) |
white | Fait télécharger un resourcepack au joueur qui lui fait voir le monde en blanc (attention, fonctionnement buggé) |
fakeOp | Affiche le message "You are now an Op !" au joueur |
popup | Affiche son inventaire au joueur (assez intéressant après le slender) |
booty | Affiche l'inventaire du joueur à tous les autres membres du serveur, ce qui leur permet de se servir directement |
pumpkin | Remplace le casque du joueur par une citrouille |
armour | emplace les slots d'armure du joueur par des seaux |
hiss | Le joueur entend le son émis par un creeper juste avant son explosion |
ambiance | Envoie un son d'ambiance effrayant au joueur |
maim | Le joueur ne peut plus ramasser d'objets (semble ne pas fonctionner) |
brittle | Le joueur meurt dès qu'il saute ou tombe |
squid | Fait apparaître un poulpe sur le joueur |
useless | Renomme tous les items du joueur en "useless" (ce qui signifie, au cas ou vous seriez fâché avec l'anglais "inutile") |
scream | Le joueur entend un cri de Ghast |
trip | Droppe tous les items contenus dans l'inventaire du joueur sur le sol (Attention, cette punition est totalement buggée, le joueur droppe correctement son inventaire, mais celui-ci n'est pas vidé, ce qui, en plus d'être inefficace, permet de dupliquer les objets du joueur) |
potate | A ne pas confondre avec Potato, cette commande fait tomber sur le joueur des pommes de terre jusqu'à ce que la punition soit finie avec la commande "/p stop |
kick | Kick le joueur avec un message personnalisé, les variables facultatives ne sont pas utilisables. Il semblerait que cette commande ne fonctionne pas si le message est spécifié, mais il vous reste toujours la commande kick de base |
wrong | Inverse les noms de tous les items de l'inventaire du joueur |
Zones sécurisées :
Les zones sécurisées sont des zones dans lesquelles on ne peut pas pénétrer, sous peine de subir une punition, définies à l’avance, seules les personnes autorisées peuvent y accéder sans risque. Les zones sécurisées nécessitent de définir une zone avec WorldEdit. Une fois la zone définie, tapez la commande d’enregistrement de zone de cette façon :
/protect <nom de la zone> <nom de la punition> <Y/N>
Je pense que la commande est plutôt explicite, sauf en ce qui concerne le « Y/N », hé bien, je vais justement vous l’expliquer (avouez que vous vous en doutiez). Ces deux notions sont très vagues, je vais néanmoins tenter de vous les expliquer. Si vous définissez « Y », la punition ne tuera pas forcément le joueur. Si, en revanche, vous définissez « N », la punition tuera immédiatement le joueur (à condition bien sûr que la punition soit censée infliger des dégâts). Une fois la zone créée, vous pourrez la mettre à jour par la même commande (à condition de réutiliser le même nom de zone). La personne qui définit la zone est son propriétaire, elle peut donc choisir la punition ainsi que les joueurs autorisés à y accéder, elle ne subit elle-même pas la punition (sauf, bien sûr, si le Lockdown est actif). Je vous disais donc qu’il était possible de définir les joueurs pouvant accéder à la zone sans punition. Vous vouliez apprendre comment faire. Hé bien, je pense que le moment est venu de vous en parler ! Les deux commandes permettant de définir les autorisations d’accès sont très simples :
/protect permit <nom de la zone> <pseudo du joueur> /protect deny <nom de la zone> <pseudo du joueur>
La première commande sert à autoriser l’accès à la zone à un joueur, la seconde à retirer l’autorisation, c’est aussi simple que ça. Les administrateurs et les propriétaire de zones sont les seuls à pouvoir se servir de la commande. Il est à noter que les admins ne peuvent pas retirer la permission d’accès au propriétaire. Maintenant, je vais vous parler du Lockdown (dont je vous avait parlé plus haut). Il permet d’interdire l’accès à la zone à tous les joueurs (ceci incluant bien évidemment les propriétaires) et s’utilise comme ceci :
/lockdown <nom de la zone> /reopen <nom de la zone>
Comme vous l’aviez certainement deviné, il suffit d’utiliser la commande « lockdown », qui aura pour effet de verrouiller totalement la zone (ce qui peut être utile, par exemple, pour des tests, ou éventuellement pour faire des effets spectaculaires avec fstrike). La commande « reopen » servira à déverrouiller la zone. Voilà, vous savez désormais vous servir totalement des zones. Il ne me reste plus qu’une commande à vous présenter, elle permettra d’accéder à la liste totale des zones protégées par le plugin. Il s’agît de :
/protect list
Voilà, je pense que vous savez maintenant vous servir des zones protégées, parlons maintenant des permissions, nécessaires au bon fonctionnement du plugin.
Permissions du plugin :
Il est désormais temps de voir les permissions, permettant, entre autres, de décider quelles personnes auront la possibilité de punir (et éventuellement quelle punition ils auront le droit d’utiliser (A noter que, par défaut, les opérateurs bénéficient de toutes les permissions)
punish.*
punish.EXEMPT
La permission « punish.* » permet d’autoriser le joueur à punir les autres joueurs sans limites. Vous pouvez remplacer « * » par le nom d’une punition pour autoriser le joueur à se servir de cette seule punition (il va de soi que vous pouvez autoriser l’usage de plusieurs punitions en mettant plusieurs fois la permission avec différents noms de punitions). Si vous désirez exempter le joueur des punitions automatiques lors de pose de bloc ou d’usage d’items illicites, vous pouvez utiliser « punish.EXEMPT » (qui est incluse par défaut avec « punish.* »
punishAreas.*
punishAreas.admin
punishAreas.make
Ces trois permissions donnent des droits sur les zones protégées. La première donne tous les droits sur les zones protégées. La deuxième permission autorise l’administration des zones protégées, ce qui autorise la modification d’autres zones. La troisième permission autorise la création de zones.
Configurer le plugin :
En l’absence de configuration, le plugin fonctionne très bien, cependant, il vous est possible de le configurer, ce qui permet de rajouter des fonctions, comme une punition automatique sur quelqu’un qui se sert d’un seau de lave. Pour commencer, vous devez trouver le fichier de configuration, qui devrait être le fichier « config.yml » dans le dossier « plugin/Punishmental ». Ouvrez-le avec un éditeur de texte comme sublimetext ou atom (bien qu’il soit possible de l’ouvrir avec le bloc-note) (attention, évitez de mettre des tabulations sous peine de vous retrouver avec des erreurs de syntaxe). Nous ne parlerons ici que des fonctions facilement compréhensibles et qui vous serons utile.
Defaults:
RemoveCreative: false
RemoveCreative, par défaut sur « true » peut prendre pour valeur « true » ou « false », en étant sur « true », l’usage de punition remet le joueur en mode survie si celui-ci est en mode créatif. Si vous utilisez « false », l’usage de punitions laisse le joueur en mode créatif, ce qui rend, vous vous en doutez, les punitions bien moins efficaces.
PunishZone:
Enabled: true
Cette variable, qui, par défaut, vaut « true », permet de définir si les zones de punitions sont autorisée (pour éviter les abus par exemple). Pour les désactiver, mettez la valeur « false », redémarrez, et les zones seront désactivées.
Autopunish:
Enabled: false
LavaBucket: true
WaterBucket: true
FlintAndSteel: true
Explode: 46
Creeper: 0
Fall: 0
Anvil: 0
Nous voici face à un gros morceau, mais une fois que vous saurez vous en servir, vous ne pourrez plus vous en passer. En effet, pour éviter le grief à coup de lave, quoi de mieux que des punitions automatiques ? C’est justement ce que propose cette partie de la configuration. Tout d’abord, « enabled », il est par défaut sur « false », mais vous pouvez mettre « true » pour activer les punitions. « LavaBucket », par défaut sur « true », déclenche une punition lors qu’un seau de lave est utilisé, vous pouvez le désactiver en utilisant « false ». « WaterBucket » fonctionne comme « LavaBucket », mais en déclenchant une punition lorsqu’un seau d’eau est utilisé. « FlintAndSteel » fonctionne comme les deux précédents, mais, cette fois-ci, en punissant l’utilisation du briquet (à noter qu’il semblerait que ces propriétés ne fonctionnent pas forcément). Les quatre autres propriétés sont plus stables et plus simples à comprendre. Elles portent chacune le nom d’une punition, elles ont pour valeur un nombre, qui correspond à l’identifiant d’un bloc. Lorsqu’un bloc portant l’ID est posé, le joueur subira la punition choisie et le bloc sera détruit. On peut cependant déplorer l’impossibilité de mettre plusieurs ID sur la même punition, limitant de fait le nombre de blocs interdits à 4 (à titre informatif, la TNT porte l’ID 46).
Fall:
BlockHeight: 250
« BlockHeight » permet de configurer la hauteur de la chute lorsque la commande « Fall » (et « Infall » par extension). Elle est par défaut à « 250 », mais si vous désirez, vous pouvez l’augmenter pour rendre la chute plus dure, ou la réduire pour éviter d’assassiner le joueur.
Teleport:
MaxDistance: 200
MinDistance: 100
« Teleport » sert à configurer les paramètres de la punition « Teleport ». Comme vous devez certainement vous en douter, « MaxDistance » permet de définir la distance maximum de téléportation. « MinDistance », en revanche, permet de configurer la distance minimale de téléportation, dans le but d’éviter que le joueur évite d’atterrir trop loin.
Paranoia:
Probability: 70
« Probability » sert à définir la probabilité d’émission de son lorsque la punition « paranoia » est active. La probabilité s’exprime en pourcentage.
Hole:
Depth: 70
« Depth » définit la profondeur du trou creusé sous les pieds du joueur lors de l’utilisation de la punition « Hole ». Faites attention avec cette commande car elle peut creuser tous les blocs, ce qui peut causer des trous menant tout simplement au vide.
Surround:
FetchDistance: 100
« FetchDistance » indique le rayon dans lequel les mobs sont téléportés au joueur lors de l’usage de la punition « Surround », la valeur par défaut est déjà élevée, cependant, si vous désirez, vous pouvez définir un rayon bien plus élevé pour être sûr de la fatale issue de la punition. Vous pouvez également la réduire pour laisser une petite chance au joueur de survivre. Faites attention, une valeur trop élevée peut provoquer un crash du serveur.
Hostile:
Range: 100
« Range » permet d’indiquer le rayon dans lequel les mobs neutres deviennent hostiles envers le joueur lors de l’usage de la punition « hostile ».
Screenshots :
Maintenant, pour vous montrer la violence de ce plugin, voici quelques screenshots :
L’effet de la punition surround avec un Range défini à 100000 (paix à mon âme)
La magnifique vue du haut de la plateforme en verre de la punition glass
Un DracoctiX en cage après l’usage de la punition display
Aspect du tchat, quelques secondes après l’usage de la punition spam
Les dégâts infligés à la map par la punition bomb
La violence de flamingarrow exécutée 2 000 fois (quelqu’un veut du hamster grillé ?)
La punition slender dans toute sa splendeur
Voilà, nous nous retrouvons à la fin de l’article, maintenant, vous savez comment exercer votre sadisme sur votre serveur. Heureux ?
Téléchargement :
Installation
2. Téléchargez et copiez votre plugin dans le dossier « plugins » de votre serveur
3. Redémarrez votre serveur, le plugin devrait être installé, si il n’y a pas eu de souci au cours de l’installation
Très bon article, je n’ai juste pas compris comment on définissait un nom à une zone, quelqu’un peut me rediriger vers un tuto l’expliquant ?
Et des joueurs aussi ^^
(quoique tu peux éventuellement installer un serveur en local et tester sur toi-même, comme j’ai fait pour mon article, #lavivisectioncmal)
Chouette plugin! :)
Il ne me manque plus que le serveur pour « exercer mon sadisme » :D
Bah merci, j’ai pensé que ça changerait, cet article était un test, mais puisque cela permet la diversification et que cela a plu, j’en referais certainement d’autres ;)
Je le connaissait déjà très bien car je l’utilise régulièrement sur mon serveur en cas de problème.
Sinon c’est une très bonne idée de présenter des plugins car pour les trouver en 1.8 c’est vraiment galère, il y a que curse qui en répertorie pas mal.
Ho j’attend la suite depuis la 1.2.5 ….