If you’re a server owner, this is for you.
Several months ago I created a Windows Forms Application, that parses the server log generated off of the owner portal, and makes it 10 times easier to search, navigate, everything. I figured it was time to share this so that others may use this tool.
Please keep in mind, this is specifically for Windows and is a .exe file you have to download and run. It’s not quite as cool as the Message Bot.
What can it do?
The Console Log Reader can do a lot. It reads through the entire log file and then sorts out what is necessary and what is not necessary, making it way easier to read and understand. It also does a multitude of other things, like:
- Search for messages using a rough search or an exact search, with an optional username.
- Search for messages within a given range of dates.
- Save the parsed log into a new file, so it looks nice and is easy to read.
- A cuss word filter, which is preloaded with a ton of words, that can be edited and saved.
- Displays the amount of lines of text in the original log, the amount of total chat messages, and the total amount of unique players.
It also saves data for each individual player, which you can view, filter and search through, which has:
- Their username
- All of their associated IP addresses
- All of their other (possible) IGNs associated with those IP addresses
- Their last date and time they joined
- The amount of times they have joined
- The amount of messages they have sent, as well as a list of all of those messages, which separates into:
- All messages sent
- Commands only
- Flagged messages (messages with cuss words)
- The rank that they are (currently a little broken, because if they got that rank before the current session, it says Player)
- The amount of times they have been kicked, or banned.
This also gives you a button which will copy the username and all of their IP addresses to your clipboard, if you want to ban them on your server. Just take that into the Owner Portal and then paste it into the blacklist, and save it. (The “Get ROP Report” button).
The Log Reader only has the data included with the server log file loaded. The server log only goes so far back, and does not hold all information after it get’s to a certain size, which can mean that some data is missing if the server is old enough.
How to download my server log?
Go to your owner portal and sign in at http://portal.theblockheads.net/login?redirect=/.
Click on the “View Log” button, and then save it to your device.
You should find it in your Downloads folder on your device. That is all we need to do for now, unless you want to move it somewhere else.
How to download and run the Log Reader?
Go to the Dropbox link here: https://www.dropbox.com/s/icq200a4ep58hz7/Log%20Reader.exe?dl=0.
Click the Download dropdown, and then download it directly to your device. A pop up should appear at the bottom. You can either click “Run” or just save it somewhere, and then double click it to run it.
If you hit run, Windows should pop something up like this. Click the “More Info” link.
And then click the “Run Anyway” button.
The Log Reader should then start to run!
How to use the Log Reader?
Loading/Saving a Server Log
There are two different ways of loading a server log into the Log Reader. The first is really simple to do. Run the application, and then click the “Select File” button in the top right. You can then find your file, wherever you put it on your computer, and then click open once you have selected it.
The second way is to right click a .txt file, and then click “Open With…” > “Choose Another App” > “More Apps…” > “Look for another app on this PC” > find where you saved the app. After you do that the first time, all you have to do is “Open With…” > “Log Reader”.
To reload a log file, just click the “Read Log For (name)” button.
To save a parsed log file, click the “Save Log For (name)” button. This will save the parsed version of the server log, if you need a nice looking copy of a server log for whatever reason.
Searching for Text and Dates
On the right, there is a section labeled “Search by…” with two buttons in it, one is “Date” and the other is “Message”, both of which search for what they are labeled with.
The results for both types of searches appear in the main text box after the search is complete.
Searching by Date
The Date search popup will search for dates between each of the parameters. It will always search for a year, but the rest are optional. The dates are inclusive, so if you search for in between 2018 and 2019, only things from those two years will show.
Because of how it’s set up, if you search for between 2019 and 2019, Months 1-12 and days 1-10, it will only show the first 10 days of each month. (Poor design, I know, I will fix this later if it get’s enough feedback.)
Searching by Message
This will search for a message sent. If the Username box is left empty, it will search for any message sent by anybody, or if it is not empty it will search for messages sent by a specific user.
If the “Exact Match” check box is checked, the message must be exactly what is typed into the box, along with the username (if it is not empty). If it is not checked, the search will find any messages that contain what is typed in the message field (or username, again, if not empty).
Viewing Player Information
Above the “Search by…” section and below the “Select File” button on the right, there is a “View Players” button that will allow you to click it after a file is loaded. That will open another window, which has all of the Player data collected from the file.
The general information will be shown on the right, such as their username, last join date, total messages sent, etc.
Searching and Sorting
Sorting will only work when the filter is set to All Players and the Search box is blank. You have 6 different sorting options:
- Username A-Z
- Username Z-A
- Last Join Date Old-New
- Last Join Date New-Old
- Total Rejoin Amount Greatest-Least
- Total Chat Messages Greatest-Least
Filters will changed what the Search field can search for, but also what the list of players is. The available filters are:
- All Players
- Banned > 0
- Kicked or Banned > 0
- IPs > 10
- Joins > 100
- Joins > 500
- Messages > 100 and Joins > 1
Searches will be different depending on the filter being used. Searches will search through all of the usernames of each player and put them in the list below if they contain the text in the Search field.
The search field will search through all of the players
Viewing Sent Messages and Player Ratings
If a player has sent any messages, you have multiple ways of viewing just their messages:
- Double click their username in the list of players
- Click on their username in the list, and then the “View Chat Messages” button on the right
This window will pop up:
You can filter the messages in the top left by All Messages, Commands (any messages that starts with a ‘/’) or Flagged Messages (any message that contains a cuss word). You can also search their messages, if they’re like me and have sent 3609 of them total.
If you double click any of the messages, it will load that message as well as the messages before and after it into the main window so you can see the conversation. (Useful for if you were wondering why somebody said something).
Player ratings are not always perfect, but they can give you a general idea of what a player is like without having to do much digging.
The activity rating is based off the amount of times they have joined in a certain time period. The less they join on average, the lower.
The chat rating is based slightly on how many messages they’ve sent, but also how many they’ve sent with cuss words. The more cuss words, the worse the rating.
The general rating is just the average of the two. They are all based on a 100 point scale, and are then given a letter grade.
IP Addresses and Alternative Accounts
All of the associated IP addresses are put below the general information when a player is selected. The IPs that are unique, meaning that their username is the only username to have joined with that IP address, are marked with “(unique)” after them. If you double click the ones without that tag, it will open a window with all of the other usernames associated with that IP.
Clicking on one of those usernames will then load their data. The “Close” button will close that without selecting any of them.
Just a note: The alternative accounts is not perfect, due to the server log. I had an issue with my log from my server where it said that I joined with an IP that like 10 other people joined with. At first I thought it was my app, but after some digging in the raw server log, I found out it was in there. Don’t know why it was like that, but keep that in mind before you accuse people of having alternative accounts.
The Possible Alternative Accounts list is a list of all of the usernames associated with all of the non-unique IP addresses of a player. Double clicking any of those usernames will load their data.
If you have any comments, suggestions or problems feel free to reply here, or click the Report An Issue hyperlink in the app.