🕒 Lecture 20 min.

Vous êtes sur un serveur entouré de tous vos amis, des milliers d’heures de travail derrière vous, mais le résultat y est, votre ville est enfin finie, elle va pouvoir ouvrir ses portes aux joueurs n’attendant que ça. Une fois l’ouverture faite, le drame se produit, votre ville est détruite, réduite à néant par les explosions des creepers et le grief des joueurs, même en ayant recruté 10 administrateurs qui s’occupent de la gestion des joueurs, rien n’y fait, votre travail est anéanti.

Mais vous vous reprenez, fermez le serveur, reconstruisez et après l’avoir fini une deuxième fois, vous n’oubliez pas cette fois-ci d’installer WorldGuard. Ce plugin fonctionnant à l’aide de WorldEdit va vous permettre de protéger toutes vos constructions avec simplicité et efficacité.


Configuration

Une fois mis dans votre dossier plugins, WorldGuard va créer un dossier composé d’un fichier config.yml et d’un autre dossier : worlds, répertoriant les différents mondes si vous en utilisez plusieurs. Le dossier worlds répertorie toutes les régions comprises dans chaque monde. Quant au fichier config.yml, il définit de nombreuses propriétés du serveur que vous pouvez modifier à votre guise :

  • regions:   → Zones :
  • uuid-migration:   → Migration Uuid :
  • perform-on-next-start: false    → Effectuer la migration Uuid au prochain démarrage : Faux
  • keep-names-that-lack-uuids: true     → Garder le nom du joueur dans la base de donnée malgré l’absence de l’Uuid : Vrai
  • use-creature-spawn-event: true    → Permettre l’utilisation des Flags  « Mob-Spawning » et « Deny-Spawn » : Vrai
  • enable: true    → Activer : Vrai
  • invincibility-removes-mobs: false    → Les zones avec le flag invincibilité suppriment les mobs : Faux
  • fake-player-build-override: true    → Les faux joueurs passent outre les règles de constructions : Vrai
  • explosion-flags-block-entity-damage: true    → Les flags d’explosion bloquent les dégâts sur les entités quand activés : Vrai
  • high-frequency-flags:    → Gérer l’écoulement des liquides et la propagation du feu : Faux
  • protect-against-liquid-flow: false    → Protéger contre l’écoulement des liquides : Faux
  • wand: 334    → Outil : 334
  • max-claim-volume: 30000    →  Volume max d’une région de joueur : 30000
  • claim-only-inside-existing-regions: false    → Régions de joueurs seulement dans les zones où il y a déjà des régions : Faux
  • max-region-count-per-player:    → Maximum de régions par joueur :
  • default: 7    → Défaut : 7 (Défaut = groupe de base)
  • auto-invincible: false    → Invincibilité des joueurs avec la permission : Faux
  • auto-invincible-group: false    → Invincibilité des groupes avec la permission : Faux
  • auto-no-drowning-group: false    → Pas de noyade des groupes avec la permission : Faux
  • use-player-move-event: true    → Utiliser l’événement « Player-Move » (utilisé pour certains flags comme « healing, feeding, greeting » et d’autres. Entraîne une utilisation plus importante du CPU) : Vrai
  • use-player-teleports: true    → Utiliser l’événement « Player-Teleports » : Vrai
  • security:    → Sécurité :
  • deop-everyone-on-join: false    → Retirer les droits d’opérateur à tous ceux se connectant : Faux
  • block-in-game-op-command: false    → Bloquer les commandes pour être opérateur en jeu : Faux
  • host-keys: {}    → Clés de gestions (Ne supporte pas les Uuid): {}
  • summary-on-start: true    → Résumé de la configuration de WorldGuard au démarrage : Vrai
  • op-permissions: true    → Permission d’être opérateur : Vrai
  • build-permission-nodes:    → Permission de construction :
  • enable: false    → Activer : Faux
  • deny-message:  »   →  Supprimer les messages : « 
  • event-handling:    → Gestions des événements :
  • block-entity-spawns-with-untraceable-cause: false  → Bloquer le spawn des entités dont la source est inconnue : Faux
  • interaction-whitelist: []    → Interaction avec la whitelist : []
  • emit-block-use-at-feet: []    → L’utilisation nécessite les droits de modification de la zone dans laquelle le joueur se trouve : []
  • protection:    → Protection :
  • item-durability: true    → Durabilité des items : Vrai
  • remove-infinite-stacks: false    → Enlever les stacks infinis : Faux
  • disable-xp-orb-drops: false    → Désactiver le drop d’expérience : Faux
  • disable-obsidian-generators: false    → Désactiver les générateurs d’obsidiennes : Faux
  • gameplay:    → Gameplay :
  • block-potions: []    → Bloquer les potions : []
  • block-potions-overly-reliably: false  → Bloquer les potions mentionnées ci-dessus : Faux
  • simulation:    → Simulation :
  • sponge:    → Éponge :
  • enable: false   → Activer : Faux
  • radius: 3    → Radius : 3
  • redstone: false    → Redstone : Faux
  • default: → Défaut :
  • pumpkin-scuba: false  → Pouvoir respirer sous l’eau avec une citrouille sur la tête : Faux
  • disable-health-regain: false   → Désactiver le regain de santé : Faux
  • physics:    → Physique
  • no-physics-gravel: false    → Pas de gravité pour le gravier : Faux
  • no-physics-sand: false    → Pas de gravité pour le sable : Faux
  • vine-like-rope-ladders: false    → Les lianes sont comme les échelles : Faux
  • allow-portal-anywhere: false    → Autoriser les portails partout : Faux
  • disable-water-damage-blocks: []    → Désactiver les dégâts causés par l’eau sur les blocs : []
  • ignition:   → Allumage :
  • block-tnt: false    → Bloquer la TNT : Faux
  • block-tnt-block-damage: false    → Bloquer les dégâts causés par la TNT sur les blocs : Faux
  • block-lighter: false    → Bloquer les briquets : Faux
  • fire:  → Feu :
  • disable-lava-fire-spread: true    → Désactiver la propagation du feu par la lave : True
  • disable-all-fire-spread: false    → Désactiver toutes les propagations du feu : Faux
  • disable-fire-spread-blocks: []    → Désactiver la propagation du feu sur certains blocs : []
  • lava-spread-blocks: []    → Désactiver la propagation de la lave sur certains blocs : []
  • mobs:  → Créatures :
  • block-creeper-explosions: false    → Bloquer les explosions des creepers : Faux
  • block-creeper-block-damage: false   → Bloquer les dégâts causés par les creepers sur les blocs : Faux
  • block-wither-explosions: false  → Bloquer les explosions du Wither : Faux
  • block-wither-block-damage: false   → Bloquer les dégâts sur les blocs causés par le Wither : Faux
  • block-wither-skull-explosions: false   → Bloquer les explosions des crânes de Wither : Faux
  • block-wither-skull-block-damage: false   → Bloquer les dégâts sur les blocs causés par les crânes de Wither : Faux
  • block-enderdragon-block-damage: false    → Bloquer les dégâts sur les blocs causés par l’Enderdragon : Faux
  • block-enderdragon-portal-creation: false    → Bloquer la création d’un portail par l’Enderdragon : Faux
  • block-fireball-explosions: false   →  Bloquer les explosions des boules de feu
  • block-fireball-block-damage: false   →  Bloquer les dégâts sur les blocs par les boules de feu : Faux
  • anti-wolf-dumbness: false  →  Empêcher les loups de s’énerver : Faux
  • allow-tamed-spawns: true    → Autoriser le spawn d’animaux apprivoisés : Vrai
  • disable-enderman-griefing: false   → Désactiver le grief des endermen : Faux
  • disable-snowman-trails: false    → Désactiver la neige laissée par les bonhommes de neiges : Faux
  • block-painting-destroy: false    → Bloquer la destruction des peintures : Faux
  • block-item-frame-destroy: false    → Bloquer la destruction des cadres d’objet : Faux
  • block-plugin-spawning: true    → Bloquer les plugins de spawn : Vrai
  • block-above-ground-slimes: false   → Bloquer l’apparition de slimes à la surface : Faux
  • block-other-explosions: false    → Bloquer les autres explosions : Faux
  • block-zombie-door-destruction: false    → Bloquer la destruction des portes par les zombies : Faux
  • block-creature-spawn: []    →Bloquer l’apparition de créatures :[]
  • player-damage: → Dégâts des joueurs
  • disable-fall-damage: false   → Désactiver les dégâts de chutes  : Faux
  • disable-lava-damage: false  → Désactiver les dégâts le la lave : Faux
  • disable-fire-damage: false   → Désactiver les dégâts du feu : Faux
  • disable-lightning-damage: false    → Désactiver les dégâts des éclairs : Faux
  • disable-drowning-damage: false    → Désactiver les dégâts de noyade : Faux
  • disable-suffocation-damage: false    → Désactiver les dégâts de suffocation : Faux
  • disable-contact-damage: false    → Désactiver les dégâts au contact d’un cactus : Faux
  • teleport-on-suffocation: false    → Téléporter lors de la suffocation : Faux
  • disable-void-damage: false    → Désactiver les dégâts du néant : Faux
  • teleport-on-void-falling: false    → Téléporter lorsqu’on tombe dans le néant : Faux
  • disable-explosion-damage: false    → Désactiver les dégâts des explosions : Faux
  • disable-mob-damage: false   → Désactiver les dégâts des monstres : Faux
  • disable-death-messages: false    → Désactiver les messages de morts : Faux
  • Il ne reste plus qu’à définir chacune de ces fonctionnalités selon vos désirs.

Utilisation

Une fois en jeu, il ne vous reste plus qu’à vous armer de votre hache en bois grâce à la commande //wand et vous pourrez commencer votre périple…

À l’aide du clic gauche, définissez le premier point puis à l’aide du clic droit, définissez le second, tous les blocs compris dans cette sélection sont concernés par l’action que vous allez faire. Si vous n’avez pas accès à la hache, mettez-vous sur le bloc sur lequel vous auriez voulu définir le premier point et vous tapez la commande //pos1 puis, vous faites la même chose de l’autre côté avec //pos2.

Ou alors vous regardez le bloc sur lequel vous auriez voulu définir le point et vous tapez la commande //hpos1, même chose de l’autre côté avec //hpos2. Ou bien vous pouvez choisir le chunk (16×16) sur lequel vous êtes, grâce à //chunk. Si vous désirez simplement agrandir votre sélection vous n’avez qu’à faire :

//expand 50 up→ La sélection va être agrandie de 50 blocs vers le haut

//expand 20 down → La sélection va être agrandie de 20 blocs vers le bas

//expand 10 E → La sélection va être agrandie de 10 blocs vers l’Est (Nord = N ; Sud = S ; Ouest = W ; Est = E)

//expand vert → La sélection va être agrandie au maximum vers le ciel (altitude 256) et vers le bas jusqu’à la limite (bedrock 0)

//expand up → La sélection va être agrandie vers le ciel jusqu’à la limite (altitude 256)

//expand down → La sélection va être agrandie vers le bas jusqu’à la limite (bedrock 0)

Si vous souhaitez définir votre zone d’une façon différente sans avoir seulement 2 points, vous pouvez choisir autant de points que vous désirez pour définir une région polygonale à l’aide de la commande:

//sel poly

commande sel poly worldguard

Si vous désirez définir votre région de manière ellipsoïdale, clic gauche au centre et clic droit pour étendre, vous pouvez étendre vers la verticale pour définir une ellipse verticale et vers l’horizontale pour définir une ellipse horizontale:

//sel ellipsoid

commande Ellipsoid worldguard

De manière sphérique, clic gauche au centre et clic droit pour étendre, la longueur entre les 2 clics définit le rayon de la sphère:

//sel sphere

commande Sphère worldguard

Et pour finir, de manière cylindrique, clic gauche au centre et clic droit pour étendre, le premier clic droit étend la longueur et le second la hauteur:

//sel cyl

commande Cylindre worldguard

Pour revenir à la sélection de base qui est un cuboïde:

//sel cubo

commande Cuboïd worldguard

Une fois que la sélection vous convient, il ne vous reste plus qu’à créer la zone :

/region define <nom de la zone> (/region peut être abrévié en /rg)

Si vous voulez la supprimer:

/rg remove <nom de la zone>

Une fois cette zone définie, il ne vous reste plus qu’à en faire ce que vous voulez, vous pouvez ajouter des membres ou des propriétaires :

/rg addmember <nom de la zone> <nom du joueur>

/rg addowner <nom de la zone> <nom du joueur>

/rg addmember <nom de la zone> g:<nom du groupe>
→ Suivi de g: vous mettez le nom d’un groupe et tout le groupe sera membre de la région

Si vous souhaitez enlever des joueurs de la région:

/rg removemember <nom de la zone> <nom du joueur>

/rg removeowner <nom de la zone> <nom du joueur>

/rg removemember <nom de la zone> g:<nom du groupe>

Ces commandes peuvent être simplifiées si vous le désirez :
(écrire rm au lieu de removemember)

/rg rm -a <nom de la région> <nom du joueur>→ Cette commande va supprimer tous les membres de la zone sauf le nom du joueur qui a été écrit (fonctionne aussi pour owner)

Vous pouvez aussi définir des parents, dans le cas d’une ville, cela permet d’empêcher la construction dans toute la ville sauf dans la région qui appartient au joueur:

/rg setparent <nom de la région> <nom du parent>
→ Par exemple avec une zone nommée « Maison-1 » et une autre « Ville », si vous ne voulez pas qu’il construise dans la région « Ville » mais qu’il puisse construire dans « Maison-1 » comprise dans la région « Ville », vous n’avez qu’à faire /rg setparent Maison-1 Ville et si vous avez autorisé la construction du joueur dans « Maison-1 » et interdit dans « Ville », il pourra seulement construire dans cette zone.

Pour supprimer les enfants d’une région:

/rg remove -u <nom du parent>

Pour supprimer toutes les zones qui ont pour parent une zone:

/rg remove -f <nom du parent>

Si au lieu de définir des parents, vous voulez définir la zone qui a la priorité la plus importante:

/rg setpriority <nom de la région> <nombre>
→ Plus le nombre (qui peut être compris entre -2147483648 et 2147483647) est élevé, plus la priorité est importante, une région avec une priorité de 10 comprise dans une région avec une priorité de 8 aura donc une priorité plus élevée. Dans la zone à la priorité plus élevée, les flags de cette zone seront alors pris en compte avant ceux de l’autre zone car la priorité est plus importante.

Vous pouvez connaître le nombre et le nom de toutes les régions présentes à l’aide de la commande :

/rg list

commande RgListpng worldguard

Dans le cas ci-dessus, nous observons donc qu’il n’y qu’une seule zone et qu’il s’agit de « spawn ».

Si vous souhaitez connaître les propriétés d’une zone, c’est à dire son nom, son type, sa priorité, ses flags, ses membres, sa location, vous n’avez qu’à écrire :

/rg info <nom de la zone>

commande Rg-Info worldguard


Nous allons prendre comme exemple la région « spawn » ci-dessus avec laquelle nous observons que:

La région « spawn » est un cuboïde de priorité 0.
Elle est composée de 3 flags.
Elle n’a aucun membre ou propriétaire.
Elle se localise aux coordonnées x=-89, y=25, z=-71 et x=81, y=139, z=68

Flags

Venons-en au point jugé le plus important, les flags d’une zone, les flags permettent de définir certaines conditions/propriétés.

Les flags d’une zone se définissent par la commande:

/rg flag
→ Exemple: /rg flag Ville pvp deny → le pvp sera interdit dans la région « Ville »

Vous pouvez aussi si vous le désirez, ajouter un flag qui fonctionne seulement pour les joueurs qui ne sont pas membres de la région :
→ Exemple : /rg flag Ville chestaccess -g nonmembers deny → Les non membres de la région ne pourront pas ouvrir les coffres. Cela fonctionne aussi avec les propriétaires de la région, on remplace juste nonmembers par nonowners.

Il y a un total de 81 flags et ces derniers se caractérisent en 7 catégories :

State : Allow (autoriser) ou deny (refuser)
String : Toute forme de textes
Integer : Un nombre entier
Double : Un nombre entier ou avec décimale
Location : Un lieu dans le monde
Boolean : True (vrai) ou false (faux)
Set : Une liste d’entrées uniques

Chaque flag sera expliqué et sa catégorie mentionnée :

[spoiler]

Passthrough → State → Si non défini, la région protège la zone, si défini sur deny, la région protège la zone, si défini sur allow, la règion ne protège plus la zone

Build → State → Tous les blocs de la région peuvent ou ne peuvent pas être minés, posés, les joueurs peuvent ou ne peuvent pas construire.

Construct → State → À ne pas utiliser.

Block-Break → State → Permet ou non de casser des blocs.

Block-Place → State → Permet ou non de poser des blocs.

PvP → State → Autorise ou non le PvP.

Chest-Access → State → Donne ou non l’accès aux coffres et autres inventaires (ex : distributeurs).

Pistons → State → Permet ou empêche les pistons de fonctionner.

Tnt → State → Permet ou empêche la TNT d’exploser.

Lighter → State → Permet ou empêche le briquet de fonctionner.

Ride → State → Permet ou empêche les joueurs ainsi que les animaux d’entrer dans des véhicules.

Use → State → Autorise ou interdit aux joueurs l’ouverture des portes, l’autorisation d’appuyer sur les boutons, sur les leviers, etc.

Interact → State → Autorise ou interdit aux joueur l’ouverture des portes, l’autorisation d’appuyer sur les boutons, sur les leviers, etc. ; Autorise ou interdit l’accès à l’inventaire ; Permet ou empêche les joueurs ainsi que les animaux d’entrer dans les véhicules

Vehicle-Place → State → Permet ou empêche le placement de véhicules

Vehicle-Destroy → State → Permet ou empêche la destruction de véhicules

Damage-Animals → State → Permet ou empêche les joueurs de frapper les animaux passifs (vaches, cochons, etc.)

Sleep → State → Permet ou empêche les joueurs de dormir dans un lit

Mob-Damage → State → Les monstres peuvent ou ne peuvent pas attaquer les joueurs

Mob-Spawning → State → Les monstres peuvent ou ne peuvent pas apparaître

Deny-Spawn → Set (vous écrivez le nom des créatures que vous ne voulez pas voir apparaître) → Empêche l’apparition de la ou les créature(s) sélectionnée(s)

Invincible → State → Tous les joueurs sont ou ne sont pas invincibles

Exp-Drops → State → Permet ou empêche l’obtention d’orbes d’expérience

Creeper-Explosion → State → Les creepers peuvent ou ne peuvent pas exploser

Ohter-Explosion → State → Les autres explosions sont possibles ou impossibles

Enderdragon-Block-Damage → State → L’Enderdragon peut ou ne peut pas causer de dégâts

Ghast-Fireball → State → Les boules de feu des ghasts peuvent ou ne peuvent pas faire de dégâts sur le terrain ou les joueurs

Enderman-Grief → State → Permet ou empêche le grief de blocs par les endermen

Deny-Message → String → Le message délivré aux joueurs qui se voient refuser une action

Exit-Override → State → Autorise ou interdit les joueurs à marcher dans une zone où l’entrée est interdite

Exit-via-teleport → State → Permet ou empêche de quitter la région à l’aide d’une téléportation

Greeting → String → Message à afficher au joueur lorsqu’il entre dans la région

Farewell → String → Message à afficher au joueur lorsqu’il quitte la région

Notify-Enter → Boolean → Envoie un message aux joueurs ayant la permission worldguard.notify lorsqu’un joueur entre dans la région

Notify-Leave → Boolean → Envoie un message aux joueurs ayant la permission worldguard.notify lorsqu’un joueur quitte la région

Exit → State → Permet ou empêche les joueurs de sortir de la région

Entry → State → Permet ou empêche les joueurs d’entrer dans la région

Lighting → State → Permet ou empêche la foudre de frapper dans la région

Entity-Painting-Destroy → State → Autorise ou interdit la destruction des tableaux

Enderpearl → State → Autorise ou interdit l’utilisation d’enderpearl

Entity-Item-Frame-Destroy → State → Autorise ou interdit la destruction des cadres d’objet

Fall-Damage → State → Permet ou empêche les joueurs de subir des dégâts de chute

Item-Pickup → State → Permet ou empêche les joueurs de récupérer des items

Item-Drop → State → Permet ou empêche les joueurs de lâcher des items

Heal-Delay → Integer → Le nombre de secondes entre chaque soin

Heal-Amount → Integer → Le nombre de cœur récupéré par chaque soin

Heal-Min-Health → Double → Le nombre de cœurs minimum

Heal-Max-Health → Double → Le nombre de cœurs maximum

Feed-Delay → Integer → Le nombre de secondes entre chaque soin de la barre de faim

Feed-Amount → Integer → Le nombre de gigots récupérés par chaque soin

Feed-Min-Hunger → Integer → Le nombre de gigot minimum

Feed-Max-Hunger → Integer → Le nombre de gigots maximum

Snow-Fall → State → Permet ou empêche la formation de neige

Snow-Melt → State → Permet ou empêche la fonte de neige

Ice-Form → State → Permet ou empêche la formation de glace

Ice-Melt → State → Permet ou empêche la fonte de glace

Soil-Dry → State → Permet ou empêche de la sol de s’assécher

Game-mode → Gamemode (0/1/2/3) → Défini le gamemode dans la région

Mushroom-Growth → State → Permet ou empêche la croissance des champignons

Leaf-Decay → State → Permet ou empêche la désintégration des feuilles

Grass-Growth → State → Permet ou empêche la propagation de l’herbe

Mycelium-Spread → State → Permet ou empêche la propagation du mycélium

Vine-Growth → State → Permet ou empêche les lianes de grandir

Send-Chat → State → Permet ou empêche les joueurs d’envoyer des messages dans le chat dans cette région

Receive-Chat → State → Permet ou empêche les joueurs de recevoir des messages du chat dans cette région

Fire-Spread → State → Autorise ou interdit la propagation du feu

Lava-Fire → State → Autorise ou interdit la lave de propager des incendies

Lava-Flow → State → Permet ou empêche la lave de s’écouler

Water-Flow → State → Autorise ou interdit l’eau de s’écouler

Teleport → Location → Le lieu où téléporter le joueur lorsque la commande /rg teleport est utilisé dans la région

Spawn → Location → Le lieu où téléporter le joueur lorsqu’il meurt dans la région

Potion-Splash → State → Autorise ou interdit l’utilisation de potions volatiles

Time-Lock → Integer → Défini l’heure qu’il est dans la région (heure constante)

Weather-Lock → Weather (sun/rain/storm…) → Défini le temps qu’il fait dans la région

Blocked-Cmds → Set (vous écrivez les commandes que vous voulez interdire) → Défini la liste des commandes interdites dans la région

Allowed-Cmds → Set (vous écrivez les commandes que vous voulez autoriser) → Défini la liste des commandes autorisées dans la région

Price → Double → Actuellement inutilisé par WorldGuard mais utilisé par certains plugins

Buyable → Boolean → Actuellement inutilisé par WorldGuard mais utilisé par certains plugins

Allow-Shop → State → Actuellement inutilisé par WorldGuard mais utilisé par certains plugins

Vous n’êtes pas obligé de définir une condition pour chaque flag, de base la région sera configurée comme le reste de votre serveur, n’utilisez les flags que si vous voulez faire une exception dans une zone précise comme autoriser le pvp seulement dans une arène par exemple. Il y a 2 possibilités dans l’explication des States car tout dépend si vous décidez d’autoriser (allow) ou d’interdire (deny) le flag.[/spoiler]


Commandes

Worldguard est composé de 10 commandes :

/stopfire : Désactive la propagation du feu

/allowfire : Réactive la propagation du feu (si vous avez auparavant utilisé /stopfire)

/god <joueur> (Joueur) Rend le joueur invincible

/heal <joueur> : Soigne le joueur

/slay <joueur> : tue le joueur

/stack : Rassemble tous vos objets en stack de 64 au maximum

/locate <joueur> : Règle votre boussole pour qu’elle indique la position du joueur (si la position du joueur évolue, celle de la boussole ne change pas)

/locate <x><y><z>  : Règle votre boussole pour qu’elle indique les coordonnées spécifiées

/locate : Règle votre boussole pour qu’elle indique votre point de départ (spawn)

/wg reload : Recharge la configuration de WorldGuard


Installation

  • Téléchargez le plugin
  • Mettez le dans le dossier plugins de votre serveur
  • Redémarrez votre serveur

Téléchargement

Choisissez la version de Worldguard à télécharger :

✅ Source