This also moves the login pages to the login server, which makes the
code slightly a bit more contained. The account management page doesn't
allow you to do anything yet, but for future usage.
All accounts were sharing the same character list, but now they should
be properly separated. This also modifies the login database to prepare
for multiple service accounts, but there's no way to manage them in the
web interface yet still.
Now your character's nameday, city-state, guardian and voice is transferred
over. There seems to be a problem with the nameday month, not sure who is wrong
yet.
Instead of one single slot available in your inventory, all four pages
should be available now. Moving items around should be less buggy, and
it's now possible to discard items.
Items cannot stack still, and when given will always take up the next
free slot.
Curiously the spawned clone shows up as a player, despite not using the
NPCSpawn packet. This might be a suitable workaround for the
PlayerSpawn packet being buggy from our side.
This updates the set of opcodes and patch version for today's patch. Not
everything is working yet and there's a few missing ones, but overall it
looks good.
I seem to have finally restored the reliability back to how it used to
be, it seems the crux of it was the Excel sheet reading for Items. I
moved the parsing to the start-up instead.
This now works and Kawari has achieved basic multiplayer! This is of course with
a hundred caveats:
* Previously spawned players are not backfilled
* There is no range or zone detection
* They are carbuncle clones of you, not the other character's data
But it actually WORKS!
I think the current way I'll accomplish this for now is to use the other
task to send all messages from the global server state back into the
main connection loop.