Dans ce tutoriel, nous allons vous guider pour créer votre serveur Minecraft PvP Faction, un jeu pvp extrêmement populaire et apprécié par les joueurs. Le principe général du mode de jeu faction est le suivant: les joueurs doivent créer des factions, construire des bases et attaquer celles des autres. Un bon moyen d'animer votre serveur PvP.

Ce guide est principalement destiné aux versions entre la 1.8 et la 1.12.2. Mais si vous êtes en 1.13.2 ou +, ne vous inquiétez pas, il y a très peu de différences pour faire fonctionner votre serveur faction (voir en bas de ce tuto).

Sur un serveur Minecraft hébergé chez mTxServ, vous pouvez installer le plugins pack PvP Faction (PluginsPackPvPFactions) via le panel de gestion pour débuter rapidement votre serveur pvp faction (en version 1.14).

Installation des plugins

Tous ces plugins peuvent être installés depuis votre panel spigot ou bukkit sur mTxServ (sauf Factions qui doit forcément être téléchargé depuis spigot) ou en téléchargement les .jar et les mettant dans le dossier minecraft/plugins de votre serveur.

Tout bon serveur pvp/fac doit avoir 4 choses :

  1. Un serveur Minecraft avec Spigot, Paper ou Sponge.
  2. Un plugin faction (nous utiliserons Faction)
  3. Un spawn incassable et protégé (nous utiliserons WorldEdit et WorldGuard)
  4. Un plugin de permission (nous utiliserons LuckPerms). Un plugin de permission n'est pas réellement obligatoire MAIS très fortement recommandé.

Certains tutoriel sont déjà disponibles pour certains plugins, nous vous conseillons d'y jeter un coup d’œil si vous n'êtes pas déjà habitué à les utiliser:

Installez les plugins cités ci-dessus (Paper conseillé pour de meilleures performances).

Vous avez installé les plugins nécessaires? Vous pouvez passer à la suite.

Configuration Faction

L'installation des différents plugins est la partie facile de la création d'un serveur minecraft faction. La plus grande part du travail consiste désormais à configurer et personnaliser son serveur.

Nous allons voir comment modifier les paramètres généraux du plugin Faction puis nous aborderons les principaux points de la gestion de son serveur, comme la création des spawns, l'utilisation des grades, la création d'une base, etc.

C'est parti, pour la configuration du serveur. La config de Factions ne se trouvent pas dans minecraft/plugins/Faction mais dans  minecraft/mstore.

Ne paniquez pas, seul un dossier nous intéresse vraiment pour la configuration générale du plugin faction: factions_mconf.

Tous les fichiers dans les dossiers sont en JSON, veuillez à respecter le format! Certains paramètres n'acceptent que deux valeurs : true pour oui et false pour non.

Ouvrez le fichier minecraft/mstore/factions_mconf/instance.json , vous devriez trouver quelque chose proche du fichier suivant (nous avons ajouté des commentaires avec // pour expliquer les différentes sections) :

{
  // Ne pas modifier
  "version": 3,

  // les alias pour la commande faction, de base /f 
  "aliasesF": [
    "f"
  ],

  // Si le claim est activé dans tous les mondes, et quels sont les exceptions.
  // Par exemple si vous voulez que en général le claim soit désactivé dans tous les mondes sauf le monde Faction, mettez standard à false et ajoutez "Faction",  . 
  "worldsClaimingEnabled": {
    "standard": true,
    "exceptions": []
  },
  // Est-ce que les joueurs perdent du "power" à leurs morts dans tous les mondes ? et quels sont les mondes qui font exceptions.
  "worldsPowerLossEnabled": {
    "standard": true,
    "exceptions": []
  },
  // Est-ce que les joueurs gagnent du "power" toutes les heures dans tous les mondes ? et quels sont les mondes qui font exceptions.
  "worldsPowerGainEnabled": {
    "standard": true,
    "exceptions": []
  },
  // Est-ce que le pvp est activé dans tous les mondes ? quels sont les exceptions ?
  "worldsPvpRulesEnabled": {
    "standard": true,
    "exceptions": []
  },

  // Quels joueurs peuvent construire / détruire partout (ne pas utiliser pour les admins, il y a la commande /f adminmode, c'est juste pour d'autres plugins qui utilisent de faux joueurs)
  "playersWhoBypassAllProtection": [],

  // Tous les combien de minutes, le serveur exécute ces action.
  "taskPlayerPowerUpdateMinutes": 1.0,
  "taskPlayerDataRemoveMinutes": 5.0,
  "taskEconLandRewardMinutes": 20.0,

  // Est-ce que les données des joueurs sont supprimées quand ils sont bans ?
  "removePlayerWhenBanned": true,

  // Temps en millisecondes avant qu'un joueurs ne soit kick de sa faction
  "cleanInactivityToleranceMillis": 864000000,
  "cleanInactivityToleranceMillisPlayerAgeToBonus": {
    "1209600000": 864000000 //+ 10 jours après 2 semaines sur le serveur
  },
  "cleanInactivityToleranceMillisFactionAgeToBonus": {
    "2419200000": 864000000,  //+ 10 jours après 4 semaines dans la faction
    "1209600000": 432000000 //+ 5 jours après 2 semaines dans la faction
  },
   // Permet de définir une faction par defaut
  "defaultPlayerFactionId": "none",
  
  // Rôle par défaut quand un joueur rejoint une faction, si ce n'est pas "RECRUIT", il est conseillé de mettre "MEMBER" 
  "defaultPlayerRole": "RECRUIT",
  
  // Power" par défaut
  "defaultPlayerPower": 0.0,
  
  // Paramètre de configuration avancé
  "motdPriority": "NORMAL",
  "motdDelayTicks": -1,

  // Nbr maximum de "power"
  "powerMax": 10.0,
  // Nbr minimum de "power"
  "powerMin": 0.0,
  // Combien de power un joueur gagne par heure
  "powerPerHour": 2.0,
  // Combien de power un joueur perd lors de sa mort
  "powerPerDeath": -2.0,
  
  // Est-ce qu'un joueur avec un power négative peut quitter la faction.
  "canLeaveWithNegativePower": true,

  // Nbr de joueurs max par factions.
  "factionMemberLimit": 0,
  // "Power" maximum par factions.
  "factionPowerMax": 0.0,
  // Taille minimal du nom d'une faction
  "factionNameLengthMin": 3,
  // Taille maximal du nom d'une faction
  "factionNameLengthMax": 16,
  // Nom des factions en majuscules ?
  "factionNameForceUpperCase": false,

  //Informations manquantes
  "setRadiusMax": 30,
  "setFillMax": 1000,

  // Est-ce que les claims doivent être connectés entre eux ?
  "claimsMustBeConnected": true,
  // Est-ce que un claim peut-être déconnecté des autres claims si c'est un claim capturé d'une autre faction.
  // Peut importe ce paramètre, les joueurs peuvent quand même unclaim les claims ennemies si leurs powers est trop bas.
  "claimsCanBeUnconnectedIfOwnedByOtherFaction": false,
  // Est-ce qu'un joueur peut claim le claim d'une autre faction si leurs power est trop bas ?
  "claimingFromOthersAllowed": true,
  // Distance minimum entre deux claims de factions.
  "claimMinimumChunksDistanceToOthers": 0,
  // Combien de joueurs faut-il dans une faction pour pouvoir claim.
  "claimsRequireMinFactionMembers": 1,
  // Nbr max de claim pouvant être fait (0 si pas de max).
  "claimedLandsMax": 0,
  "claimedWorldsMax": -1,
  // Protection contre les liquides coulants dans un claim.
  "protectionLiquidFlowEnabled": true,

  // Home autorisées ? (un home est un point qu'un joueur peut créer puis se tp dedans)
  "homesEnabled": true,
  // Est-ce que les homes doivent être dans un territoire claim forcément ?
  "homesMustBeInClaimedTerritory": true,
  //Commande home autorisé ? si false, les joueurs ne seront tp dans leurs homes que à leurs morts.
  "homesTeleportCommandEnabled": true,
  // Est-ce que les joueurs peuvent utiliser leurs hommes dans un claim ennemi ?
  "homesTeleportAllowedFromEnemyTerritory": true,
  // Et dans un monde différent ?
  "homesTeleportAllowedFromDifferentWorld": true,
  // A quel distance d'un ennemi, un joueur peut utiliser son home ?
  "homesTeleportAllowedEnemyDistance": 32.0,
  // Ignore le paramètre précédant si dans le claim de sa propre faction
  "homesTeleportIgnoreEnemiesIfInOwnTerritory": true,
  // Téléportation aux homes lors de sa mort
  "homesTeleportToOnDeathActive": false,
  // Paramètre avancé pour compatibilité avec d'autres plugins
  "homesTeleportToOnDeathPriority": "NORMAL",

  // Paramètres avancées
  "territoryInfoTitlesDefault": true,
  "territoryInfoTitlesMain": "{relcolor}{name}",
  "territoryInfoTitlesSub": "<i>{desc}",
  "territoryInfoTitlesTicksIn": 5,
  "territoryInfoTitlesTicksStay": 60,
  "territoryInfoTitleTicksOut": 5,
  "territoryInfoChat": "<i> ~ {relcolor}{name} <i>{desc}",

  // Informations manquantes
  "permanentFactionsDisableLeaderPromotion": false,
  "actionDeniedPainAmount": 2.0,
  // Pvp désactivé pour joueurs sans factions ?
  "disablePVPForFactionlessPlayers": false,
  // Pvp activé entre joueurs sans factions ?
  "enablePVPBetweenFactionlessPlayers": true,
  // Pvp activé contre les joueurs sans factions si l'attaquant est dans le claim  de sa faction ?
  "enablePVPAgainstFactionlessInAttackersLand": false,

 // Informations manquantes
  "territoryShieldFactor": 0.1,
  "handlePistonProtectionThroughDenyBuild": true,
  "denyCommandsPermanentFactionMember": [],
  
 // Commandes désactivées en fonction de la relation de la faction du joueur et de la faction sur lequel le joueur est.
  "denyCommandsTerritoryRelation": {
    "ENEMY": [
      "home",
      "homes",
      "sethome",
      "createhome",
      "tpahere",
      "tpaccept",
      "tpyes",
      "tpa",
      "call",
      "tpask",
      "warp",
      "warps",
      "spawn",
      "ehome",
      "ehomes",
      "esethome",
      "ecreatehome",
      "etpahere",
      "etpaccept",
      "etpyes",
      "etpa",
      "ecall",
      "etpask",
      "ewarp",
      "ewarps",
      "espawn",
      "essentials:home",
      "essentials:homes",
      "essentials:sethome",
      "essentials:createhome",
      "essentials:tpahere",
      "essentials:tpaccept",
      "essentials:tpyes",
      "essentials:tpa",
      "essentials:call",
      "essentials:tpask",
      "essentials:warp",
      "essentials:warps",
      "essentials:spawn",
      "wtp",
      "uspawn",
      "utp",
      "mspawn",
      "mtp",
      "fspawn",
      "ftp",
      "jspawn",
      "jtp"
    ],
    "NEUTRAL": [],
    "TRUCE": [],
    "ALLY": [],
    "MEMBER": []
  },

  "denyCommandsDistance": -1.0,
  "denyCommandsDistanceRelation": {
    "ENEMY": [
      "home"
    ],
    "NEUTRAL": [],
    "TRUCE": [],
    "ALLY": [],
    "MEMBER": []
  },
  "denyCommandsDistanceBypassIn": [
    "MEMBER",
    "ALLY"
  ],

  // Paramètre avancée de formatage du chat (voir section formatage du chat du tutoriel)
  "chatSetFormat": true,
  "chatSetFormatAt": "LOWEST",
  "chatSetFormatTo": "<{factions_relcolor}§l{factions_roleprefix}§r{factions_relcolor}{factions_name|rp}§f%1$s> %2$s",
  "chatParseTags": true,
  "chatParseTagsAt": "LOW",
  "colorMember": "GREEN",
  "colorAlly": "DARK_PURPLE",
  "colorTruce": "LIGHT_PURPLE",
  "colorNeutral": "WHITE",
  "colorEnemy": "RED",
  "colorNoPVP": "GOLD",
  "colorFriendlyFire": "DARK_RED",
  "prefixLeader": "**",
  "prefixOfficer": "*",
  "prefixMember": "+",
  "prefixRecruit": "-",

   // Désactive certains exploits et bugs
  "handleExploitObsidianGenerators": true,
  "handleExploitEnderPearlClipping": true,
  "handleExploitTNTWaterlog": false,
  "handleNetherPortalTrap": true,
  
  // Paramètres avancées
  "seeChunkSteps": 1,
  "seeChunkKeepEvery": 5,
  "seeChunkSkipEvery": 0,
  "seeChunkPeriodMillis": 500,
  "seeChunkParticleAmount": 30,
  "seeChunkParticleOffsetY": 2.0,
  "seeChunkParticleDeltaY": 2.0,
  "unstuckSeconds": 30,
  "unstuckChunkRadius": 10,
  "logFactionCreate": true,
  "logFactionDisband": true,
  "logFactionJoin": true,
  "logFactionKick": true,
  "logFactionLeave": true,
  "logLandClaims": true,
  "logMoneyTransactions": true,
  "materialsEditOnInteract": [],
  "materialsEditTools": [],
  "materialsDoor": [],
  "materialsContainer": [],
  "entityTypesEditOnInteract": [],
  "entityTypesEditOnDamage": [],
  "entityTypesContainer": [],
  "entityTypesMonsters": [],
  "entityTypesAnimals": [],

  // plugin Herochat
  "herochatFactionName": "Faction",
  "herochatFactionNick": "F",
  "herochatFactionFormat": "{color}[&l{nick}&r{color} &l{factions_roleprefix}&r{color}{factions_title|rp}{sender}{color}] &f{msg}",
  "herochatFactionColor": "GREEN",
  "herochatFactionDistance": 0,
  "herochatFactionIsShortcutAllowed": false,
  "herochatFactionCrossWorld": true,
  "herochatFactionMuted": false,
  "herochatFactionWorlds": [],
  "herochatAlliesName": "Allies",
  "herochatAlliesNick": "A",
  "herochatAlliesFormat": "{color}[&l{nick}&r&f {factions_relcolor}&l{factions_roleprefix}&r{factions_relcolor}{factions_name|rp}{sender}{color}] &f{msg}",
  "herochatAlliesColor": "DARK_PURPLE",
  "herochatAlliesDistance": 0,
  "herochatAlliesIsShortcutAllowed": false,
  "herochatAlliesCrossWorld": true,
  "herochatAlliesMuted": false,
  "herochatAlliesWorlds": [],
  // plugin LWC
  "lwcMustHaveBuildRightsToCreate": true,
  "lwcRemoveIfNoBuildRights": false,
  "lwcRemoveOnChange": {
    "BUY": false,
    "SELL": false,
    "CONQUER": false,
    "PILLAGE": false
  },
  // Informations manquantes
  "worldguardCheckEnabled": false,
  "worldguardCheckWorldsEnabled": {
    "standard": true,
    "exceptions": []
  },

  // Paramétrer l'économie, voir la section paramétrer l'économie du tutoriel.
  "econEnabled": true,
  "econLandReward": 0.0,
  "econUniverseAccount": "",
  "econChunkCost": {
    "BUY": 1.0,
    "SELL": 0.0,
    "CONQUER": 0.0,
    "PILLAGE": 0.0
  },
  "econCostCreate": 100.0,
  "econCostSethome": 0.0,
  "econCostJoin": 0.0,
  "econCostLeave": 0.0,
  "econCostKick": 0.0,
  "econCostInvite": 0.0,
  "econCostDeinvite": 0.0,
  "econCostHome": 0.0,
  "econCostName": 0.0,
  "econCostDescription": 0.0,
  "econCostTitle": 0.0,
  "econCostFlag": 0.0,
  "econRelCost": {
    "ENEMY": 0.0,
    "ALLY": 0.0,
    "TRUCE": 0.0,
    "NEUTRAL": 0.0
  },
  "bankEnabled": true,
  "bankFactionPaysCosts": true
}

Création d'un spawn

Un des éléments essentiels d'un serveur pvp/faction est le spawn, c'est là que les joueurs passeront la plupart de leurs temps quand ils ne seront pas dans leurs bases.

Construction

Avoir un spawn propre et beau est un critère important d'un serveur. A leur première connection, c'est par ce biais que les joueurs jugeront votre serveur et il est important d'essayer de les impressionner dés le début. Comme vous n'êtes pas forcément un buildeur, plusieurs solution (classés de la meilleur à la moins bonne) :

  1. Engager une team de builder pour créer un spawn custom ( ~150 € ou plus)
  2. Acheter un spawn déjà crée (~10€)
  3. Prendre un spawn gratuit sur internet
  4. Construire son propre spawn
  5. Pff, qui a besoin de spawn ?
Pour les besoins du tutoriel, nous avons utilisé une schématique gratuite sur internet:

Définir un spawn

Rendez vous à l'endroit où vous voulez que votre spawn soit (de préférence en coordonnées 0,0) puis exécutez la commande /setworldspawn.

Si vous êtes en 1.9 (ou plus), exécutez aussi la commande /gamerule spawnRadius 0.

Il est conseillé d'installer un plugin type EssentialsXSpawn pour gérer le spawn des joueurs, la commande /spawn et de nombreuses fonctionnalités.

Protéger le spawn

Pour cette section, il est très fortement conseillé d'avoir des connaissances avec worldedit et worldguard. 

Pour worldguard toutes les commandes seront données (mais pas expliquées).

  1. Sélectionnez le spawn avec worldedit.
  2. Définir une région worldguard avec : /region define spawn
  3. Empêcher le build et le pvp : /region flag build deny & /region flag pvp deny
  4. Empêcher les mobs de tout détruire : /region flag mob-spawning deny & /region flag creeper-explosion deny

D'autres "flags" de worldguard sont très utiles et permettent par exemple de désactiver la tnt, les pistons etc...

Faire une warzone

Un des intérêts du spawn dans le pvp/faction c'est qu'on peut y trouver d'autres joueurs pour pvp. Les joueurs qui veulent pvp se mettent dans cette zone et combattent. 

La warzone se trouve généralement juste autour du spawn. 

Pour créer une warzone :

  1. Avec worldedit, sélectionnez une zone autour de votre spawn
  2. Créer une region avec worldguard : /region define warzone
  3. Désactivez le build : /region flag warzone build deny

Les joueurs aiment très peu quand un joueur fuis quand il perd, une solution à cela est un anti déco-combat.

Créer des grades

Je ne vais pas rentrer dans les détails des permissions (car sinon je ne finirais jamais ce tuto :p ) mais globalement il est important qu'en utilisant un plugin de permission (style LuckPerms) vous ajoutiez la permission factions.kit.rank0 aux joueurs par défaut. 

Cette permission donne de nombreuses autre permissions essentiels à l'utilisation du faction. Mais pour une configuration plus poussée, vous pouvez vous rendre sur le site officielle.

Suite à cela, vous pouvez créer d'autres grades comme "Admin", "Modo", "Vip", etc... et leurs conférer des permissions supplémentaires. (Assurez vous qu'ils possèdent aussi au moins la permission factions.kit.rank0)

Le système de "parents" de LuckPerms permets facilement de s'assurer que un grade possède toutes les permissions des grades inférieurs.

Limiter le monde

Si jamais les joueurs peuvent se balader dans un monde infini, il va être dur de trouver des bases. Il est donc extrêmement important de limiter le monde. Pour ça, plusieurs solution : un plugin ou la worldborder de base.

Pour ce tuto on utilisera la worldborder de base de minecraft mais vous pouvez faire comme vous voulez.

  1. Entrez la commande /worldborder center 0 0 pour définir le centre de votre monde en 0 0 (ou peux importe où votre centre se trouve)
  2. Entrez /worldborder set 100000 pour définir votre bordure à +50 000/-50 000. La taille dépend du nombre de joueurs. Il est conseillé de commencer petit et d'agrandir après.
Félicitation, vous avez le strict minimum pour un faction !!! Mais comment on utilise le plugin Factions ?

Utiliser le plugin Factions

/!\ Ce tuto est destiné au plugin Factions mais la plupart des principes expliqués ici sont applicables aux autres plugins faction.

Nous ne verrons pas tout dans ce tutoriel car beaucoup de commande sont pour des cas spécifiques; mais tout peut être trouvé sur le site officiel.

Créer une faction

Vous pouvez créer une faction avec la commande : /f create NOM.

Pour renommer la faction: /f name NOM.

La description peut aussi être changée: /f desc DESCRIPTION.

Pour quitter, rien de plus simple : /f leave

Jouer avec d'autres personnes

C'est bien sympa de pouvoir créer une faction, mais c'est encore mieux si on peut avoir une faction avec d'autres personnes. Pour inviter quelqu'un : /f invite add PSEUDO le joueur invité peut ensuite rejoindre avec la commande /f join NOMDELAFACTION

Vous avez fait une erreur ? Annulez votre invitation avec /f invite remove PSEUDO. Et si vous avez un problème avec un de vos membres : /f kick PSEUDO

Créer sa base (claim)

Bien, maintenant il faudrait une base car après tout le but du jeu c'est de piller / détruire les bases des autres. On rentre ainsi dans une des mécaniques principales du jeu : le "claim".

Par défaut, chaque joueur a un "power" maximum de 10 (modifiable, voir Configuration), vous en gagnez en restant sur le serveur et en perdez lors de votre mort. Votre "power" est utile à votre faction. Chaque faction a autant de power que le total de power de tous les membres de la faction.

Exemple : 2 joueurs ont 10 "power" et 1 joueur en a 8. La faction a donc 28 "power".

En tant que leader de votre faction, vous pouvez claim une zone. Une zone claim est une zone où les non membres ne peuvent pas casser / poser de blocs (sauf TNT).

Pour claim : /f claim one (claim un chunk) et /f unclaim one (pour unclaim un chunk)

Vous pouvez voir la limite des chunks avec /f sc

Le claim n'empêchera pas les ennemies d'essayer de rentrer dans votre base à coup de TNT, wither, ender pearls ou autres techniques. A vous de bien ajouter de la protection (obsidienne, lave, eau).

/!\ Si votre faction a plus de "claim" que de "power", les ennemies peuvent enlever votre claim avec /f unclaim. Si ils font ça dans votre base, c'est un accès gratuit à toutes vos ressources. A vous de bien gérer votre power. /f status pour voir le power de la faction et de ses membres. Vous pouvez aussi voir le status des factions ennemies avec /f status NOMDEFACTION.

Pour accéder facilement à votre base sans laisser de faille dans votre sécurité. Définissez un home à votre faction : /f sethome, téléportez vous avec /f home et enlevez le home avec /f unsethome

Trouver et attaquer une base

Trouver une base peut être un procédé extrêmement long, heureusement un outil très pratique existe : la map faction. Pour l'activer rien de plus simple : /f map on (et /f map off pour désactiver) Cela vous affichera une map avec les chunks claim aux alentours.

Une fois que vous avez trouvé un chunk claim, vous aurez envie de l'attaquer (et ses défenseurs aussi). Pour cela rien de plus simple. Il suffit de déclarer la guerre à la faction que vous voulez attaquer. Il y a quatre types de relations entre factions :

  1. Neutre (neutral)
  2. Paix (truce)
  3. Allié (ally)
  4. Ennemie (enemy)

Vous pouvez tuer des joueurs d'une faction neutre avec la votre, mais pas dans leurs claims. Vous ne pouvez pas tuer des joueurs d'une faction en paix ou allié. Une faction allié peut construire et ouvrir vos coffres. Enfin, vous pouvez tuer dans tous les cas un joueur d'une faction ennemie.

Les relations entre factions sont uni-directionnels. Vous pouvez être allié avec une faction alors qu'elle vous considère comme neutre.

Grade par faction

Dans chaque faction, il y a plusieurs grades : "Recruit" -> "Member" -> "Officer" -> "Leader" Une "recruit" ne peut globalement rien faire, quand vous rejoignez une faction, c'est le grade par défaut (modifiable, voir Configuration). Les "Member"s sont des joueurs normaux, ils peuvent construire, casser, etc.. Les "Officer"s sont les modérateur de votre faction, Ils peuvent changer les relations et claim des chunks. Enfin le "Leader" a tous les pouvoirs sans exception.

Pour promouvoir un joueur : /f promote PSEUDO et /f demote PSEUDO pour lui faire perdre ses fonctions. La commande /f rank PSEUDO GRADES est aussi disponible.

Les permissions pour chaque grades peuvent être modifié, se référer au wiki officiel.

Admin

En tant qu'administrateur, vous devrez parfois intervenir dans des factions. Le plugin propose des outils tels que /f admin pour pouvoir casser / poser dans des factions. Ou /f disband NOMFACTION pour supprimer une faction.

Et ensuite ?

Vous savez maintenant comment Factions marche et votre serveur peut parfaitement tourner. Mais de nombreuses autres fonctionnalités sont disponible. Nous ne ferons toutefois que rapidement les survoler car sinon on en aurait pour une éternité :/

Avoir un chat propre

De base votre chat ressemblera à ça :

 <NOMDELAFACTION PSEUDO> MSG

Heureusement, Factions est compatible avec des plugins de formatage de chat pour vous permettre de customiser votre chat (afficher grades, argents, etc...).

Je recommande personnellement EssentialsXChat car celui-ci est bien maintenue et fonctionne aussi avec LuckPerms.

Plus d'infos sur le paramétrage ICI.

Définir un monde minage

Vous n'avez probablement pas envie d'avoir un monde totalement détruit à force que les joueurs minent. Une solution : un autre monde !!!! :o

Le plugin MultiverseCore propose de faire ça très simplement. Vous pouvez ensuite mettre un portail dans votre spawn pour vous tp dans ce monde avec MultiversePortal :D

Pensez bien à empêcher les claims (avec la configuration de Factions) et le pvp dans le monde minage.

Créer une économie

Faction marche avec tous plugins d'éconnomie compatible avec Vault. Un tutoriel est déjà disponible sur mTx pour GemsEconomy. Après cela il ne vous reste plus qu'à configurer la partie "économie" de la config de Factions.

Ouvrez le fichier factions_mconf/instance.json et descendez en bas: /!\ Les textes en // n'y sont pas vraiment et ne doivent surtout pas être présents !!!!

  //Activer l'économie
  "econEnabled": true,
  //Argent gagner par chunk claim (distribué équitablement aux membres de la faction). 
  //Vous pouvez définir tous les combiens de minutes les joueurs recoivent l'argent en modifiant : "taskEconLandRewardMinutes"
  "econLandReward": 0.0,
  //Paramétrage avancé
  "econUniverseAccount": "",
  //Prix pour acheter / vendre / conquérir et piller un chunk. 
  "econChunkCost": {
    "BUY": 1.0,
    "SELL": 0.0,
    "CONQUER": 0.0,
    "PILLAGE": 0.0
  },
  //Prix pour créer la faction
  "econCostCreate": 100.0,
  //Prix pour définir un home
  "econCostSethome": 0.0,
  // Prix etc... 
  "econCostJoin": 0.0,
  "econCostLeave": 0.0,
  "econCostKick": 0.0,
  "econCostInvite": 0.0,
  "econCostDeinvite": 0.0,
  "econCostHome": 0.0,
  "econCostName": 0.0,
  "econCostDescription": 0.0,
  "econCostTitle": 0.0,
  "econCostFlag": 0.0,
  "econRelCost": {
    "ENEMY": 0.0,
    "ALLY": 0.0,
    "TRUCE": 0.0,
    "NEUTRAL": 0.0
  },
   
   //Activer le système d'économie par Faction ? 
  "bankEnabled": true,
  "bankFactionPaysCosts": true
}

Pour plus d'information sur l'économie par faction voir le wiki officielle.

Créer un marché

C'est bien beau d'avoir de l'argent mais il faudrait que ça sert ! ! 

Vous pouvez créer facilement un marché avec BossShopPro. D'autres sont disponible si vous voulez aussi permettre aux joueurs de vendre.

Note de fin

Ce tuto vous a été apporté par uiytt. Il ne fait que effleurer la surface de ce renferme le mode de jeu pvp / fac.

Je vous recommande d'aller de chercher vous même des ajouts ou des modifications au jeu sur internet, il existe de nombreux moyens de personnaliser son serveur minecraft pvp faction.

Merci de votre lecture ^^

Si besoin, vous pouvez vous inspirer ou utiliser le template serveur faction suivant: https://github.com/sdieunidou/minecraft-pvp-faction