Documentation officielle

Hunt The King Wiki

Guide complet pour installer, configurer et exploiter Hunt The King sur un serveur Spigot ou Paper.

Compatibilité : Spigot / Paper 1.17+ • Java 17+ • gameplay bounty, arènes, Director, stats, GUI admin et hooks serveur.

Bounty PvP Most Wanted Classes Director IA SQL / YAML PlaceholderAPI
Démarrage rapide

Commandes essentielles

/htk join <arene> /htk leave /htk stats /htk admin
Hotbar lobby King visible Zones dynamiques GUI admin

Présentation

Hunt The King est un plugin PvP orienté arènes dans lequel les joueurs accumulent de la bounty en réalisant des kills, puis doivent sécuriser cette bounty dans des zones de dépôt pour transformer leur prise de risque en score réel.

Les 3 tensions principales
  • Prendre des kills pour monter vite.
  • Déposer avant de tout perdre.
  • Chasser ou survivre en tant que Most Wanted.
Ce que le plugin ajoute autour du coeur PvP
ClassesContrats secretsZones dynamiquesDirector IAStats persistantesGUI admin

Prérequis

Serveur
  • Spigot ou Paper 1.17+
  • Java 17+
Dépendances optionnelles
  • Vault pour les récompenses économiques.
  • PlaceholderAPI pour exposer les placeholders.
  • ProtocolLib détecté automatiquement, non requis pour le coeur du plugin.

Installation

  1. Compiler le plugin ou récupérer le jar.
  2. Placer le jar dans le dossier plugins/.
  3. Démarrer le serveur une première fois.
  4. Vérifier la génération des fichiers et dossiers principaux.
  5. Configurer le plugin puis redémarrer ou utiliser /htk reload.

Fichiers attendus

plugins/HuntTheKing/ ├── config.yml ├── lang/ ├── data/ │ ├── arenas/ │ └── stats/

Structure des données

Arènes

Les arènes sont stockées dans plugins/HuntTheKing/data/arenas/{nom}.yml.

  • état
  • min/max joueurs
  • activation
  • bonus de contrat
  • réglages Director
  • lobby
  • spawns
  • zones de dépôt
  • boundary

Statistiques

Les statistiques joueurs sont stockées dans plugins/HuntTheKing/data/stats/{uuid}.yml.

killsdeathsgames-playedwinstotal-bounty-secured

Cycle d'une partie

5.1 Rejoindre une arène

Un joueur rejoint via /htk join <arene>.

  • Le plugin vérifie que le joueur n'est pas déjà en partie.
  • L'arène doit être joignable, prête et non pleine.
  • Le joueur est nettoyé, passe en SURVIVAL, est téléporté au lobby et reçoit la hotbar de lobby.

5.2 Countdown

  • L'arène passe en STARTING.
  • Le compte à rebours démarre.
  • L'action bar et les messages de seuils informent les joueurs.

5.3 Démarrage effectif

  • L'arène passe en RUNNING.
  • Chaque joueur est forcé en SURVIVAL.
  • Les joueurs sont répartis sur les spawns configurés.
  • Le kit de classe est appliqué.
  • Le scoreboard, les zones, les contrats et le Director sont initialisés.

5.4 Fin de partie

  • Le classement est calculé.
  • Les stats persistantes sont mises à jour.
  • Les récompenses sont distribuées.
  • Le gagnant peut déclencher un feu d'artifice.
  • Les joueurs sont nettoyés et l'arène revient en WAITING.

Bounty et scoring

Bounty non sécurisée

La bounty portée par le joueur est à risque. Elle augmente via kills, contrats, comeback, Director et killstreaks.

Score sécurisé

Le score sécurisé est obtenu lors d'un dépôt réussi. Le classement final repose sur la bounty sécurisée et la bounty restante.

💡
Le coeur du score est porté par GamePlayer#getTotalScore().

Most Wanted / King

Le King est le joueur avec la plus grosse bounty non sécurisée.

  • glow actif
  • affichage dans l'action bar
  • affichage dans le scoreboard
  • annonces de changement de King

Interactions avec les classes

  • TRACKER reçoit une boussole pointant vers le King.
  • TRACKER a un bonus de dégâts contre le King.
  • HUNTER a un bonus de dégâts plus important contre le King.

Dépôts

Quand un joueur entre dans une zone de dépôt active, un minuteur démarre.

  • Une progression est affichée.
  • Le dépôt échoue si le joueur sort de la zone.
  • Le dépôt échoue si le joueur prend des dégâts.
arena.deposit-time arena.deposit-radius dynamic-zones.bonus-multiplier
TRICKSTER réduit la durée effective du dépôt.

Dynamic Zones

Le système de dynamic-zones ne garde qu'un sous-ensemble des zones de dépôt actives à un instant donné.

  • nombre de zones actives configurable
  • rotation automatique périodique
  • zone bonus optionnelle
  • particules autour des zones
dynamic-zones.enabled dynamic-zones.active-count dynamic-zones.rotation-interval dynamic-zones.bonus-zone dynamic-zones.bonus-multiplier

Overtime

Quand le temps principal expire, la partie peut entrer en prolongation.

  • nouveau timer dédié
  • multiplicateur de bounty spécifique
  • pression renforcée
arena.overtime-duration bounty.overtime-multiplier

Système de comeback

À intervalle régulier, le plugin compare le score du leader et des retardataires.

  • Si l'écart dépasse un seuil, un bonus de bounty est attribué.
  • Le but est de réduire l'effet boule de neige trop précoce.
comeback.enabled comeback.check-interval comeback.gap-threshold comeback.bonus

Classes

ASSASSIN
  • épée en fer
  • arc
  • armure cuir rouge
  • vitesse II
  • bonus dégâts généraux
TANK
  • armure fer
  • épée en fer
  • résistance
  • +4 PV max
TRACKER
  • armure maille
  • épée
  • arc
  • boussole
  • bonus contre le King
TRICKSTER
  • armure cuir violette
  • épée
  • arc
  • vitesse I
  • saut I
  • dépôt plus rapide
HUNTER
  • armure maille
  • épée
  • arc
  • gros bonus contre le King

Contrats secrets

Chaque joueur reçoit une cible secrète au démarrage.

  • Si le joueur tue sa cible, il reçoit le bonus de contrat de l'arène.
  • Le contrat courant est consommé.
  • Un nouveau contrat peut être assigné après délai.
  • Les contrats peuvent être réassignés à intervalle fixe.

Gestion des déconnexions

  • L'ancien contrat est invalidé.
  • Le joueur concerné reçoit une nouvelle cible.
contracts.enabled contracts.bonus contracts.reassign-delay contracts.rotation-interval
ℹ️
Le bonus réellement appliqué en partie vient du paramètre d'arène contractBonus, ajustable dans le GUI d'arène.

Killstreaks

Paliers
  • 2 kills : Double Kill
  • 3 kills : Triple Kill
  • 5+ kills : Killing Spree
Récompenses
  • bonus de bounty
  • effets temporaires
  • titre global à partir de Killing Spree
killstreak.enabled killstreak.double-kill-bonus killstreak.triple-kill-bonus killstreak.killing-spree-bonus

IA Director

Événements
  • Bounty Bonus : aide les retardataires si le leader domine trop.
  • Reveal King : révèle le King s'il reste trop longtemps en tête.
  • Force Bonus Zone : force une rotation si aucun dépôt n'a lieu.
  • Hunt Announcement : annonce le joueur le plus riche si aucun kill n'arrive.
Réglages disponibles
  • activation globale
  • label personnalisé du Director
  • toggle par événement
  • gap ratio, reward, threshold
  • duration et cooldown

Scoreboard

Le scoreboard est latéral, individuel et maintenu sans clignotement.

  • temps restant
  • bounty
  • sécurisé
  • kills
  • rang
  • king
  • joueurs
scoreboard.enabled scoreboard.title scoreboard.update-interval
💡
La mise à jour repose sur des Team Bukkit et non sur une recréation complète du scoreboard.

GUI disponibles

/htk admin
  • voir la version
  • créer une arène
  • lister les arènes
  • ouvrir la gestion d'une arène
  • ouvrir les paramètres globaux
ArenaManageGUI
  • min/max joueurs
  • spawns
  • zones de dépôt
  • bonus contrat
  • lobby
  • boundary
  • activation et validation
DirectorGUI

Édite le label, l'activation et tous les événements du Director.

SettingsGUI / DatabaseGUI

Permet l'accès aux réglages globaux, au changement de langue et à l'édition du mode sqlite/mysql et des valeurs MySQL.

StatsGUI / ClassSelectionGUI

Accessible depuis la hotbar de lobby pour consulter les stats et choisir une classe avant le lancement.

Commandes

CommandeDescription
/htk helpAide générale.

Permissions

PermissionDescription
hunttheking.useAccès aux commandes générales et infos d'arène.

Setup complet d'une arène

  1. Exécuter /htk admin.
Une arène doit au minimum avoir un lobby et un nombre de spawns au moins égal au minimum de joueurs.

Configuration principale

Le fichier config.yml contient les sections suivantes :

settings

Langues

  • fr
  • en

Les messages passent par LanguageManager.

💡
Les clés manquantes dans les fichiers de langue peuvent être resynchronisées depuis les ressources embarquées sans écraser les personnalisations existantes.

PlaceholderAPI

Placeholders disponibles :

%hunttheking_bounty% %hunttheking_secured% %hunttheking_kills% %hunttheking_arena% %hunttheking_is_king% %hunttheking_total_kills% %hunttheking_total_deaths% %hunttheking_total_games% %hunttheking_total_wins% %hunttheking_total_bounty%

Hooks

Vault
  • récompenses d'argent
  • disponibilité permissions / économie
PlaceholderAPI
  • placeholders en jeu
  • intégration avec d'autres plugins
ProtocolLib

Le plugin détecte sa présence, mais le coeur du gameplay n'en dépend pas dans l'état actuel.

BungeeCord

Le support est configurable via config.yml et le SettingsGUI, mais la mécanique inter-serveurs arrivera plus tard avec un addon spécifique.