I've been a bit busy over the last couple of weeks with family and IRL stuff, so I haven't done as much work on the server as I wanted to. Still I've got a bunch of things completed...

I went through the login sequence line by line; comparing the new login packets I received with what my server was doing programatically. I reordered a bunch of packets and fixed a few bugged ones. In the end I was able to stabilize login and the game no longer crashes when you try to login a second time.

A bunch of known packets relating to actor initialization were implemented.

I found a few more packets: The single status version of the "Set Status" packet. The original one I had was for actor creation... if you walked in range of a player full of buffs/debuffs you'd use 179 to set everything in one go (up to 20 statuses). 177 however sets one at a time; used when a status is applied or removed. Next I found 19F, one of the last 19X packets. This sets the "AchievementRate" (as the game calls it) for an achievement. Basically, how many ___ until you finish (IE: Kills), as well as flags for achievements that required you to do X different things (IE: Kill 7 unique NMs). Finally I implemented the list packets in code. These are used to setup the retainer and party lists.

After finding 19F, achievements are 100% complete.

undefined

I am currently looking into finding where to set the Path Companion. A bunch of cutscenes crash the game due to no companion data is set.