MyMineMin is a web based log parser to assist with administrating a Minecraft server. Works on desktop and mobile browsers access to give you a way to monitor activity on your server, even when your not logged into minecraft.
Minecraft, tested with vanilla 1.8 and spigot/bukkit (looking for more logs)
Web server (developed for Apache, but others should work too), can be on different server to minecraft
MySQL database, can be on different server to minecraft
PHP
PHP – Zlib (default on most installs, required as old logs are compressed)
Installation
Extract the files from the zip. There are 2 programs to install, the exporter script, and the web UI (User Interface).
These instructions assume you know how to run php scripts, upload files to servers, manage mysql databases.
Database
Create the database and update the file config/db.php
Run the SQL in the file install/install.sql on your mysql server, on many web servers you can use phpMyAdmin
Remove the installation directory if it’s web accessible
If you are running the exporter and UI on different servers, make sure that those servers can access the database, you may need to add their IP to the list of IPs that can access the database remotely.
Uploading
Single Server
If your web server and minecraft server are on the same server then copy all files across. Remove the install folder.
Multiple Servers
For web servers, remove the exporter and install folders.
Exporter
The script for exporting the data to the database is exporter/cron.php
For servers exporting data you will need to configure config/servers.php. This file contains the list of individual minecraft server installs to export. This does not need to be configured on the UI as details are read from the database.
First time, run at the command line with a user that has permission to read the minecraft log files. This will bulk load into the database and expose any errors. This process may take some time.
Run again to get an idea of the time it takes to parse the daily logs, remember most your users will probably play at night so allow more time.
Add exporter/cron.php to cron or other scheduling program at 10 – 60 intervals to suite your needs. Be careful to not have exports overlap, this will cause duplication issues. On many linux systems you can use a program called flock to force one instance only to run at a time.
UI (User Interface)
View the folder through a web browser after the export has run at least once.
Common Issues
Can not access/can not read errors Either $cfg[‘directory_minecraft’] is pointing to the wrong directory or the exporter doesn’t have read access to the files. For Apache you can either add www-data to your minecraft user group, or allow the files in the minecraft server directory to be read by all users (0775)
It’s really slow!!! Speed depends on the size of the log files and the speed of your web server. Because we are parsing log files every line of the file must be read, so it can take a while with large files.
Where’s the Auth? Currently use a password protected directory which most web servers have. Windows web servers IIS password protect directory and Apache .htaccess. Auth integration is in the works.
Let me know if you set it up and have have any tips etc... As I haven't had anyone set it up on Windows server. So there maybe some things to be aware of I would like to add to the installation instructions.
Finally 0.5 released after a lot of code refactoring and testing. I feel I finally have the basis of a good analytics tool. Essentially I’ve moved to 2 scripts, one exports the minecraft log data from logs and config files into a database. The second script reads that database displays it in an easier to read format, making logs a little more intelligible for admins.
I'm loving what I'm seeing so far. But I need some clarification. I've got it installed and everything seems to work except the server query. The server configuration file clearly states to use the external IP for querying. In my case the server is on the same machine as myMineMin. I am entering the hostname (which does correctly resolve on the same machine) yet I can't seem to get a successful connection but my IP is dynamic. So my questions are:
Does the program handle DNS resolution?
And where is the source of the query, the php or the viewers client?
Ooh and can you consider an option to strip out color codes?
/extensions/minecraft/mods_vanilla.php function query
It should resolve, but you may find dns being cache locally by the server. You could try 127.0.0.1 for localhost may work better.
Colour codes, yeah some people find them a bit much. I was thinking of adding ticket box at the top to hide joined/left/command
The UI is using bootstrap in /ui/assets/bootstrap
so you could use the bootstrap css generator and alter the colours.
Keep me posted, it's great to have feedback and helps me make it better and hopefully easier to install.
Okay so the query is run from the server rather than the client, ok so then yeah I should be able to resolve with local information. Okay, great.
Maybe it's just my syntax, would you mind providing a valid sample of the host line in servers.php assuming 127.0.0.1? Sadly I'm not terribly versed in PHP and this is a bit confusing
'host' => $_SERVER['SERVER_ADDR'],
Is it supposed to be
'host' => $_SERVER['127.0.0.1'],
#this is sort of what I would expect, but I am not sure
or
'host' => '127.0.0.1',
#this worked for me in that it ran the exporter, but it didn't connect when viewing the overview
I don't mind the color codes, when they're colored, the problem is the names on the list is displaying the codes (I don't know what the symbol is called, it vaguely resembles a Sim's simolian, looks like an S with a circle in the middle of it), rather than simply coloring them, or dropping the coloring codes all together. Using your demo as an example http://www.gamergeeks.nz/myminemin-demo/?log=latest, everywhere there's a name it looks like this on mine "§r§rdemoplayer0§r", which isn't functionality breaking. but it's not the easiest to read. The actual content displays with color codes as well.
I've not been able to get 127.0.0.1 either, I wonder if it's something to do with port binds. A bit beyond me. But if you use the local lan address say 192.168.x.x or 10.0.x.x or whatever your local range is that should work.
I've added a filter to remove §r codes for now and it will be in the next release (after some testing). Maybe in the future we can use them, but for now I'll just remove them.
I've not been able to get 127.0.0.1 either, I wonder if it's something to do with port binds. A bit beyond me. But if you use the local lan address say 192.168.x.x or 10.0.x.x or whatever your local range is that should work.
I've added a filter to remove §r codes for now and it will be in the next release (after some testing). Maybe in the future we can use them, but for now I'll just remove them.
Okay that did work, and thank you for considering the filter, If possible could you ensure that it applies not only to usernames but to the actual chat messages themselves as well? thanks!
I really like activity on this. There is one thing giving me trouble, and that's the chat log. I can't see messages sent in the game, except for commands player issued. Did I do something wrong or is chat still not finished yet?
Hey, turned out that I didn't do something to configure chats to be logged. So basically in confog/server.php and config/config.php, I have to list mods to use in the array. By default it had only vanilla, you can add mineversechat and so on to it. List of mods can be found under extensions/Minecraft/mods.
This is an awesome plugin, I really like it. Good job!!!
Hey, turned out that I didn't do something to configure chats to be logged. So basically in confog/server.php and config/config.php, I have to list mods to use in the array. By default it had only vanilla, you can add mineversechat and so on to it. List of mods can be found under extensions/Minecraft/mods.
This is an awesome plugin, I really like it. Good job!!!
Build 10, the map links older and newer, seem to take you back to the overview screen, (this may be due to lack of activity on my server, or a bug) but just bringing it to your attention
Web Based Minecraft Monitoring
MyMineMin is a web based log parser to assist with administrating a Minecraft server. Works on desktop and mobile browsers access to give you a way to monitor activity on your server, even when your not logged into minecraft.
(v0.2)
Demo (v0.2)
Forum: Support, bugs, questions
Features
Downloads
http://www.gamergeeks.nz/myminemin/downloads
Requirements
Installation
Extract the files from the zip. There are 2 programs to install, the exporter script, and the web UI (User Interface).
These instructions assume you know how to run php scripts, upload files to servers, manage mysql databases.
Database
If you are running the exporter and UI on different servers, make sure that those servers can access the database, you may need to add their IP to the list of IPs that can access the database remotely.
Uploading
Single Server
If your web server and minecraft server are on the same server then copy all files across. Remove the install folder.
Multiple Servers
For web servers, remove the exporter and install folders.
Exporter
The script for exporting the data to the database is exporter/cron.php
For servers exporting data you will need to configure config/servers.php. This file contains the list of individual minecraft server installs to export. This does not need to be configured on the UI as details are read from the database.
UI (User Interface)
View the folder through a web browser after the export has run at least once.
Common Issues
Can not access/can not read errors
Either $cfg[‘directory_minecraft’] is pointing to the wrong directory or the exporter doesn’t have read access to the files. For Apache you can either add www-data to your minecraft user group, or allow the files in the minecraft server directory to be read by all users (0775)
It’s really slow!!!
Speed depends on the size of the log files and the speed of your web server. Because we are parsing log files every line of the file must be read, so it can take a while with large files.
Where’s the Auth?
Currently use a password protected directory which most web servers have. Windows web servers IIS password protect directory and Apache .htaccess. Auth integration is in the works.
Give Command Generator | Tropical Fish Generator | Youtube Channel
Give Command Generator | Tropical Fish Generator | Youtube Channel
good luck on the updates!
Proud owner of MinerzPlaza
Give Command Generator | Tropical Fish Generator | Youtube Channel
Proud owner of MinerzPlaza
Give Command Generator | Tropical Fish Generator | Youtube Channel
Proud owner of MinerzPlaza
Added: Player login location map.
Added: Multi Server
Complete UI rewrite
Give Command Generator | Tropical Fish Generator | Youtube Channel
Finally 0.5 released after a lot of code refactoring and testing. I feel I finally have the basis of a good analytics tool. Essentially I’ve moved to 2 scripts, one exports the minecraft log data from logs and config files into a database. The second script reads that database displays it in an easier to read format, making logs a little more intelligible for admins.
Give Command Generator | Tropical Fish Generator | Youtube Channel
I'm loving what I'm seeing so far. But I need some clarification. I've got it installed and everything seems to work except the server query. The server configuration file clearly states to use the external IP for querying. In my case the server is on the same machine as myMineMin. I am entering the hostname (which does correctly resolve on the same machine) yet I can't seem to get a successful connection but my IP is dynamic. So my questions are:
Does the program handle DNS resolution?
And where is the source of the query, the php or the viewers client?
Ooh and can you consider an option to strip out color codes?
The query is in
/extensions/minecraft/mods_vanilla.php function query
It should resolve, but you may find dns being cache locally by the server. You could try 127.0.0.1 for localhost may work better.
Colour codes, yeah some people find them a bit much. I was thinking of adding ticket box at the top to hide joined/left/command
The UI is using bootstrap in /ui/assets/bootstrap
so you could use the bootstrap css generator and alter the colours.
Keep me posted, it's great to have feedback and helps me make it better and hopefully easier to install.
Give Command Generator | Tropical Fish Generator | Youtube Channel
Okay so the query is run from the server rather than the client, ok so then yeah I should be able to resolve with local information. Okay, great.
Maybe it's just my syntax, would you mind providing a valid sample of the host line in servers.php assuming 127.0.0.1? Sadly I'm not terribly versed in PHP and this is a bit confusing
Is it supposed to be
or
I don't mind the color codes, when they're colored, the problem is the names on the list is displaying the codes (I don't know what the symbol is called, it vaguely resembles a Sim's simolian, looks like an S with a circle in the middle of it), rather than simply coloring them, or dropping the coloring codes all together. Using your demo as an example http://www.gamergeeks.nz/myminemin-demo/?log=latest, everywhere there's a name it looks like this on mine "§r§rdemoplayer0§r", which isn't functionality breaking. but it's not the easiest to read. The actual content displays with color codes as well.
I've not been able to get 127.0.0.1 either, I wonder if it's something to do with port binds. A bit beyond me. But if you use the local lan address say 192.168.x.x or 10.0.x.x or whatever your local range is that should work.
I've added a filter to remove §r codes for now and it will be in the next release (after some testing). Maybe in the future we can use them, but for now I'll just remove them.
Give Command Generator | Tropical Fish Generator | Youtube Channel
Okay that did work, and thank you for considering the filter, If possible could you ensure that it applies not only to usernames but to the actual chat messages themselves as well? thanks!
I really like activity on this. There is one thing giving me trouble, and that's the chat log. I can't see messages sent in the game, except for commands player issued. Did I do something wrong or is chat still not finished yet?
Hey, turned out that I didn't do something to configure chats to be logged. So basically in confog/server.php and config/config.php, I have to list mods to use in the array. By default it had only vanilla, you can add mineversechat and so on to it. List of mods can be found under extensions/Minecraft/mods.
This is an awesome plugin, I really like it. Good job!!!
Hey, turned out that I didn't do something to configure chats to be logged. So basically in confog/server.php and config/config.php, I have to list mods to use in the array. By default it had only vanilla, you can add mineversechat and so on to it. List of mods can be found under extensions/Minecraft/mods.
This is an awesome plugin, I really like it. Good job!!!
The chat is much more tolerable now with the color codes stripped out, thank you
Build 10, the map links older and newer, seem to take you back to the overview screen, (this may be due to lack of activity on my server, or a bug) but just bringing it to your attention
Thanks mhollisjr, I'll investigate the map issue and hope to fix in the next release. The map needs a lot of work.
Give Command Generator | Tropical Fish Generator | Youtube Channel