Scripts de serveur – MinecraftOnline – Monter un serveur MineCraft

Author: Titanfall —

Short summary: De MinecraftOnline (Redirigé depuis les scripts du serveur) "Ce n'est pas une opération à la roquette." – Krenath Les administrateurs ont accès au serveur via SSH et peuvent utiliser divers scripts bash et python écrits pour faciliter l'administration du serveur. Faire ne pas essayez d’utiliser l’un quelconque de ces éléments, à moins que vous ne […]

Quick overview

Site
Tutos GameServer
Canonical URL
https://tutos-gameserver.fr/2019/05/03/scripts-de-serveur-minecraftonline-monter-un-serveur-minecraft/
LLM HTML version
https://tutos-gameserver.fr/2019/05/03/scripts-de-serveur-minecraftonline-monter-un-serveur-minecraft/llm
LLM JSON version
https://tutos-gameserver.fr/2019/05/03/scripts-de-serveur-minecraftonline-monter-un-serveur-minecraft/llm.json
Manifest
https://tutos-gameserver.fr/llm-endpoints-manifest.json
Estimated reading time
39 minutes (2293 seconds)
Word count
7641

Key points

Primary visual

Scripts de serveur – MinecraftOnline

 – Monter un serveur MineCraft
Main illustration associated with the content.

Structured content

De MinecraftOnline (Redirigé depuis les scripts du serveur)

"Ce n'est pas une opération à la roquette." – Krenath

Les administrateurs ont accès au serveur via SSH et peuvent utiliser divers scripts bash et python écrits pour faciliter l'administration du serveur.

Faire ne pas essayez d’utiliser l’un quelconque de ces éléments, à moins que vous ne compreniez exactement ce qu’ils font et comment ils fonctionnent – beaucoup sont capables d’endommager de manière permanente et irréversible le monde et les sauvegardes. Certaines commandes apparemment inoffensives peuvent toujours produire un décalage excessif du serveur si elles sont mal utilisées. En cas de doute, n'hésitez pas à demander conseil à un autre administrateur.

Il va sans dire que les commandes qui violent les principes de survie ou manipulent les joueurs de quelque manière que ce soit sans leur consentement ne doivent en aucun cas être utilisées.

Usage Pour appeler un script, indiquez son chemin absolu sur la ligne de commande. Si vous êtes dans / home / minecraft (indiqué en abrégé ~), vous pouvez simplement préfixer le nom du script avec ./, par exemple ./grieflogsearch. La majorité des scripts donneront des instructions correctes s’ils sont appelés sans paramètres de ligne de commande.

Cet article suppose une compréhension raisonnable de l’utilisation du shell Unix, ainsi qu’une quantité décente de bon sens.

Familiarisation du système Emplacements

/ home / minecraft / – la Minecraft le répertoire utilisateur de l'utilisateur, ainsi que le répertoire racine du serveur lui-même.

/ home / minecraft / logs / – les journaux standard du serveur. Les noms de fichiers sont le temps de création, en secondes depuis 1970 (secondes depuis l'époque).

/ home / minecraft / griefAlertLogs / – les journaux d'alerte de deuil du serveur. Les noms de fichiers sont le temps de création, en secondes depuis 1970 (secondes depuis l'époque).

/ home / teamspeak / – la teamspeak le répertoire utilisateur de l'utilisateur, l'emplacement du serveur teamspeak et les configurations.

/ home / carte / – la carte L'emplacement de l'utilisateur, l'emplacement des scripts de génération de cartes et des scripts d'assistance, ainsi que les versions des référentiels de mappeur.

/ var / logs / – journaux généraux du serveur

/ var / www / minecraftonline / pages / – contenu Web

/ var / www / minecraftonline / cgi-bin / – scripts web

/ var / lib / mediawiki / – données wiki

/ mnt / stockage / carte / – données cartographiques

/ mnt / storage / backup / home – des sauvegardes des répertoires de répertoires, du contenu Web et des archives mondiales.

Sessions d'écran Une liste des séances d’écran peut être obtenue avec écran -ls. Une session d'écran peut être attachée à avec écran -r /. Une nouvelle session peut être créée avec écran -S . Une session peut être détachée avec ^ A-D – c'est-à-dire appuyez sur ctrl-a, suivi par ré. L'utilisateur est généralement "minecraft".

serveur minecraft – la session du script de redémarrage du serveur minecraft (/home/minecraft/minecraftstart.sh).

minecraft / mapgen – la session pour le script de reprise du générateur de carte (/home/map/startmapgenloop.sh).

minecraft / ircbot – la session pour le script de reprise de McObot (/home/minecraft/startircbot.sh).

minecraft / votant – la session de notre émulateur de protocole de votation pour les listes de serveurs permettant le vote (./votifier_start.sh).

teamspeak / serveur – la session pour le contrôle du serveur teamspeak (/home/teamspeak/teamspeak3-server_linux-amd64/ts3server_startscript.sh start).

Les sessions suivantes sont obsolètes et ne sont pas maintenues actuellement. Elles sont répertoriées ici uniquement à titre de référence académique:

minecraft / comicbot – la session pour YourFaceBot qui génère le irc webcomics sur le site. Le script de redémarrage est /home/minecraft/comicbot/startcomicbot.sh.

minecraft / minestatus – la session pour minestatusstart.sh, Réimplémentation bash de SlowRiot du plugin quelque peu peu sécurisé http://minestatus.net.

Cron Cron est un démon de planification qui permet l'exécution de scripts et de commandes à intervalles réguliers.

crontab -l – affiche le contenu de la crontab de l'utilisateur minecraft (liste d'exécution programmée).

crontab -e – ouvre la crontab de l'utilisateur minecraft pour l'édition. S'il vous plait, ne jouez pas avec ça sauf si vous savez exactement comment fonctionne cron.

Approximation visuelle du travail sur console.

L'invite L'invite verte conviviale a un smiley intégré qui reflète l'état de sortie de la dernière commande. Si cela réussit, vous obtenez un smiley heureux. Si une erreur a été enregistrée (ou une recherche n'a donné aucun résultat), vous obtenez un visage triste. Si quelque chose s'est passé un peu de manière étrange ou si vous n'avez pas obtenu les résultats escomptés, vous verrez un visage surpris. Un des ajouts ivre de SlowRiot. Classe, hein?

Les scripts informations générales

checkminecraftversion.sh – essaie de trouver la dernière version du numéro de version de minecraft sur le tumblr officiel

getchunkcoords.sh – calcule les coordonnées à partir d'un nom de fichier de morceau. Obsolète depuis le format mcregion, mais reste utile pour certains calculs.

getchunkfile.sh – calcule le nom du fichier de bloc à partir des coordonnées. Obsolète depuis le format mcregion, mais reste utile pour certains calculs.

getchunkrange.sh – obtient une plage de noms de fichiers de bloc en utilisant le script ci-dessus, à partir de plages de coordonnées. Obsolète depuis la région.

getdonorinfo.sh – analyse le donationlog.txt fichier dans un format lisible par l'homme. Probablement d'aucune utilité pour les administrateurs car le fichier journal n'est pas lisible par le Minecraft utilisateur pour des raisons de confidentialité.

getdonorinfo.sh – analyse le donationlog.txt fichier pour obtenir des emails associés à des noms d'utilisateurs. Probablement d'aucune utilité pour les administrateurs car le fichier journal n'est pas lisible par le Minecraft utilisateur pour des raisons de confidentialité.

gethomedistances.sh – calcule les distances du domicile de chaque joueur à partir de la ponte.

getrangeregex.py – générer une expression régulière pour correspondre à une plage de nombres spécifiée. Utile pour récupérer les journaux dans une plage de valeurs.

getmaxplayers.sh – obtenir le maximum de joueurs connectés simultanément à la date spécifiée.

getminplayers.sh – obtenir le minimum de joueurs connectés simultanément à la date spécifiée.

getuniqueplayers.sh – obtenir le nombre total de joueurs connectés uniques dans les délais spécifiés.

getrendersat.sh – obtient une liste de rendus dans un rayon de 100 blocs de coordonnées spécifiées.

la disponibilité.sh – vous indique depuis combien de temps le serveur est en fonctionnement depuis le dernier redémarrage, en heures, minutes et secondes.

NBT / nbtreader – vide le contenu brut décodé de tout fichier NBT. Utilisé comme composant de bas niveau de nombreux autres scripts.

Détection de chagrin

chagroupsearch.sh – le grand. Recherche dans les journaux d'alerte de deuil les coordonnées, les noms ou quoi que ce soit vraiment. Mettez jusqu'à trois termes de recherche sur la ligne de commande entre guillemets – par exemple ./grieflogsearch.sh flambeau "X = -143" chercher des brise-torches dans le grand tunnel occidental.

Depuis le changement de format du journal de griefalert, une nouvelle version de ce script a été créée, ce qui est beaucoup plus rapide, mais ne fonctionne qu'avec les nouveaux types de journal. Pour rechercher les anciens journaux, définissez d’abord la variable d’environnement appropriée: export deuilsearchclassic = true – ce paramètre est conservé pour le reste de votre session jusqu'à ce que vous exécutiez chagrin de deuil pour revenir à l'opération par défaut à nouveau.

whobrokethecactus.sh (–parallèle) – script de recherche sur mesure pour rechercher les bris de vitres et de panneaux de signalisation dans la zone de spawn de cactus et de roseaux, et filtrer les joueurs déjà bannis, en ne signalant que ceux qui ne l'ont pas encore été. L'option –parallèle L'argument en ligne de commande obligera le script à utiliser l'ancien mode parallèle plutôt que le nouveau mode simultané (en théorie plus efficace). Dans certains cas, cela peut être plus rapide.

whobrokethelightstone.sh (–parallèle) – script de recherche sur mesure pour rechercher les ruptures de pierre de lumière dans les tunnels de pierre de lumière et filtrer les joueurs déjà bannis, en ne signalant que ceux qui ne l'ont pas encore été. L'option –parallèle L'argument en ligne de commande obligera le script à utiliser l'ancien mode parallèle plutôt que le nouveau mode simultané (en théorie plus efficace). Étant donné que le mode parallèle renvoie 100 résultats pour chaque tunnel, vous obtiendrez des résultats historiques plus complets dans ce mode.

whoplacedsign.sh – rechercher un signe complet, qui l'a placé et où, en se basant sur une seule ligne de texte. Vous pouvez également rechercher tous les signes placés par un joueur.

./exec_whobrokethis.sh –debug x1 y1 z1 x2 y2 z2 – appeler le / whobrokethis commande de la console en mode débogage, avec une plage de coordonnées spécifiée. Renvoie la même chose que dans le jeu, mais sans délai d'expiration, et génère des informations de débogage sur la plage regex générée afin que vous puissiez utiliser cette regex manuellement vous-même dans les journaux ou la modifier si nécessaire.

./exec_identifyarea.sh X [y] z [x2 y2 z2] – spectacles protégés [LionsArea|areas] aux coordonnées données ou dans la plage de coordonnées donnée, la coordonnée y étant facultative si vous ne spécifiez qu'un seul emplacement.

Informations sur le joueur

inventairecompte1a.sh – un script assez lourd pour rechercher dans tous les inventaires des joueurs un nombre spécifique d’articles. Était autrefois utile pour trouver des nombres négatifs d’éléments alors que l’inventaire n’était pas encore devenu entièrement côté serveur. Maintenant cela a peu d'utilité.

inventairecountemptyslots.sh – Découvrez le nombre de cases vides dans l'inventaire d'un joueur spécifié lors de sa dernière déconnexion. Utilisé par le système de donation.

inventairedump1a.sh – extraire les données brutes d'un fichier d'inventaire spécifique. Inventoryinspect est beaucoup plus convivial.

inventairefindfirstfreeslot.sh – obtient le numéro d'emplacement du premier emplacement d'inventaire vide dans l'inventaire d'un joueur spécifié. Utilisé par le système de donation.

inventaireinspect1a.sh – affiche le contenu de l'inventaire d'un joueur dans un format convivial, lisible par l'homme.

enderchestinspect.sh – affiche le contenu de l'enderchest d'un joueur dans un format convivial, lisible par l'homme.

inventairescan1a.sh – un script assez lourd pour rechercher dans tous les inventaires des joueurs un type de bloc spécifique et un nombre de retours. Utile pour trouver des types de blocs interdits tels que l'herbe, l'adminium, etc. – mais ne l'exécutez pas sans agréable.

whereisplayer.sh – trouve les coordonnées et la dimension du joueur ou du dernier joueur déconnecté.

NBT / slotinspect – renvoie le contenu de l'emplacement spécifié dans l'inventaire du joueur à la dernière déconnexion. Utilisé comme composant de bas niveau dans les autres scripts d'examen d'inventaire.

getplayernotes.sh nom de joueur – affiche toutes les notes d’informations, d’interdiction et d’avertissement pour une donnée donnée. nom de joueur. Pas sensible à la casse.

addplayernote.sh nom de lecture "message" – ajoute une note d'information pour la donnée nom de joueur avec le déclaré message.

getgroups.sh nom de joueur – liste tous les groupes nom de joueur est un membre direct de.

getgroups_by_uuid.sh uuid – idem que ci-dessus mais prend uuid comme entrée.

getgroupsrecursive.sh nom de joueur – liste tous les groupes nom de joueur est un membre de, y compris les groupes hérités.

getgroupsrecursive_by_uuid.sh uuid – idem que ci-dessus mais prend uuid comme entrée.

Actions de jeu

giveall * .sh – Offrez le cadeau spécifié à tous les joueurs. A utiliser uniquement sur des cartes temporaires et dans des circonstances absolument exceptionnelles!

inventaire_giveitems.sh – insère l'élément spécifié, en nombre spécifié, et la valeur de dégâts spécifiée, dans l'inventaire du joueur spécifié. Utilisé par le système de donation pour distribuer les matériaux achetés. Ne fonctionne que si le lecteur est hors ligne.

inventaire_repairhotbar.sh – répare tous les éléments de la barre de raccourci du lecteur. Utilisé par le système de donation – ne le faites pas pour les joueurs gratuitement 🙂 Ne fonctionne que si le joueur est hors ligne.

inventaire_setblockashat.sh – définit le premier bloc de la barre de raccourci du joueur comme chapeau. Utilisé par le système de dons et ne fonctionne que lorsque les joueurs sont hors ligne.

minecraftgift.sh – distribue à chaque joueur un cadeau au hasard parmi une sélection de types d’éléments autorisés. Appelé toutes les heures par cron comme cadeau horaire.

remoteclient01a.py – envoie les arguments de la ligne de commande à la console du serveur. Meilleur si vous citez la chaîne entière, comme ./remoteclient01a.py "donne slowriot 64 4". Vous pouvez également l'envoyer en stdin. C'est l'une des commandes les plus puissantes, et la plupart des scripts l'utilisent comme un bloc de construction. Toute notification de jeu repose sur l’utilisation de ceci avec "say ". Il renverra une ligne de stdout, en espérant que ce sera une réponse à votre requête – mais le décalage du serveur signifie que ce n’est pas une chose sur laquelle on peut compter. Combinez cela avec la commande de la console du serveur" remotecommand "pour exécuter toutes les commandes en tant que joueur, depuis la console du serveur.

spamitem.sh – oblige un joueur à vomir en permanence un élément spécifié, avec l'intervalle spécifié. Vous n'avez probablement pas la permission d'exécuter ceci.

NBT / add_inv – modifier directement un emplacement d'inventaire. Ne fonctionne que si le lecteur est hors ligne. Utilisé comme composant de bas niveau par les autres scripts de modification d'inventaire.

Actions côté serveur

cleanbackups.sh – cela efface tout le nombre de sauvegardes spécifié, sauf le plus récent. Ceci est appelé automatiquement par le système de sauvegarde et ne doit pas être utilisé à la main.

listplayers.sh – mises à jour playerlist.txt. Appelé chaque minute par cron.

minecraftbackup.sh – le grand script de sauvegarde. Appelé par cron toutes les six heures. Devrait également être appelé avant toute opération ou mise à niveau importante du serveur présentant des risques.

minecraftstart.sh – le script qui démarre (et redémarre) le wrapper du serveur, et par conséquent le serveur. N'exécutez pas cette opération si le serveur est déjà en cours d'exécution et ne l'exécutez que dans serveur session d'écran.

cleanuptimeonline.sh – appelé par minecraftstart avant la mise en place du serveur, il vérifie la présence de sessions de connexion corrompues laissées par une précédente panne de serveur, calcule l'heure de la mort de ce serveur et ajoute l'heure correcte en ligne aux statistiques des joueurs laissés en suspens l'heure de l'accident. Nécessaire lorsque OnLogout n'est pas appelé dans CommandOn en raison d'un arrêt du serveur avant la déconnexion des clients, voir aussi exec_reportout.sh.

startircbot.sh – script qui démarre (et redémarre) le bot IRC. Ne lancez pas ceci si le bot irc est déjà en marche, et ne le lancez que dans le ircbot session d'écran.

minestatusstart.sh – script qui démarre l'écouteur de mise à jour de minestatus. Nous ne voulions pas utiliser le plugin officiel minestatus, car nous estimions qu'il comportait de nombreuses vulnérabilités potentielles. SlowRiot a donc écrit une version bash beaucoup plus sûre et configurable, sans parler de la légèreté.

minestatusreply.sh – script qui écoute une requête de type minestatus et répond correctement.

whoedited.sh nom de fichier – script permettant d'accéder aux journaux d'audit pour savoir qui a modifié un fichier surveillé donné.

updatetorlist.sh – script exécuté par cron toutes les 6 heures pour mettre à jour la liste des noeuds d'exit TOR vérifiés.

clearemailconfirmrequests.sh – utilisé pour effacer la demande de confirmation d'email de l'enregistrement Confirmez avec y ou oui. Devrait être fait régulièrement.

Messagerie & notification

informationbroadcast.sh – envoie l'un des nombreux conseils au hasard. Appelé par cron.

mcron – *. sh – produit des citations littéraires dans le jeu sur plusieurs sujets pertinents. Utilisé pour être appelé par un script automatisé – actuellement non connecté.

saybashquote.sh – screen-raye bash.org pour les joueurs et les dépose en jeu. Appelé à l'origine par cron. Maintenant désaffecté.

sendtoirc.sh – oblige le bot à dire quelque chose dans IRC. Utilisé comme composant dans de nombreux autres scripts.

tempwarning.sh – lance un avertissement indiquant que nous sommes dans un monde temporaire. Appelé par cron lorsque nous sommes sur un monde temporaire, ne l'utilisez pas sauf si nous le sommes.

warningredirection.sh – envoie un avertissement à utiliser sur la carte de redirection lors du déplacement des serveurs. Ne pas utiliser autrement.

warningtempworld.sh – comme ci-dessus.

warningtest1.sh – comme ci-dessus, pour une ancienne version spécifique de hmod.

Fonctionnalité Web

addusertogroup.sh – Ajoute un utilisateur à un groupe spécifié dans le fichier users.txt. Ceci est utilisé par le système de donation et, dans la plupart des cas, le fichier users.txt doit être modifié manuellement.

getbancounts.sh – génère des données d'interdiction dans un format approprié pour les graphiques Google sur le site Web. Appelé par cron.

getlastbancount.sh – calcule les interdictions totales d'hier et les écrit dans /var/www/minecraftonline/pages/banchartdata.txt. N'appelez pas cela manuellement!

getlastplayercount.sh – comme ci-dessus, mais avec le nombre de joueurs. N'appelez pas non plus cela manuellement, car cela écrit directement dans un fichier plutôt que d'afficher la sortie.

getplayercounts.sh – génère des données de connexion de joueur dans un format approprié pour les cartes Google sur le site Web. Appelé par cron.

getuniquecounts.sh – idem que ci-dessus, compte unique de joueurs

whobrokeit.sh – le script appelé par whobrokemyblock.html. Recherche une pause de bloc spécifique à un endroit particulier. Il produit une sortie en html mais reste utilisable depuis le shell, bien que chagrinsrecherche est beaucoup plus puissant.

Utilitaire de jeu

exec_privatemail.pl – Script de courrier privé pouvant être utilisé à partir de la ligne de commande. Utilisez-le comme la commande ingame, l'expéditeur sera MCO_SERVER.

exec _ *. sh – les scripts du plugin exec, référencés dans exec.conf. La plupart d’entre elles ne fonctionneront pas si elles sont appelées directement à partir du shell.

variables du plugin exec Les variables suivantes peuvent être mises à la disposition des scripts d'exécution, si le groupe requis est spécifié dans exec.conf pour une commande donnée:

none – Aucun paramètre

nom de joueur – nom du joueur et uuid uniquement

$ MCEXEC_PLAYERNAME

$ MCEXEC_PLAYERUUID

playercoords – Nom et coordonnées du joueur, ainsi que des informations sur l'élément en cours

$ MCEXEC_PLAYERX

$ MCEXEC_PLAYERY

$ MCEXEC_PLAYERZ

$ MCEXEC_PLAYERPITCH

$ MCEXEC_PLAYERROTATION

$ MCEXEC_PLAYERWORLD

$ MCEXEC_PLAYERITEMID

$ MCEXEC_PLAYERITEMAMOUNT

$ MCEXEC_PLAYERITEMDAMAGE

$ MCEXEC_PLAYERITEMSLOT

playerworldedit – Nom du joueur, coordonnées et coordonnées de sélection WorldEdit, pour starte et Finish (ou Fd'abord et sselon comment vous voulez le regarder)

$ MCEXEC_WORLDEDIT_XF

$ MCEXEC_WORLDEDIT_YF

$ MCEXEC_WORLDEDIT_ZF

$ MCEXEC_WORLDEDIT_XS

$ MCEXEC_WORLDEDIT_YS

$ MCEXEC_WORLDEDIT_ZS

Un seul des éléments ci-dessus peut être spécifié et chaque autorisation supérieure hérite de la plus petite. Sélectionnez uniquement le minimum dont vous avez besoin pour éviter que le plug-in exec gaspille des cycles de processeurs collectant des données dont votre script n'a pas besoin.

commandes du plugin exec Ce sont les différentes commandes qui peuvent être appelées en utilisant remoteclient (/home/minecraft/remoteclient01a.py "commande") ou en les saisissant manuellement sur la console; l’utilisation et la sortie attendue sont données:

obtenir l'inventaire joueur – Obtient une seule chaîne représentant l'inventaire complet d'un joueur en ligne. Pour les lecteurs hors ligne, utilisez plutôt les outils inventoryinspect NBT énumérés ci-dessus.

résultats: [INFO] [exec] Inventaire du nom du joueur: emplacement | id: dégâts: compte, emplacement | id: dégâts: compte, emplacement | id: dégâts: compte

setinventory joueur inventorystring [notify] – Comme ci-dessus, mais définit tout l'inventaire d'un joueur en ligne en un seul coup au inventorystring du format spécifié ci-dessus (chaînes de slot séparées par des virgules | id: damage: count). Ceci vérifie la validité des créneaux. Si inventorystring est juste le mot clair, l'inventaire est effacé. Si notifier n’importe quoi, le joueur recevra un message disant "Votre inventaire a été modifié par le serveur". en jaune

résultats: [INFO] [exec] setinventory terminé avec succès.

prendre dans le passé nombre de données d'identification du joueur – Essayez de prendre un objet spécifié dans l'inventaire du joueur, avec identifiant, Les données (dommages) valeur et montant. Si Les données est -1, tout élément correspondant à cet identifiant sera pris quelle que soit la valeur du dommage, sinon le dommage est respecté (0 inclus).

résultats: [INFO] [exec] Le nom de joueur a été perdu avec succès: identificateur de dégâts

ou retourne: [INFO] [exec] Le nom de joueur n’a pas beaucoup d’éléments demandés, aucun n’a été supprimé.

dropitemat x y z id données [world] – Supprime un article dans le monde, avec spécifié identifiant et Les données (dommages) valeurs. monde est optionnel et peut être bas ou Ordinaire, si non spécifié, la valeur par défaut est normale. Ne fonctionne que dans les morceaux actuellement chargés.

résultats [INFO] [exec] dropitemat réponse: id: dégâts: x: y: z: monde

se bloquer x y z [world] – Obtient des informations sur un seul bloc dans le monde aux coordonnées données. Renvoie 0 pour id et data si le bloc est dans un bloc non chargé (comme s'il s'agissait d'air). monde est optionnel et peut être bas ou Ordinaire, si non spécifié, la valeur par défaut est normale. La commande renvoie des coordonnées, qui doivent toujours être identiques à celles spécifiées. Les coordonnées hors limites interrogent toujours, et doivent simplement renvoyer 0 comme pour l'air.

résultats: [INFO] [exec] réponse getblockat: id: dégâts: x: y: z: monde

setblockat x y z id données [world] – Comme ci-dessus, mais écrit un bloc dans le monde. Ne fera rien si le morceau n'est pas actuellement chargé. Peut rompre l'univers s'il est utilisé en dehors des limites. monde est optionnel et peut être bas ou Ordinaire, si non spécifié, la valeur par défaut est normale. Il acceptera uniquement les identifiants de 0 à 255, mais spécifier un identifiant qui ne correspond pas à un blocage de jeu plantera tout client qui essaiera de le charger. ne créez pas de blocs d'identification inexistants! Ceci et la commande ci-dessus peuvent être utilisés pour rechercher des morceaux chargés, mais ce test est par définition "destructif" et potentiellement dangereux.

résultats: [INFO] [exec] setblockat response: id: dégâts: x: y: z: monde

getplayerinfo joueur – tire un paquet d'informations sur l'état actuel d'un joueur en ligne; c'est un aliment de base de l'exec.

résultats: [INFO] [exec] Réponse de getplayerinfo: x: y: z: rotation: pitch: monde: santé: tenu

setplayerhealth joueur [rel] montant – Ajuste la santé du joueur, soit la règle absolument de 0 à 20 si rel n'est pas spécifié, ou l'ajuste (si rel est utilisé) par montant par rapport à la santé des joueurs existants.

résultats: [INFO] [exec] Réponse de setplayerhealth: currenthealth

sendmsgtoall message – Diffuse le message exact à tout le monde dans le jeu, sans préfixe. Utilisé par le bot IRC, entre autres.

résultats: [INFO] [exec] Message à tous envoyé avec succès.]

sendmsgtoplayer message du joueur – comme ci-dessus, mais envoie message 'à spécifié joueur seulement.

résultats: [INFO] [exec] Message au joueur nom de joueur envoyé avec succès.

sendmsgtogroup message de groupe – comme ci-dessus, mais envoie message à spécifié groupe seulement.

résultats: [INFO] [exec] Message au groupe nom du groupe envoyé avec succès.

spawnmonsterat x y z [monster] [world] – fraie un spécifié monstre aux coordonnées données. Si monstre n'est pas spécifié, un cochon est engendré. Le monde peut être bas ou Ordinaire, si non spécifié, la valeur par défaut est normale.

résultats: [INFO] [exec] réponse spawnmonsterat: x: y: z: type de mobile: monde

savetolog message de niveau – Écrit un message de journal personnalisé. Le niveau est l'un des Info, sévère ou Attention.

résultats rien, c’est la seule commande silencieuse. Il serait stupide de consigner l’utilisation de la commande de consignation.

télécommande commande de joueur – exécuter commander comme si joueur l'avais tapé dans le chat. Cela peut inclure le chat lui-même; Les commandes slash se comportent comme prévu, en totalité avec les paramètres, etc. Cela donne temporairement au joueur le droit d'exécuter la commande qu'il appelle, s'il ne l'avait pas autrement. Ceci peut être utilisé avec d'autres scripts exec pour une complexité possible sans fin.

résultats: [INFO] [exec] Essayer d'exécuter "commande" pour le nom de l'utilisateur

courroux du tonnerre x y z – Ceci est fourni par LionsCommands plutôt que par exec. Pareil que / colère du tonnerre Commande dans le jeu avec les coordonnées, il déclenche un éclair à l'endroit spécifié.

résultats: [lionsCommands][ConsoleCommand] Le serveur a émis un coup de foudre à x y z

Plugins du panneau de contrôle

cpplugin_ * – des scripts pour l’API du panneau de contrôle, comme indiqué dans cpplugin.conf et démontré dans cpplugin_example.sh. Celles-ci sont exécutées par l'utilisateur Web pour différents onglets du panneau de configuration, selon le cas. La plupart d’entre elles ne fonctionneront pas si elles sont appelées directement à partir du shell.

variables cpplugin Les variables suivantes sont mises à la disposition de tous les scripts cpplugin:

$ WEBCP_ACTION – action demandée (sous-code d’URL, c’est-à-dire "exemple")

$ WEBCP_USERNAME – nom d'utilisateur du lecteur parcourant le panneau de contrôle

$ WEBCP_ISMOD – vrai si le lecteur est un mod, faux autrement

$ WEBCP_ISADMIN – vrai si le lecteur est un administrateur, faux autrement

$ WEBCP_DATADIR – le répertoire de données du joueur (par défaut / home / minecraft / freedonia / playerdata) – cela devrait toujours être utilisé plutôt que de spécifier manuellement ce répertoire

$ REMOTE_ADDR – l'adresse IP du joueur qui visite (toutes les autres variables standard d'Apache sont également disponibles)

$ REQUEST_METHOD – non plus OBTENIR ou POSTER

$ QUERY_STRING – la OBTENIR demande complète

Misc

base36to10.sh – conversion des nombres en base36 en nombres décimaux, utilisés pour les calculs de localisation de blocs.

Inutilisé

banmessage.sh – script prototype de message d'interdiction inutilisé.

blogspam.sh – script obsolète pour notifier dans le jeu quand notch met à jour son tumblr.

drawhomesmap01a.sh à drawhomesmap02a.sh – traceur de carte de maisons obsolètes, maintenant remplacé par une carte en temps réel.

getmaplatlang.sh – script incomplet destiné à convertir les coordonnées mondiales en cartes lat et lang.

getmarkedchunks.sh – obtenir la liste des fichiers de morceaux entre les coordonnées marquées par les chaînes spéciales marqueur1 et marqueur2. N'a plus d'utilisation depuis mcregion.

griefsummary.sh – script de traitement de grieflog obsolète pour obtenir des statistiques à partir du journal de la veille. Les journaux sont maintenant trop compliqués pour un script aussi simple.

lockmarkedchunks.sh – script obsolète pour protéger en écriture certains morceaux, qui ne fonctionne plus depuis mcregion.

unlockmarkedchunks.sh – script obsolète pour protéger en écriture certains morceaux, qui ne fonctionne plus depuis mcregion.

movechunks.sh – obsolète depuis mcregion

populatebannednpcs.sh – crée des NPC dans le fichier de configuration NPC pour chaque joueur banni. Cela casse npc et la plupart des clients les regardent.

readlog.sh – analyseur de journal obsolète

restorechunks.sh – restaurer les morceaux sélectionnés à partir de la sauvegarde – obsolètes depuis mcregion.

Fichiers et répertoires Il s'agit d'une liste de fichiers de configuration et d'emplacement de journal pertinents qui peuvent être examinés et manipulés manuellement si nécessaire.

La plupart des modifications de ces dernières nécessiteront la publication du /recharger commande en jeu par un administrateur ou un modérateur. Les fichiers de configuration spécifiques aux plugins nécessiteront / reloadplugin par un administrateur. Veuillez noter que tous les plugins ne peuvent pas être rechargés en toute sécurité au moment de l'exécution, et certains nécessitent un redémarrage complet du serveur, notamment GriefAlert, qui produit des événements de journalisation en double (entraînant une double perte de géniteurs), et WorldGuard (qui a tendance à laisser tomber protection).

Configs

admins.txt – lien symbolique vers utilisateurs.txt

antixray.txt – liste des identifiants de bloc que la protection xray du canari doit masquer.

allowedmobspawns.txt – La liste des mons donneurs de dieu peut apparaître.

banned-ips.txt – fichier d'interdiction ip. Pas généralement utilisé.

banned-players.txt – Liste des joueurs interdits. Très fréquemment recherché des noms de chagrin. Les noms de joueurs sont tous en minuscules.

bans.txt – La liste actuelle des joueurs bannis de Canary, au format nom d'utilisateur: raison de l'interdiction: temps restant (pour les interdictions temporaires, que nous n'utilisons pas).

blockcolourids.txt – liste des dommages et nom de couleur relatif pour des blocs tels que laine, tapis, argile teintée, vitrail et vitre en verre teinté.

borderlands.properties – Fichier de définition du plugin BorderLands qui empêche les joueurs de sortir d’un cercle de diamètre défini.

border.txt – centre de la frontière et définition de la taille du plugin BorderLands. Fixé à un diamètre de 18 km, centré sur le Nexus central.

chaudron-recettes.txt – liste de recettes de chaudron non utilisées pour Craftbook (désactivée ici)

cb-cartcraft-recipes.txt – fichier pour recette artisanat minecart

CommandOnPlayers.txt – fichier de définition des permissions pour le plugin CommandOn, laissé par défaut

CommandOn.properties – fichier de configuration pour le plugin CommandOn, laissé par défaut

CommandOn.txt – fichier de définitions pour le plug-in CommandOn, il définit tous les messages PVP et le mode admin dieu.

craftbook-books.txt – les lignes de livre par défaut pour les étagères sur lesquelles vous avez cliqué avec le bouton droit de la souris, utilisées par Craftbook lorsqu'aucun signe de livre n'est placé sur l'étagère.

craftbook.properties – fichier de propriétés pour Craftbook, définit ce qui peut ou ne peut pas être utilisé, ainsi que les paramètres de minecart.

cuboidPlugin.properties – Fichier de propriétés pour Cuboid, beaucoup de ces paramètres sont inutilisés.

custom-ics.txt – définitions de circuits intégrés personnalisées pour Craftbook, non utilisées actuellement.

damagenames.txt – liste des blocs et des noms pour des valeurs de dommages spécifiques.

donationerrorlog.txt – journal des erreurs pour le système de don, écrit au moment du don. Non accessible à l'utilisateur de minecraft pour des raisons de confidentialité.

donationlog.txt – journal complet pour le système de don, rédigé au moment du don. Non accessible à l'utilisateur de minecraft pour des raisons de confidentialité.

endermanblocks.txt – La liste des blocs de Canary que l'enderman peut récupérer, pour le nerf enderman interne.

exec.conf – Fichier de définition du plugin exec, spécifiant les commandes à écouter et les scripts ou programmes shell à exécuter.

geardurability.txt – liste des articles d'équipement et leur valeur de durabilité maximale.

griefAlert.properties – paramètres du plugin GriefAlert pour quels blocs sont enregistrés, voir RegardéBlocks.txt.

groupes.txt – fichier de définitions pour les différents groupes d'utilisateurs, définit les autorisations, les commandes et les préfixes des donneurs et des modérateurs.

homes.txt – liste des coordonnées du joueur à la maison utilisées par Canary.

items.txt – liste des blocs et des éléments, ainsi que leurs identificateurs numérique et nom. Tenu à jour à chaque sortie, il s’agit du fichier directement référencé par Canary.

kits.txt – Fichier de définition des kits donneur et modérateur obtenu à l'aide du logiciel /trousse commander.

lionsCommands.properties – fichier de configuration pour les substitutions par les commandes lions, en particulier la commande / who et les données / ban supplémentaires.

lionsMod.properties – fichier de configuration pour les propriétés générales dans lionsMod. La plupart de ceci n'est pas utilisé sur ce serveur.

lionsShop.properties – Le fichier de configuration du plug-in LionsShop ne définit actuellement que les détails des taxes de la boutique.

lwc.properties – fichier de configuration de base pour LWC. Principalement par défaut.

lwc.db – le coffre verrouille les données et limite également les réglages du LWC. Format Sqlite, ouvrable avec sqlite3 lwc.db "quelle que soit la commande".

minecraftgift_ids.txt – liste des blocs et des éléments (en identifiants de nom) pour minecraftgift.sh (cadeaux horaires) et exec_randomgift.sh (/ cadeau aléatoire).

mineremote.ini – Configuration pour le multiplexeur, spécifie le fichier .jar à lancer.

motd.txt – Le message du jour du fichier Canary en cours, séparé de server.properties.

muet-joueurs.txt – Fichier de persistance de Canary pour les sourdines du joueur. Non utilisé chez MCO.

npcs.properties – config pour le plugin NPCs qui n'est pas utilisé actuellement.

ops.txt – serveur officiel ops, utilisé uniquement par le serveur van de Notch.

playerlist.txt – fichier généré automatiquement par listplayers.sh.

server.properties – le fichier de configuration principal du serveur minecraft, il définit le comportement du serveur vanilla lui-même ainsi que certains détails canaris. Le frai, le nom du monde, etc. sont définis ici. La plupart des paramètres nécessitent un redémarrage pour prendre effet.

stackableitems.txt – liste des éléments dont le nombre maximal de piles n'est pas 64.

torlist.txt – liste des ips de noeud de sortie TOR connus, mise à jour automatiquement par updatetorlist.sh.

teamspeaklist.txt – fichier généré automatiquement par listteamspeak.sh.

utilisateurs.txt – le fichier de définition de l'utilisateur principal, qui spécifie les joueurs et les rangs – tous les administrateurs, les modérateurs et les donateurs, ainsi que les préfixes personnalisés des modérateurs de donateurs.

warps.txt – Fichier de définition listant les noms de chaîne et leurs coordonnées.

RegardéBlocks.txt – Fichier de définitions pour ce que chaLeverAlert devrait regarder.

white-list.txt – liste des joueurs pouvant se connecter en mode liste blanche. Utilisé uniquement pour le débogage occasionnel du serveur.

liste blanche. – comme ci-dessus

worldedit.properties – Fichier de configuration pour le plugin WorldEdit.

worldedit-restrictions.txt – Fichier de définition des autorisations pour WorldEdit. Non utilisé actuellement.

worldguard-blacklist.txt – Liste noire et liste de notification d'utilisation de blocs et d'articles. Non utilisé actuellement, utilisez GriefAlert à la place.

worldguard.properties – Fichier de configuration pour WorldGuard, qui empêche la propagation du feu, les incendies de lave, les explosions TNT et creeper, les connexions multiples et quelques autres bits.

monde / craftbook / aires / ~ Nom d'utilisateur / areaname.cbcopy – WorldEdit a enregistré des zones pour les zones basculables avec Craftbook.

monde / craftbook / warps.txt – liste de cbwarps craftbook, principalement utilisés pour le lien.

/etc/mediawiki/LocalSettings.php – configuration du wiki.

/var/www/minecraftonline/cgi-bin/kitprices.txt – Fichier de définition du kit de donation et liste de prix.

/var/www/minecraftonline/cgi-bin/materialprices.txt – Fichier de définition du matériel de donation et liste de prix.

Fichiers d'informations du joueur Ce sont tous les fichiers du répertoire de données du lecteur, par défaut / home / minecraft / freedonia / playerdata, cet emplacement est disponible pour les scripts cpplugin en tant que variable $ DATADIR. Chacun de ces fichiers est spécifique au lecteur, il n’est donc pas nécessaire de rechercher un fichier particulier; pour obtenir l'adresse email de SlowRiot, il vous suffit de cat $ DATADIR / email-SlowRiot.txt.

deathlog-nom de joueur.txt – Journal chronologique des décès de joueurs au format AAAA-MM-JJ hh: mm: ss: x: y: z: monde: cause ou AAAA-MM-JJ hh: mm: ss: x: y: z: monde: pvp_.

email-nom de joueur.txt – adresse e-mail du joueur.

emailconfirmaddress-nom de joueur.txt – Fichier temporaire utilisé pour conserver les adresses e-mail en attente de confirmation.

emailconfirmhash-nom de joueur.txt – Fichier temporaire contenant un hachage unique associé à une adresse électronique afin de le confirmer.

emailperms-nom de joueur.txt – Si nous avons la permission de désinscription pour envoyer un courriel à ce joueur, vrai ou faux.

facebook-anniversaire-nom de joueur.txt – Anniversaire du joueur, s’ils ont un compte facebook lié, au format MM / JJ / AAAA (format de date américain)

facebook-genre-nom de joueur.txt – Sexe du joueur, si spécifié sur facebook et disponible pour l'application facebook.

facebook-timezone-nom de joueur.txt – Décalage de l'heure par rapport au temps GMT pour le joueur, selon Facebook, s'il est connu

facebook-uid-nom de joueur.txt – Facebook UID, everyone has one of these if they link their account, so this is the best file to check to see if they've linked with facebook.

facebook-username-playername.txt – Facebook username, this is the optional quasi-url you can set (such as facebook.com/slowriot)

firstjoin-playername – Date and time, in the format YYYY-MM-DD hh:mm:ss – note the lack of trailing .txt, as an artefact of previous bad programming

friendlist-playername.txt – Line by line list of a player's friends, in order of addition.

passhash-playername.txt – Salted hash of the player's control panel password, against which login attempts are checked. Not possible to reverse this to get a plain-text password.

referrer-playername.txt – Web referrer as determined by the firstjoin portion of the exec_reportin.sh scénario.

referringplayer-playername.txt – Name of a player they put as their referring player when registering.

reputation-pos-playername.txt – Line by line list of the people who have given this player good reputation.

reputation-neg-playername.txt – Line by line list of the people who have given this player bad reputation.

session-playername.txt – Session id for a control panel login. Stored in a cookie given when logging in, this is tracked and rotated as a security measure.

settings-privateprofile-playername.txt – Control panel setting toggle for whether to show a control panel profile to non-logged-in users, either vrai ou faux (CURRENTLY UNUSED – see below opt-out instead)

settings-publicprofile-playername.txt – Control panel setting toggle for whether to hide a control panel profile from non-logged-in users, either vrai ou faux.

settings-showemail-playername.txt – Control panel setting toggle for whether to show the player's email address on a control panel profile, either vrai ou faux.

settings-showflag-playername.txt – Control panel setting toggle for whether to show the player's geo-ip country flag on their profile, either vrai ou faux.

settings-showfriends-playername.txt – Control panel setting toggle for whether to show a player's friends list on their profile, either vrai ou faux.

settings-showgeoip-playername.txt – Control panel setting toggle for whether to show geographical ip location in detail on their profile, either vrai ou faux.

settings-showhome-playername.txt – Control panel setting toggle for whether to show the player's in-game home location on their profile, either vrai ou faux.

smsperms-playername.txt – Whether we have permission to send the player SMS messages (not currently implemented), either vrai ou faux.

tpaliases-playername.txt – Line by line list of /tpto aliases, in the format name:x:y:z:pitch:rotation:world où monde is 0 for normal, -1 for Nether or 1 for End.

There are a number of subdirectories for specific subsystems also. bastetfurry's banking system stores its data in its own directory:

banking/accounts/accountnumber – Accounts may be shared between players, and are stored here by number.

banking/players/playername – Each player file contains a line-by-line list of the accounts they can access.

The private messaging system by bastet stores its message data here:

messaging/playername – email to playername. Please refrain from accessing this data or searching it automatically unless there is an actual bug to fix; this may contain sensitive private data, and it is our responsibility to protect the players' privacy.

Unused

banned.txt – obsolete ban list for Notch's vanilla server

botmacros.txt – obsolete list of server keyword tips

itemids.txt – obsolete item list, instead use the file below…

leafDropperItems.txt – obsolete file for a plugin we no longer use which used to fix leaf decay before notch finally got around to it.

leafDropper.properties – as above.

protectedCuboids.txt – obsolete cuboid data file (this data is now in ~/cuboids/)

reservelist.txt – unused, list of players who have reserve slots even when the player limit is reached.

sessionProtect.txt – obsolete, the settings file for a plugin we no longer use that used to prevent multiple logins.

vanish.properties – obsolete config file for an invisibility plugin that never quite worked properly.

white-list.txt – unused, server whitelist file for player names. Occasionally activated for debugging the server.

Tips and tricks Général

Always use agréable if running any search or other cpu-intensive command that's likely to take more than a second or so. Otherwise you risk causing lag on the server for the duration of your command.

Use the pager plus to read and search through long output, for instance | plus. You can search within the most buffer by pressing /, and going to the next and previous results with n et shift-n respectively.

grep

Always use fgrep au lieu de grep unless you're specifically using regular expressions. It's somewhat faster.

Don't use the -je (case jensensitive) option for grep unless you specifically need it. It increases search time and workload exponentially to the length of your search string.

System monitoring

Utilisation Haut to see what's going on with the system.

Utilisation ps auxf to get a detailed process list. Works well if piped to plus.

Sample one-liners Here are some useful example one-liners that you can try pasting in the terminal and amending to suit your requirements for various kinds of data-gathering. Simply copy and paste these on one line.

Search the new log format for griefstick use, and amount of each block broken, and return the results in natural language:

IFS=$'n'; for blockid in `nice fgrep griefstick griefAlertLogs/*.log | cut -d : -f 7 | sort | uniq -c | sort -n | tr -s ' '`; do blockname=$(nice fgrep $blockid##* items.txt | head -n 1 | cut -d : -f 1); echo "$blockname broken$blockid% * times"; terminé

Search the new log format to see who's been naughty by breaking adminium with the modstick:

nice fgrep "griefstick:7:" griefAlertLogs/*.log | cut -d : -f 5 | sort | uniq -c | sort -n | tr -s ' '

Search a combined pair of standard and grief logs, for just results for the players GodlyCheese and ralfie, and browse through them with a pager (useful for finding the events and interactions leading up to a ban, for instance):

cat logs/server_1306022688.log griefAlertLogs/1306022690.log | sort | grep "Godly|ralf" | fgrep -v Connected | plus

Compare the online hours of all registered users (mods, admins and donors) and display the top ten (this takes a while to run!):

for name in `cut -d : -f 1 /home/minecraft/users.txt | fgrep -v '#'`; do echo $(egrep -h "[INFO] Connected players: .*$name" /home/minecraft/logs/*.log | cut -d ':' -f 1 | uniq | wc -l): $name; done | sort -n | head -n 10

Scan all ban history, and display any error bans that have not been unbanned but have never visited Freedonia (this is VERY slow – expect ten minutes upwards):

IFS=$'n'; for banline in $(fgrep "[lionsCommands][ADMIN] " logs/*.log); do ban=$(echo "$banline" | cut -d ' ' -f 7); banner=$(echo "$banline" | cut -d ' ' -f 5); if find freedonia/players/ | fgrep -iq $ban; then >/dev/null; else if fgrep -iq "$ban" "banned-players.txt"; then echo "$ban banned by $banner"; if grep -iPq "b€banb [.*] logged in" logs/*.log; then echo "(but HAS visited)"; fi; fi; fi; done

Scan donation log for material purchases, and display in ascending order of popularity:

for idline in $(/home/minecraft/getdonorinfo.sh | fgrep material | cut -d ' ' -f 7 | cut -d '_' -f 2 | cut -d '-' -f 2 | sort | uniq -c | tr -s ' ' | sort -n); do idcount=$(echo $idline | cut -d ' ' -f 2); id=$(echo $idline | cut -d ' ' -f 3); idname=$(grep ":$id$" /home/minecraft/items.txt | head -n 1); echo "$idname($id) x€idcount"; terminé

Show all of a player's LWC-locked chests:

sqlite3 lwc.db "select * from protections where owner = 'playername';"

Voir également

Click to rate this post! [Total: 0 Average: 0]

Topics and keywords

Themes: Serveur minecraft

License & attribution

License: CC BY-ND 4.0.

Attribution required: yes.

Manifest: https://tutos-gameserver.fr/llm-endpoints-manifest.json

LLM Endpoints plugin version 1.1.2.