Plugin MaintenanceManager

ImAFlyingPancake

Lead dev Etheria
2 Janvier 2012
52
6
85
1399313186-maintenance.png



MaintenanceManager est sans conteste (et en toute modestie^^) le meilleur plugin de maintenance pour votre seveur Minecraft! Comparez par vous-même! Il vous simplifiera la vie pour vos maintenances!

Téléchargement ici!
Disponible également BukkitDev!


Table des matières:

  • Fonctionnalités
  • Commandes
  • Permissions
  • Configuration
  • Installation
  • A faire
  • Vos impressions
  • Serveurs utilisant MaintenanceManager
Fonctionnalités: (attention il y en a beaucoup!)

La liste n'est pas exhaustive, mais il y a presque tout. Seules les subtilités ont été omises.
  • La commande /maintenance vous permet de manager vos maintenances: /maintenance on|off
  • Maintenances programmées. Programmez vos maintenances en avance afin de prévenir les joueur par exemple!
  • Pour pouvez annuler une maintenance programmée avec /maintenance cancel.
  • Définissez la durée de votre maintenance! /maintenance on [temps avant la maintenance] <durée> (C'est optionnel et les valeurs sont en minutes)
  • Tous les joueurs non OP et n'ayant pas la permission sont kick automatiquement au début d'une maintenance et ne peuvent plus se reconnecter tant qu'elle est active.
  • De la même façon, les joueurs n'étant pas connectés au début de la maintenance ne pourront le faire.
  • Le motd sur l'écran des serveur est modifié pendant les maintenances.
  • Les commandes peuvent être lancée depuis la console ou in-game depuis les joueurs OP ou ayant la permission.
  • Icône de serveur personnalisée pendant les maintenances.
  • Le plugin supporte les /reload. Cela signifie que la maintenance reste active si /reload est lancé pendant une maintenance.
  • Le fichier config.yml peut être modifié sans avoir besoin de relancer le serveur ou d'utiliser /reload grâce à la commande /maintenance reload.
  • Permissions pour toutes les commandes.
  • Tous les textes peuvent être personnalisés dans le config.yml. Oui oui!
  • Vous pouvez choisir le nombre de slots disponibles durant une maintenance.
  • Managez tous vos plugins en temps réel sans avoir besoin de relancer le serveur ou d'utiliser /reload avec une simple commande pour activer ou désactiver vos plugins: /maintenance [disable|enable] (nom du plugin)
  • Les plugins désactivés restent désactivés même après un /reload ou après que le serveur soit redémarré!
  • Oui d'accord, c'est lourd d'écrire /maintenance à chaque fois! C'est pour ça qu'il y a des alias sur cette commande! /mmode et /maint
  • Commande pour faire une backup complète de votre serveur! /maintenance backup
Les commandes:

/maintenance est la commande principale du plugin (je pense que vous l'avez compris^^). Pour l'utiliser vous devrez ajouter des arguments derrière:

Alias: /mmode , /maint
  • on:active le mode maintenance.
    • <temps avant la maintenance>(optionnel, en minutes. La programmation d'une maintenance sera annulée si vous utilisez /reload avant que celle-ci commence.)
      • <durée de la maintenance> (optionnel, en minutes. Si vous voulez une maintenance immédiate avec durée, mettez 0 pour le temps avant la maintenance)
  • cancel: annule la maintenance programmée
  • off: désactive le mode maintenance
  • reload: Recharge le fichier config de MaintenanceManager
  • enable <nom du plugin>: Active le plugin choisi
  • disable <nom du plugin>:Désactive le plugin choisi
    • Note: Si vous n’êtes pas sûr du nom de vos plugins, tapez /plugins.
  • backup: Sauvegarde l'intégralité de votre serveur dans un fichier zip situé dans le dossier "backups".
/cpu:Retourne le taux d'utilisation du processeur du serveur en %.

/ram: Retourne le taux d'utilisation de la RAM du serveur en % ainsi que le nombre de MB utilisés.
Note: Ces deux commandes ne fonctionnent qu'avec Windows, MacOS et Linux et sont exclusives au lien suivant: Cliquez ici!

Permissions:

maintenance.maintenance: Autorise à activer ou désactiver le mode maintenance.

maintenance.maintenance.cancel: Autorise à annuler un maintenance programmée.

maintenance.maintenance.backup: Autorise à utiliser la commande /maintenance backup

maintenance.access: Autorise le joueur à se connecter au serveur durant une maintenance et de ne pas être kick quand une maintenance commence.

maintenance.reload: Autorise à recharger le fichier config.

maintenance.manage.plugins: Autorise à activer ou désactiver des plugins.

maintenance.cpu: Autorise l'utilisation de la commande /cpu

maintenance.ram: Autorise l'utilisation de la commande /ram

Bien-sur, les joueurs OP ont toutes ces permissions! Attention: maintenance.* ne fonctionne pas!


Configuration:

Si vous êtes flemmard ou que vous n'avez pas trop envie de "mettre les mains dans le cambouis", ce n'est pas un problème! Je fourni un fichier config par défaut, bien travaillé! (Mais en anglais)

Ce fichier config ressemble à ça:


Code:
maintenanceModeOnStart: false //Ne touchez pas à cette ligne
remainingMilliseconds: 0 //Ne touchez pas à cette ligne non plus!^^
kickMessage: "\xa7c\xa7nThe server is currently under maintenance. Come back later."
//Affiché aux joueurs kick par le plugin
maintenanceMessage: "\xa7c\xa7nThe server is currently under maintenance. Come back\
  \ later." //Affiché aux joueurs essayant de se connecter au serveur durant une maintenance et qui n'ont pas la permission
maintenanceMOTD: "\xa76\xa7o\xa7lMaintenance mode..." //Le motd affiché sur l'écran des serveur durant une maintenance
maintenanceWithDurationMOTDBegin: "\xa76\xa7o\xa7lMaintenance mode...\xa72\xa7l" //La première ligne du motd pour les maintenance avec une durée plannifée.
maintenanceWithDurationMOTDEnd: "\xa7r\xa7eminutes remaining!" //La deuxième ligne du motd pour les maintenance avec une durée planifiée. Le nombre de minutes restantes est affiché devant.
maintenanceWithDurationMOTDLessThanOneMinute: "\xa72Less than one minute remaining!"
//La deuxième ligne du motd pour les maintenance avec une durée plannifiée quand la maintenance se termine dans moins d'une minute.
maintenanceStart: "\xa72\xa7o\xa7lMaintenance time!" //Affiché quand une maintenance débute
maintenanceEnd: "\xa76\xa7o\xa7lMaintenance finished!" //Affiché quand une maintenance se termine.
scheduleMessageBegin: "\xa75\xa7oMaintenance in\xa7r\xa74\xa7l" //Le début du message d'alerte pour les maintenances programmées
scheduleMessageEnd: "\xa7r\xa75\xa7ominutes!" //La fin du message d'alerte pour les maintenances programmées
scheduleCanceled: "\xa7a\xa7oThe scheduled maintenance have been canceled!" //Affiché quand une maintenance programmée est annulée.
noMaintenanceScheduled: "\xa7cNo maintenance scheduled..." //Affiché quand vous utilisez la commande /maintenance cancel alors qu'aucune maintenance est programmée.
scheduleLessThanOneMinute: "\xa75\xa7oMaintenance in less than one minute!" //Message d'alerte quand pour les maintenances programmées débutant dans moins d'une minute
inputErrorSchedule: "\xa7cThe time value for schedule must be an integer!" //Message d'erreur pour mauvaise utilisation de la commande
inputErrorDuration: "\xa7cThe time value for duration must be an integer!" //Message d'erreur pour mauvaise utilisation de la commande
pluginManagementArgumentErrorDisable: "\xa7cPlease name the plugin you want to disable!" //Message d'erreur pour mauvaise utilisation de la commande
pluginManagementArgumentErrorEnable: "\xa7cPlease name the plugin you want to enable!" //Message d'erreur pour mauvaise utilisation de la commande
pluginDisabled: "\xa7a\xa7osuccessfully disabled!" //Affiché quand vous désactivez un plugin, pas besoin d'espace
pluginEnabled: "\xa7a\xa7osuccessfully enabled!" //Affiché quand vous activez un plugin, pas besoin, d'espace
maintenanceAlreadyLaunched: "\xa7cThe server is already in maintenance mode." //Affiché quand vous utilisez /maintenance on alors que le mode maintenance est déjà actif
noMaintenanceLaunched: "\xa7cMaintenance mode is already off." //Affiché quand vous utilisez /maintenance off alors que le mode maintenance est déjà désacitvé.
maintenanceAlreadyScheduled: "\xa7cA maintenance is already scheduled."
cpuUsage: "\xa73CPU used at\xa72\xa7l" //Suivi de l'usage CPU en %
ramUsage: "\xa73RAM used at\xa72\xa7l" //Suivi de l'usage RAM (Format: "x% || yMB")
maxPlayersOnMaintenance: 10 //Doit être un nombre entier! Le nombre de slots disponibles pendant une maintenance
disabledPlugins: [] //Faites très attention quand vous modifiez cette liste!
Note: Si vous copiez-collez le fichier config ci-dessus, n'oubliez pas de retirer les commentaires après doubles slash.


Pour choisir votre icône de maintenance, déposez simplement une image appelée "maintenance-icon.png" dans le dossier principal du serveur. L'icône par défaut sera créée et utilisée si le plugin ne trouve pas ce fichier.
Note: Votre icône doit être une image au format png et de 64x64 pixels.

Conseil: Si vous ne voulez pas changer d'icône pendant les maintenances, copiez-collez "server-icon.png" et renommez-la en "maintenance-icon.png"


Important: Si votre serveur n'a pas d'icône, maintenance-icon.png sera utilisée même si le serveur n'est pas en maintenance!

Pour ajouter des couleurs à votre texte, ajoutez '§' et un caractère compris entre 0-9 et a-f avant les mots que vous souhaitez colorer. Référez-vous à cette page pour connaître tous les codes de formatage de texte dans Minecraft.


Installation:

Liens vers toutes les versions (Fonctionnalité exclusive depuis ce lien: /cpu et /ram pour connaître leur taux d'utilisation en temps réel!)

Et si vous préférez, voici le lien de la page BukkitDev.


Pour installer MaintenanceManager, téléchargez simplement le fichier jar et déposez le dans le dossier plugins se trouvant dans le dossier de votre serveur.
Et maintenant, appréciez!


A faire:

  • Vos suggestions
Sources:

Jetez un œil au code source!


Vos impression:

Votre opinion est importante pour moi! S'il vous plait, lâchez un petit commentaire ci-dessous et faites moi savoir ce que vous pensez à propos de mon plugin, ce que vous voudriez y voir ajouté ou ce que vous voudriez changer! Et surtout, signalez-moi tous les bugs que vous rencontrez, si vous en avez!^^
Je veux que MaintenanceManager soit et reste le meilleur plugin de maintenance pour bukkit, et pour ce faire, j'ai besoin de vos commentaires!
Merci d'avoir lu!


Serveurs utilisant MaintenanceManager:

Si vous voulez faire partie de la liste, envoyez-moi un message privé avec le nom, l'ip et optionnellement le site internet accompagné d'une image du serveur.
 
La version 1.02 est disponible!

Obtenez-là ici!

Changelog:

  • Le fichier help.yml dans le dossier du plugin a été supprimé.
  • L'icône de maintenance est maintenance lue depuis un fichier se trouvant dans le dossier principal du serveur (maintenance-icon.png)
  • Si ce fichier n'existe pas, l'icône par défaut sera créée et utilisée.
  • Sécurité augmentée quand une maintenance est programmée: Vous ne pouvez plus programmer de maintenance ou mettre le serveur en mode maintenance tant qu'une maintenance est programmée.
  • Bug corrigé: les deux threads s'occupant de la programmation et de la durée de la maintenance fonctionnent désormais correctement.
  • Le plugin supporte maintenant les très longues durées.
 
Voici un config.yml en français pour ceux qui veulent:

Code:
maintenanceModeOnStart: false
remainingMilliseconds: 0
kickMessage: "\xa7c\xa7nLe serveur est actuellement en maintenance. Revenez plus tard!"
maintenanceMessage: "\xa7c\xa7nLe serveur est actuellement en maintenance. Revenez plus tard!"
maintenanceMOTD: "\xa76\xa7o\xa7lEn maintenance..."
maintenanceWithDurationMOTDBegin: "\xa76\xa7o\xa7lEn maintenance...\xa72\xa7l"
maintenanceWithDurationMOTDEnd: "\xa7r\xa7eminutes restantes!"
maintenanceWithDurationMOTDLessThanOneMinute: "\xa72Moins d'une minute restante!"
maintenanceStart: "\xa72\xa7o\xa7lMode maintenance activé!"
maintenanceEnd: "\xa76\xa7o\xa7lMode maintenance désactivé!"
scheduleMessageBegin: "\xa75\xa7oLa maintenance commence dans\xa7r\xa74\xa7l"
scheduleMessageEnd: "\xa7r\xa75\xa7ominutes!"
scheduleCanceled: "\xa7a\xa7oLa maintenance programmée a été annulée!"
noMaintenanceScheduled: "\xa7cAucune maintenance programmée..."
scheduleLessThanOneMinute: "\xa75\xa7oLa maintenance commence dans moins d'une minute!"
inputErrorSchedule: "\xa7cLa valeur temps pour la programmation doit être un nombre entier!"
inputErrorDuration: "\xa7cLa valeur temps pour la durée doit être un nombre entier!"
pluginManagementArgumentErrorDisable: "\xa7cVeuillez nommer le plugin à désactiver!"
pluginManagementArgumentErrorEnable: "\xa7cVeuillez nommer le plugin à activer!"
pluginDisabled: "\xa7a\xa7odésactivé avec succès!"
pluginEnabled: "\xa7a\xa7oactivé avec succès!"
maintenanceAlreadyLaunched: "\xa7cLe serveur est déjà en maintenance."
noMaintenanceLaunched: "\xa7cLe mode maintenance est déjà désactivé."
maintenanceAlreadyScheduled: "\xa7cUne maintenance est déjà programmée."
cpuUsage: "\xa73CPU utilisé à\xa72\xa7l"
ramUsage: "\xa73RAM utilisée à\xa72\xa7l"
maxPlayersOnMaintenance: 10
disabledPlugins: []
 
La version 1.03 est disponible!

Obtenez-la ici!

Changelog:

  • Bug corrigé: Le thread de durée ne se lançais pas si la valeur de la programmation était égale à 0.
  • Bug corrigé: La commande /maint on 0 fonctionne désormais correctement.
  • Erreur corrigée: Quand vous programmez une maintenance sans durée déterminée, désormais, aucune erreur se produit (normalement!^^)
  • Bug corrigé: Le thread de programmation se lançais même si la valeur de la durée était erronée.