Minecraft log parser for all servers

StatsI haven’t coded in a long while. So I really felt like making something again. Since we are running a Feed the Beast Unleashed Minecraft server, I really wanted to do something with that.

There are hundreds of plugins available for Minecraft servers. Since Feed the Beast is already a very massive framework, it’s just not feasible to add another plugin. The load on the server is tremendous as it is. And what if something changes in a plugin? Will it break? And what if someone uses Bucket-server? So, loads of reasons not to make a plugin.

So something that doesn’t need a plugin!

We decided to look what the vanilla logging of the server brings us. And that brings us to a vanilla log parser 🙂

Luckily for me Tom would visit my newyears – lanparty too. And he’s an experienced coder and also has some affinity with Minecraft. That seems like a good start!

Less lucky for me was the way Tom kept raising the bar :D. If we were to cooperate, we should use Github. When I insisted on using Python, he insisted on using PyCharm. An editor I strongly disliked, because I have Notepad++ which is much more easy to use. After using PyCharm for a short while I got used to it and now I don’t understand how I ever coded without it. The testing routines, the marking of errors and other stuff make it very nice to program in!

PyCharmWe both started working on different parts of the program, getting familiar with pulling and pushing code to github. The last part has greatly improved the fun: pulling from github on the server itself! After committing code, we just pull it on the server 🙂

A nice introduction to some new concepts and brushing up my insignificant coding skills! And a very nice and fun collaboration with Tom!

Since it parses vanilla logs, you only need access to your server-logs. You have to be able to run python and then you are set!

At this moment it has the following features:

  • Shows online time, deaths and deaths burndown
  • Supports displaying userskins when you add them to the folder playerskins (150x150px)
  • Supports displaying monsters when you add their pictures to the folder images
  • Generates a stats.html in the html directory which you can display on a webserver.
  • When you run Dynmap you can config mc_settings. It enables you to:
    • chat “!deaths” and get an answer ingame!
    • chat “!norris” and get a quote
    • chat “!ping” and see if it’s running
    • chat “!lastseen username” and see when a user was online
    • chat “!sage” to see the longest member of your server
    • chat “!ubernerd” to see who invested the most hours in your server

You can pull our project here:

https://github.com/tjclement/Minecraft-Log-Parser

And an example of what it brings you:

logparser-results

 

About Steph

Organiseert onder meer CampZone en The Party voor Duh-Events, houdt van gamen en content toevoegen aan het internet :). Werkt bij Sligro als teamleider van de ICT projecten organisatie.
This entry was posted in Algemeen nieuws, Software, Techniek and tagged , , , . Bookmark the permalink.

5 Responses to Minecraft log parser for all servers

  1. Tom Clement says:

    It was great working with you on this Steph, nice blog post!

  2. Mark says:

    Why is there no death-by-tnt in the overview? 🙂

  3. Rob says:

    Nice, although I don’t play Minecraft, I didn’t know PyCharm and will give it a shot 🙂

  4. Pingback: Programmeren in Python | Steph's blog

Leave a Reply