/
mc-node.net →
Minecraft

Comment gérer un événement SMP hardcore : règles, départ et finale ?

Mis à jour le 07/10/202612 min de lecture
Dans cet article
  1. Fixe les règles avant le départ
  2. Fais démarrer tout le monde au même moment
  3. Gère les morts de façon équitable
  4. Empêcher la triche : les bases
  5. Performances avec beaucoup de joueurs et pendant les streams
  6. Prépare une finale avec une bordure qui rétrécit
  7. Clôture la saison et conserve le monde
  8. Besoin d'aide ?

Le serveur est prêt, le monde est généré et ton groupe attend. C'est maintenant que le vrai travail commence : faire en sorte que la saison se déroule de façon équitable, tourne sans accroc et se termine proprement. Dans cet article, tu trouves un modèle de règlement à copier, les commandes pour faire démarrer tout le monde exactement au même moment, une approche équitable des morts et des revives, les bases contre la triche, des conseils pour gérer beaucoup de joueurs et les streams, une finale avec une bordure du monde qui rétrécit et la façon de conserver le monde une fois la saison finie. Ton serveur n'est pas encore configuré ? Commence par créer un serveur SMP hardcore.

Fixe les règles avant le départ

La technique, c'est la partie facile. Les disputes portent presque toujours sur des règles auxquelles personne n'avait pensé avant. Publie donc les règles sur ton Discord, fais-les valider par tout le monde et ne les change plus en cours de route. Tu peux copier ce modèle ; complète toi-même les parties entre crochets :

  1. Une seule vie. Qui meurt est éliminé et reste spectateur jusqu'à la fin de la saison, sauf si la règle de revive s'applique.
  2. Revives. [Pas de revive / un revive par joueur et par saison contre un sacrifice convenu / retour automatique après un nombre de jours fixe.]
  3. Se déconnecter face au danger compte comme une mort. Qui se déconnecte en plein combat, pendant une chute ou dans la lave est considéré comme mort par l'admin.
  4. Pas de cheats ni d'exploits. Pas de x-ray, pas de clients de triche, pas de duplication. En cas de doute sur ce qui est autorisé, demande d'abord.
  5. Mods client autorisés. Les mods de performance, les shaders et Simple Voice Chat sont autorisés. Les minimaps qui montrent les grottes ou les mobs à travers les murs, les packs de textures x-ray et les autoclickers, non.
  6. PvP. [Autorisé à partir du jour X / seulement dans des zones convenues / interdit.]
  7. Bases. [Détruire une base : autorisé ou non ; jamais avec de la lave ou de la TNT dans la base d'un autre.]
  8. Les spectateurs se taisent. Les joueurs éliminés ne transmettent aucune info aux joueurs vivants, ni via Discord ni via un stream.
  9. Pas de machines à lag. Grosses fermes et longues lignes d'entonnoirs uniquement après accord ; l'admin peut désactiver une ferme si le serveur en souffre.
  10. Problèmes de serveur. En cas de crash ou de lag serveur prouvé, l'admin décide d'un revive sur la base des logs. Cette décision est définitive.
  11. Fin. La saison se termine le [date et heure]. Ceux qui sont encore en vie [gagnent ensemble / jouent la finale].

Fais démarrer tout le monde au même moment

Un départ équitable, c'est quand personne ne coupe déjà du bois pendant que les autres sont encore en train de se connecter. La méthode la plus simple : tout le monde apparaît dans une salle d'attente au spawn en mode aventure, où l'on ne peut pas casser de blocs, et au moment du départ, tu passes tout le monde en survie d'un coup.

Préparation

  1. Construis une salle fermée en verre autour du spawn du monde. Si tu as mis respawn_radius à 0 dans le guide d'installation, tout le monde apparaît exactement là.
  2. Tape defaultgamemode adventure dans la console. Les joueurs qui se connectent pour la première fois arrivent maintenant en mode aventure.
  3. Vérifie avec whitelist list que tout le monde est sur la liste et fais une dernière sauvegarde du monde de départ via l'onglet Backups.

Le moment du départ

Quand tout le monde est en ligne, exécute ces commandes à la suite dans la console :

defaultgamemode survival
clear @a
effect clear @a
time set day
weather clear
gamemode survival @a
title @a title "GO!"

Tout le monde est maintenant en survie et peut casser le verre. Pour un compte à rebours, utilise la même ligne title avec le texte "3", "2" et "1". Les admins qui ne jouent pas, remets-les ensuite en spectateur avec gamemode spectator Nom.

Tu veux au contraire disperser le groupe sur la carte ? Utilise alors cette commande après gamemode survival @a :

spreadplayers 0 0 200 2500 false @a

Elle place tous les joueurs à des endroits aléatoires dans un rayon de 2500 blocs autour du centre (0, 0), avec au moins 200 blocs entre eux. Garde la distance maximale à l'intérieur de ta bordure du monde.

Quelqu'un arrive en retard ? Fixe à l'avance jusqu'à quand on peut encore rejoindre la partie. Après defaultgamemode survival, un retardataire arrive simplement en survie au spawn.

Gère les morts de façon équitable

Lors d'une mort, techniquement, tout se fait tout seul : le joueur passe en spectateur et le message de mort apparaît dans le chat et dans la console. Ce que tu gères en tant qu'admin, c'est la suite.

Vérifie ce qui s'est passé

  • Chaque mort figure avec l'heure dans le log du serveur. Ouvre le fichier logs/latest.log via l'onglet Files ; les jours précédents sont dans le même dossier sous forme de fichiers compressés.
  • Si quelqu'un dit qu'il est mort à cause du lag, regarde tout de suite le TPS et les temps de tick des dernières minutes avec spark tps. Si le TPS reste bien à 20, ce n'était pas la faute du serveur. Comment lire Spark, c'est expliqué dans résoudre le lag avec le profileur Spark.
  • Si le serveur a vraiment ramé ou planté, applique la règle convenue à l'avance. Sans plugin supplémentaire, tu ne peux pas restaurer séparément les affaires d'un joueur mort ; restaurer une sauvegarde remet le monde en arrière pour tout le monde.

Des revives sans discussion

  • Fixe à l'avance le nombre de revives, leur coût et si un joueur ramené repart avec un inventaire vide.
  • L'admin n'effectue un revive qu'une fois que le groupe a vu le sacrifice, par exemple en chat vocal ou sur Discord.
  • Techniquement, c'est une seule commande : gamemode survival Nom, éventuellement suivie d'un tp vers un endroit sûr. Toutes les variantes, y compris avec un plugin de revive ou de deathban, sont dans ramener un joueur mort sur un serveur hardcore.

Quand l'admin joue aussi

Si l'admin participe lui-même, le groupe doit pouvoir compter sur lui pour ne pas abuser de ses droits. Paper inscrit chaque commande exécutée par un joueur dans logs/latest.log, et avec la gamerule log_admin_commands (activée par défaut ; logAdminCommands en 1.21.10 et antérieur), les résultats des commandes OP arrivent aussi dans le log. Prévois que chaque action d'admin soit annoncée dans un salon Discord, et confie de préférence la gestion à quelqu'un qui ne joue pas.

Les annonces de mort automatiquement sur Discord ? Connecte DiscordSRV ; chaque mort devient alors un moment partagé par tout le groupe.

Empêcher la triche : les bases

Sur un serveur entre amis, la confiance est ton meilleur anti-cheat. Ces mesures compliquent quand même sérieusement la vie des tricheurs :

  • Whitelist et online-mode. Laisse white-list, enforce-whitelist et online-mode sur true. Seuls les vrais comptes de ton groupe peuvent alors entrer.
  • Le moins d'OP possible. Ne donne à personne l'OP « juste pour régler un truc » sans le retirer ensuite avec deop Nom.
  • Bloquer le vol. Laisse allow-flight=false (la valeur par défaut) dans server.properties : les joueurs en survie qui restent en l'air sont alors automatiquement expulsés.
  • Enquêter sur un minage suspect. Avec CoreProtect, /co lookup u:Nom t:2d a:-block montre quels blocs quelqu'un a cassés ces deux derniers jours. Beaucoup de minerai de diamant pour très peu de pierre creusée, ça en dit plus qu'une simple intuition. Voir installer CoreProtect.
  • Plugins anti-cheat. Si tu en envisages un, teste-le avant la saison avec quelques joueurs. Une fausse alerte qui expulse un joueur honnête en plein combat peut lui coûter une vie en hardcore.

L'anti-xray intégré de Paper

Paper peut cacher les minerais aux joueurs jusqu'à ce qu'ils soient réellement visibles, ce qui rend les packs de textures et les mods x-ray presque inutiles. Mets dans config/paper-world-defaults.yml :

anticheat:
  anti-xray:
    enabled: true
    engine-mode: 1

Redémarre ensuite le serveur. L'engine-mode 1 remplace les minerais cachés par de la roche ordinaire et c'est le réglage le plus léger pour ton serveur.

Performances avec beaucoup de joueurs et pendant les streams

Le soir du départ et pendant la finale, tout le monde est en ligne en même temps, souvent pendant que quelques joueurs streament ou enregistrent. Tu veux alors que le serveur reste bien à 20 TPS.

  1. Prégénère le monde. C'est le plus gros gain, voir l'étape 5 du guide d'installation. Les joueurs qui explorent ne chargent alors que des chunks existants.
  2. Choisis tes distances en connaissance de cause. Dans server.properties, view-distance détermine jusqu'où les joueurs voient le monde et simulation-distance jusqu'où les mobs, les fermes et la redstone continuent de tourner. De belles images demandent une bonne view-distance : commence à 10 avec une simulation-distance de 6, et descends la view-distance à 8 si le MSPT dépasse régulièrement 40.
  3. Mesure au lieu de deviner. spark tps affiche le TPS et le MSPT ; spark profiler start --timeout 300 crée un profil de cinq minutes pendant que le lag est en cours.
  4. Empêche les spectateurs de générer des chunks. Mets spectators_generate_chunks sur false, comme dans le guide d'installation.
  5. Redémarre chaque jour. Programme via les planifications (Schedules) un redémarrage à une heure où personne ne joue, et préviens quelques minutes avant avec une commande say dans la même planification.
  6. Garde les fermes sous contrôle. Beaucoup de mobs et de longues lignes d'entonnoirs sont les causes de lag les plus connues. Tu trouves des réglages concrets dans l'article sur Spark.

Enregistrer et streamer

  • Ne montre jamais l'adresse du serveur à l'écran. La whitelist empêche les viewers d'entrer, mais une adresse connue attire quand même une attention indésirable.
  • Mets hide-online-players=true dans server.properties si tu ne veux pas que des personnes extérieures voient dans la liste des serveurs qui est en ligne.
  • Fixe la règle que les joueurs encore en vie ne regardent pas les lives des autres pendant la saison, ou que les streamers diffusent en différé.
  • Les équipes qui veulent discuter en privé utilisent un groupe dans Simple Voice Chat.
  • Une carte en direct comme BlueMap donne une vue d'ensemble aux viewers et aux spectateurs. Elle montre par défaut où se trouvent les joueurs, alors partage le lien avec discernement.

Prépare une finale avec une bordure qui rétrécit

Sans finale, une saison hardcore s'essouffle souvent en silence : les derniers joueurs s'évitent et plus personne ne se connecte. Une bordure du monde qui rétrécit les pousse les uns vers les autres, avec uniquement des commandes vanilla. En Java 1.21.11 et plus récent (donc aussi en 26.x) :

worldborder set 1000 259200s

La bordure rétrécit ainsi jusqu'à 1000 blocs de diamètre en 259200 secondes, soit trois vrais jours. Attention au s après le nombre : depuis la 1.21.11, la commande compte en ticks quand il n'y a pas de suffixe, et le suffixe d désigne des jours en jeu de vingt minutes, pas de vrais jours. En 1.21.10 et antérieur, tu indiques la durée en secondes sans suffixe : worldborder set 1000 259200.

Annonce le rétrécissement bien à l'avance, pour que les joueurs puissent récupérer leurs affaires dans les zones extérieures ; hors de la bordure, ils subissent des dégâts. Pour le dernier soir, une heure annoncée et une arène autour du spawn fonctionnent le mieux. Plus d'options dans configurer une world border.

Clôture la saison et conserve le monde

  1. Annonce la fin. Publie la date et l'heure de la finale bien à l'avance sur Discord.
  2. Immortalise le classement final. Note qui est encore en vie et fais des captures d'écran des bases, ou laisse BlueMap mettre la carte entièrement à jour une dernière fois.
  3. Arrête le serveur et crée une sauvegarde via l'onglet Backups, avec un nom comme fin saison 1. Serveur arrêté, tu es sûr que tout a bien été écrit sur le disque. Voir créer une sauvegarde.
  4. Télécharge la sauvegarde sur ton ordinateur ou ton stockage cloud, voir télécharger ta sauvegarde. Tu préfères garder uniquement le monde ? Télécharge alors via SFTP le dossier world (sur Paper 1.21.x et antérieur, aussi world_nether et world_the_end).
  5. Jeu libre (facultatif). Beaucoup de groupes laissent ensuite le monde ouvert quelques jours sans les règles de la saison, pour que les joueurs éliminés tôt puissent encore construire. Sors tout le monde du mode spectateur avec gamemode survival @a.

Rouvrir le monde plus tard

Si tu veux refaire tourner le monde plus tard, restaure la sauvegarde sur un serveur avec restaurer une sauvegarde ou envoie-le avec téléverser un monde. Tu veux ouvrir le monde en solo ? Sur Paper 1.21.x et antérieur, le Nether et l'End sont stockés dans les dossiers séparés world_nether et world_the_end ; ils ne se retrouvent donc pas automatiquement dans ton monde solo.

Lancer une nouvelle saison

  • Commence avec un monde tout neuf : arrête le serveur et supprime les dossiers du monde, voir réinitialiser ton monde. Ça efface aussi les inventaires, les points de spawn et la progression de tous les joueurs.
  • Choisis une nouvelle seed via changer la seed du monde et laisse hardcore=true, pour que le nouveau monde soit lui aussi créé en hardcore.
  • Si tu utilises CoreProtect, supprime aussi plugins/CoreProtect/database.db, serveur arrêté. Sinon, les anciennes entrées du log renvoient à des coordonnées dans un monde qui n'existe plus.
  • Ensuite, redéfinis la bordure du monde, prégénère le monde et crée une sauvegarde de départ, comme dans le guide d'installation.

Tu cherches un serveur pour ta prochaine saison ou une offre plus grande pour un groupe plus nombreux ? Jette un œil à lancer un SMP hardcore, ou à notre page pour un serveur SMP classique si tu veux une saison sans mort définitive.

Besoin d'aide ?

Demande d'abord à Noddy, l'assistant IA du panel de jeu. Il t'aide par exemple avec un message d'erreur dans la console, un plugin qui ne se charge pas ou une commande qui ne fait pas ce que tu attends. Si même avec Noddy tu n'y arrives pas, ouvre un ticket via notre page de support et joins un lien vers ton rapport Spark s'il s'agit de lag.