---ABOUT---
Here's a tutorial on using pake/alissa so people can get a foothold and learn... and maybe even contribute.
First of all, this assumes you've got pake working. As in the release of pake for the current revision of the game, which is r100. So yeah you just need a working Pake for r100 of Mabinogi. Do those key words sound familiar? Like, the title of another thread here? Or maybe something you could type into google?
------------------------------------------------------------------------------------------------
---OVERVIEW---
Once Mabinogi's been launched, go into the "mod" folder inside Mabinogi's folder.
You'll see alissa analyzer there, that's the packet logger/modifier.
Run it as administrator if you're on Vista/7, otherwise it won't work properly.
Run it as administrator if you're on Vista/7, otherwise it won't work properly.
Run it as administrator if you're on Vista/7, otherwise it won't work properly.
Once it's run, you'll see the main window.
We're concerned with four of the buttons.
Connect, Unconnect, ?????, and Clear.
- Connect - Attaches/start the packet scanning. After clicking this mod_Alissa should show that it's connected and when shit in the game happens, you should see packets flowing.
- Unconnect - Stops the scanning/logging. You don't want to constantly be scanning/logging, so feel free to only connect when needed to prevent the constant flow of packets from scrolling what you want right out of the window.
- ????? - The packet building screen, which we'll get to later.
- Clear - Clears the list.
------------------------------------------------------------------------------------------------
---PACKET ANALYZING / BUILDING---
When you do something you'll notice you send a packet. Walk? Sent a packet. Rest? Sent a packet. Told somebody to shove their hebona up their ass? Sent a packet. In the list, there's details for each packet.
- Time - Self-explanatory.
- Type - Packets you send (red) or packets you get (blue).
- Code - OPcode, the "command" the packet has.
- ID - Varies as to what the ID is of. For packets you send it's most often the character ID, but sometimes not.
- Data - The "raw hex" of the parameters.
Click the ????? button to open the packet building window, then go back to the main Alissaanalyzer window. Right-click on the sent party packet.
The two options we're concerned with are the ID and Code options. Click each of them to have the program automatically copy the OPcode and ID into the ????? window for you (or you can do it yourself, like you will be when forging packets anyways). Then copy-paste the parameters yourself, then click the "build packet" button. It should look something like this.
Quit your party, then click the "SEND" button at the bottom of the ????? window to send the built packet. If it created the party correctly then you did it right. Those of you that know programming, finding and modifying this shit should come naturally and you're done here, go have fun. The rest of you keep reading.
------------------------------------------------------------------------------------------------
---PACKET MODIFICATION / PARAMETERS---
Well now that you know how to re-send/forge packets, let's look at modifying the parameters, since this is where a lot of the fun stuff lies (and what you'll need to know to find/make your own shit).
You'll notice that the parameters are on their own lines, and each has a "type" set to it. Let's go back to our party example...
00 T_INT : 1 [00000001]
01 T_STR : I like
02 T_STR : to eat
03 T_STR : apples
04 T_STR :
05 T_INT : 8 [00000008]
06 T_BYTE : 0 [00]
- So the first parameter is an INT, "integer". This means a whole number. In this case it's 1. This appears to be the type of party.
- The second, third, fourth, and fifth parameters are STR, that's "string". This means a sequence of text. This appears to be the party titles, with the last one being the password line (as no password was set for this example).
- The last one is listed as BYTE, but I think it should be "bit" or "flag" instead since that's all I've seen it used for... anyways it means a simple ON/OFF or YES/NO or TRUE/FALSE . 0 being OFF/NO/FALSE, 1 being ON/YES/TRUE.
- You may run across more, feel free to google to learn about various types of variables.
That brings up an important point to remember. The server trusts the client a hell of a lot more than it should.
------------------------------------------------------------------------------------------------
---ADVICE / HINTS---
The party name edit was a simple edit... for the strings, it's easy to see what they are for (name of NPC, player/NPC talking text, shit like that), but for the other values you may need to experiment.
For example by making various types of parties it looks like the first parameter is the type of party. 0 is a regular party, 1 is a dungeon party, and the others could be more types. This brings to light two questions.
- Do the other parameters change according to the type of party? For this, the answer is yes. For a dungeon party (as in the example) there's four string lines (three titles and a password), but with a regular party there's only two (title and password), so be careful.
- Could we change the values to things that aren't normally done in order to fuck with the game? That's your job! See what you can mess around with and find out. For example there's reports that there's actually up to 5 types of parties...
Though much of the obvious stuff has been fixed (meaning the client isn't trusted with it anymore and it's done server-side), there's still a ton of things you can fuck with in the game.
Have fun... and try not to hurt people, okay? It may be "just a game", but people put actual work, time, and money into their characters. Don't be that douchebag that goes and kicks down the sandcastles on the beach, okay?






