Eagle Eye
Know what happens on your server !
EagleEye is a very simple and lightweight plugin who logs the events which happen on the server. It puts this infos in text files so you can find out what happened just by clicking on a file.
These things are written in log files, with the date they have been made:
- when a player connect/disconnect/is kicked (display player IP and world)
- when a player speak in the chat (display the message and if this message whas modified or created by a plugin or by the server)
- when a player try to do a command (display the command and the name of the plugin's command)
- when a player use an item or a block, like a chest or a sword (display the name of the player, his location, the name of the item/block he used)
- when a player break a block (display the name of the player, his location, the tool he used, the name of the block and its location)
- when a player place a block (display the name of the player, his location, the name of the block and its location)
Understand what is written !
EagleEye supports english and french natively. You don't need any file modification to change the language used by EagleEye: just type a command and EagleEye will change immedialty his language, in the chat or the server console, but in log files too.
And on top of that, this translation does not use any external file, everything is embedded in the plugin.
Since v1.3.2, the server's language is detected automatically so you don't have to do anything !
Keep log files clean without losses !
EagleEye clear automatically the log files when they are too big, according to the configuration you decided. But the informations aren't lost: they're moved to an other file which is compressed.
Save space storage !
With a simple command, you can compress and delete the EagleEye's files. It's very useful to make saves of your logs.
You can compress (and delete if you want):
- every old log files (results of a log clearing, they are in the /old_logs folder)
- every new log files (the files not yet cleared, they are in the /new_logs folder)
- every files of the EagleEye plugin (everything in the /plugins/EagleEye folder, include old logs, new logs, configuration's file and EagleEye.jar)
And besides, you can extract .zip archives to restore your files.
Stay up to date !
EagleEye include an updates checker (you can disable it if you want). It means when you start or reload your server, or when you type the command /ee-update check, EagleEye will tell you if he is up to date, if a new update if available or not.
Since v1.3.0, you can see the description of the new version and it new awesomes features. You're also able to get informations about the current version of EagleEye you use. Isn't it awesome ?
Compatibility
EagleEye 1.3.3 is compatible with these craftbukkit versions:
- 1.5.x
- 1.6.x
- 1.7.x
@TheElectronWill
Nope, I Checked my hard drive it warned me of saying i had very little space and i had actually 12mb free. it took out my HARD DRIVE not my server memory.
Salut,
Merci pour la mise à jour! Tu as été plutôt réactif ^ ^
Pour la page de présentation, je crois que tu as confondu since avec until xD (là ça veut dire que depuis aujourd'hui, il y a eu 2100 téléchargements).
Deux trois retours sur la dernière version :
- Rien dans le fichier config.yml pour la fonctionnalité ajoutée (choix de la taille du log à laquelle il sera nettoyer) (même après suppression du config.yml et reboot du serveur) (personnellement j'y toucherais pas, je connais pas les performances de java pour l'écriture en fonction de la taille des fichiers xD)
- Dans commands.log il n'y a pas d'espace entre le pseudo et le monde : [21/10/2012 | 16:14'3] Pseudo(World): /gm 1
- Par rapport à la date, est-ce que ce serait possible de mettre la date et l'heure exacte de l'action du joueur et non la date et l'heure auxquelles le plugin à démarrer? Explication :
Serveur .log (avec les heures exactes) :
Commands.log (avec l'heure d'activation du plugin) :
Par rapport au site, en cliquant sur download en haut, il se met sur la page du converter. Il faudrai surement que tu passes le converter en beta pour que EagleEye soit le téléchargement par défaut (ce qui a du induire en erreur toguno justement xD).
Encore merci pour ton taff ^ ^
Bonne soirée
@TheElectronWill
Salut,
Je trouve que c'est plus intelligent de dire à un dévellopeur qu'il y a un bug dans son programme plutôt que de dire que c'est de la merde qui marche pas et de chercher un autre programme similaire xD. D'autant qu'après, ça permet au projet de progresser ^ ^
Et puis il y a des bug qu'un seul utilisateur ne verra pas forcément tout de suite, et pour pouvoir "tout" tester soi-même, ça demanderai un temps énorme. C'est pour ça que je pense que dès qu'on trouve un bug il faut le signaler! Mais bon malheureusement tout le monde ne pense pas comme ça -_-
Bon courage
@SenNoBaka
Merci, je vais voir ça ! Finalement, c'est bien les gens qui préviennet des bugs: ça permet à nous, développeurs, de savoir ce qui ne va pas et de le corriger rapidement ;)
@toguno
What errors do you have ? What does't work ? If you have the Converter, you must have EagleEye too ! The converter is NOT the plugin !
the plugin isn't working for me? any suggestions
Re Bonsoir,
J'ai encore un bug à reporter ( et je préviens, non je ne suis pas un oiseau de malheur)!
Il y a un problème au niveau de la gestion des logs dont la taille est tros grosse. (le système introduit apparement dans la 1.0.3 : Addition of a system that clear the logs files that are too big (the contents of this file is copied into the folder "old_logs"). It reduces the lag caused by file writing. )
J'ai mes logs place (100,9 Ko) et break (66,6 Ko) dont le contenu n'a pas été vidé, et j'ai dans old_logs : 9-16(741)-place.log (61,7 Mo) et 9-16(741)-break.log (24,1 Mo). Si via la console linux j'utilise la commande "sort fichier.log | uniq > test.log " ( je trie le fichier et je supprime les doublons) j'obtiens pour break.log et pour 9-16(741)-break.log un fichier de 44,0 Ko.
Donc apparement, à partir d'un certain seuil relativement bas de poids (EDIT : après avoir supprimé le dossier old_logs, et avoir placé et détruits plusieurs cubes, le dossier et les logs "archive" n'ont pas été recréés, bien que le poids soit suppérieur à précédement. Donc y aurait-il un appel non voulu à une partie des commandes d'optimisation?) , les fichiers logs sont copier dans leur "archive" dans old_logs en mode ajout, mais ne sont pas vidés, et donc à chaque ajout par action d'un joueur, ils sont à nouveau copié dans leur "archive". (j'ai vérifié dans le 9-16(741)-break.log via grep et wc : je retrouve la première ligne 662 fois).
Voilà, j'espère que j'ai bien expliqué le problème ^ ^ !
J'espère que ça va pas trop te casser la tête.
Bonne soirée
@TheElectronWill
oki, pour le coup tu n'as pas trainé pour trouver le tout oO.
Les oublis c'est malheureusement toujours là où il ne fallait pas >< !!!
Pour la sortie de la version corrigée, j'allais pas te harceler jusqu'à ce que ce soit fait xD, je sais ce que c'est que d'avoir une vie IRL ^ ^
Bonne continuation :-)
@SenNoBaka
J'ai trouvé comment corriger tout ça. Pour les espaces, je les avait juste oublié à un endroit(là où il ne fallait pas...). Et j'ai trouvé comment régler le problème des mois et lettre les heures au format 24h. Je sortirai la version corrigée dans quelques jours, quand j'aurais le temps.
@TheElectronWill
ok !
Bon courage pour solutionner tout ça! Je sais que la programmation peut être capricieuse (j'ai fais un peu de C/Cpp, de QT et du bash à mes heures perdues)
P.S :
@TheElectronWill
Pour Yoyuyi999, je pense qu'il parlais de la mémoire du disque dur. J'ai eu le problème avec la 1.0.4 : pour à peine 200ko de place.log, j'avais dans old_logs un place.log d'environ 1Go (j'avais qu'un joueur qui a construit quelque chose pendant 2 heures à peu près). D'ailleurs le place.log ne se vidait pas malgrès le remplissage du old_logs.
@SenNoBaka
En effet, je suis français ! (ça me simplifie aussi la tâche, pas besoin de Google traduction). J'ai regardé dans mes sources et, en fait, ça n'a rien à voir avec un problème de réglages. C'est juste que, en language Java, le premier mois de l'année porte le numéro 0 et non 1. Tout est donc décalé d'un mois, et ce sur tous les ordinateurs !
Pour ce qui est du problème des espaces, je trouve ça bizarre vu que j'ai ajouté des espaces exprès là où il en faut.
Je vais faire des tests et corriger les problèmes.
@TheElectronWill
J'ai cru voir dans ton autre plugin que tu parlais français, donc ça va me faciliter la chose !
En fait dans les logs d'EagleEye la date a un mois de retard.
Exemple : (je viens de me co juste pour casser un bloc pour avoir pile le moment) :
break.log :
[2012/9/16 | 11:51'28] {pseudo}a casséGRASS avecGRASS à: X: 306 Y: 65 Z: 104 (world)
console.log (ou server.log, je pense que chez mon hébergeur (verygames) ils l'ont renommé) :
Tue Oct 16 11:51:24 CEST 2012
[...] (retrait d'une partir du log pour la lisibilité :-))
13:00:14 [INFO] {pseudo}[/{IP}] logged in with entity id 1110 at ([world] 309.87838357103453, 65.1875, 98.96977967563988)
13:00:23 [INFO] Connection reset
13:00:23 [INFO] {pseudo} lost connection: disconnect.quitting
Après comme c'est hébergé par un professionnel, je ne pense pas pouvoir vérifier les variables d'environnement de java -_-.
EDIT :
le format date et heure n'était pas un problème xD (enfin pas pour moi), par contre il semblerais que l'heure dans le log soit l'heure à laquelle le plugin a été activé lors du démarrage du serveur, et non l'heure de la modification par le joueur. C'est un problème de chez moi ou volontaire?
@SenNoBaka
Thanks for the bug report, I'll fix it soon ! And thanks for your thanks ;)
The date problem append because, In Java, the first month of a year is number 0; so October is number 9 and not number 10. I'll try to correct this. NOTES:
@Yoyuyi999
I'm sûre that it's not 193gb but 193 Mb. You had 193Mb of 296 free ? So the server with EagleEye use only 103 Mb of RAM ! It's very little for a craftbukkit server !
If you had bugs with your computer, it's just because it need more RAM and because it's too old.
First sorry for my poor english, it's not my native lang!!!
@Yoyuyi999
I tried this plugin with v1.0.4 and had same problem, but after upgrading to v1.1.0 it seems that it was a bug of 1.0.4, so you can try the last version and then give your feedback again !
@ElectronGuigui :
Is that possible to have a per-world log? (Something like EagleEye/world1/*.log or EagleEye/world1-*.log (where * is destroy or place or the others) ). And I think that if it is possible, it could be a choice between current and proposed pattern in config file. ^^
I report you that it miss some space in log files : [{date}] {user}has breakedWOOD withWOOD at: X: 251 Y: 73 Z: 180 (World)
And for some unknown reason, today is 2012/9/16 in logs, als in console.log there is the correct date (Tue Oct 16 07:51:08 CEST 2012). So is that a misconfiguration of the server or a bug of the plugin?
And to finish with, thank you for your work, this plugin is helpful as I have some stupid player in my server -_-'
Don't Try this!!!! It took up my wholllllllle hard drive (I had 193gb free of 296!)! I had to delete this plugin then finally my computer had enough memory! do not get this plugin!
@satirenine
It's not a bad idea. I'll try this !
Could you make it log actions per item - receive, drop, place in chest, take from chest. So you'd have the complete history of an item, or as far back as you want to go.
I've just uploading the version 1.0.4 of EagleEye ! It has an updates checker and correct the crash at the start of the plugin !
I've just uploading the new version of EagleEye: the version 1.0.3. I hope that it will be approved soon.
@Katorone
I'll see ... But it is simpler to use a plugin like this without MySQL database, that is why there is none.