Packet Logging For !!Science!!
Ever wanted to know a monster's exact HP, not just guesses?
Want to see the actual effects of food on both weight and stats?
Do you want to see what processes are actually taking place behind the scenes?
Ever wanted to know a monster's exact HP, not just guesses?
Want to see the actual effects of food on both weight and stats?
Do you want to see what processes are actually taking place behind the scenes?
In networking terms, "packets" are the pieces of data that flow between various networks, these pieces contain all the communication that programs on either side need to tell each other. By logging and examining packets you can see all of the communication between your instance of Mabinogi (the client) and the server. With this, you can find out all sorts of information that would be hard or impossible to pinpoint otherwise.
This guide will walk you through packet logging Mabinogi so you can find hidden information.
We will be using Morrighan as the local proxy/translator and MabiPale as the logger.
[spoiler="Disclaimer"]This is NOT "that tool".
This CANNOT edit packets.
This has NO capability to send packets to the server
This has NO botting ability.
This WILL NOT make ANY attempt to click on or control your game.
Also Morrighan does not redirect or log the messenger (friendslist and PM) connection, which is separate from normal game connection. Your PMs and such will not show up in the log.[/spoiler]
1 - Setting Up
The first thing you'll need is Morrighan itself. Download it and place Morrighan.exe into your Mabinogi install directory. This is wherever Client.exe resides (as well as the data folder if you do that type of modding).
Once Morrighan is in there, you'll need to make a modified shortcut to launch it. Right-click Morrighan.exe (when it's in your Mabinogi install folder) and edit the "target". At the end of what's already there, copy and paste...
[spoiler="This Code"][code] code:1622 ver:143 logip:208.85.109.35 logport:11000 chatip:208.85.109.37 chatport:8002 setting:"file://data/features.xml=Regular, USA" nxlauncher[/code](Yes, include the space at the beginning!)
So it should look something like this, though yours may vary depending on when, how, and where you installed Mabinogi.
[Image: http://i.imgur.com/cigg2Ak.png]
[/spoiler]In order to launch it, run that shortcut and it should bring up a prompt. While that prompt is up, try to run Mabinogi normally (like through Steam or the launcher), wait a few seconds, then click Okay on the Morrighan prompt.
If it worked, mabinogi should launch and there should be an additional Morrighan status square in the upper-left of your screen.
After Morrighan is set up, just download MabiPale and put it in it's own folder, it doesn't matter where.
2 - Basic Packet Logging
In order to do basic packet logging, start Mabinogi with the Morrighan shortcut (or run MorriOneClick). If the game starts up and you see this image in the upper-left, then things should work fine.
At any point you want to start actually logging, run MabiPale from wherever you put it and click the connect button. It's mostly self-explanatory, but here are the main button functions.
[spoiler="Buttons"]
[Image: http://i.imgur.com/E18bbUb.png]
[/spoiler]Once stuff happens in Mabinogi you should see packets flowing into the log.
Click a packet on the left to view the raw contents of it on the right.
[spoiler="Packet Information Key"]Red packets are outgoing (what your game tells the server it's doing).
Blue packets are incoming (what the server is telling your game to do).
[Image: http://i.imgur.com/GFVzJBm.png]
[/spoiler]3- Example Scenarios
What sort of data can packet logging be used to gather?
Let's look at some example scenarios.
A - The Sheeptuplet pet has various special effects, one of which could be to boost your movement speed. However the game doesn't specify how much the boost is. Looking into the packet that's sent when it happens, we can see it.
[spoiler=""]
[Image: http://i.imgur.com/dI5v3Ya.png]
"MOVESPD" is obviously "move speed", the "f" stands for "float" (basically numbers with possible decimal points) and the 30 means a 30% movement speed increase.[/spoiler]
B - Let's say that I want to eat some food and then see what my weight values are the next time it updates. By finding the StatUpdatePublic packet when it happens you can see... though some of the values are hard to recognize or pick out, so you can click the "Packet Analyzer" button which will sort some of the info for you.
[spoiler=""]
[Image: http://i.imgur.com/MIYkvQW.png]
Using this, you can see the actual weight values as they update.[/spoiler]
C - If you want to see some detailed information about NPCs or monsters, you can check out the Entity Logger, which keeps track of any monsters that have appeared while logging was active. This will show some information such as the exact max HP of a monster and it's CP.
[spoiler=""]
[Image: http://i.imgur.com/1XXI0hK.png]
[/spoiler]D - I'm curious what Master Tin's face looks like, but he's always wearing the helmet so his facial features won't render. However, as an NPC he does have body data that's sent from the server! By looking through the Entity Logger data and matching up the various IDs, I was able to find the pieces of his head and reconstruct his look in the dressing room.
[spoiler="What Master Tin Looks Like"]
[Image: http://i.imgur.com/gE1IILu.png]
No, I'm not kidding.
Tin's face is item 4900 (Human Male Face).
Tin's skin #ID is invalid so it defaults to a valid one.
Tin's hair is item 4021 (Puppy Hair).
Tin's hair color is this color, I picked as close as I could.
Tin's eye style is #16 (Innocent and Pure Look)
Tin's eye color is #47 (Deep Green)
Tin's mouth is #0 (Plain Lips)
We should all know Devcat is full of trolls by now...
They even specifically gave him "Deep Green" eyes even though you can't see color on those.[/spoiler]