fuzziqersoftware / newserv

Phantasy Star Online game server, proxy, and reverse-engineering tools
MIT License
167 stars 37 forks source link

[PSOPC] Character data becomes corrupted after using the proxy server sometimes #280

Closed toiletman74 closed 10 months ago

toiletman74 commented 10 months ago

Had two instances where after connecting to a server via the newserv proxy my character became corrupt and a message kept showing up on my client after saving asking if I wanted to recover my character data.

The server I was connecting to was sylverant

fuzziqersoftware commented 10 months ago

This is a known issue, but is hard to reproduce consistently. I suspect something about the save data is changing and triggers the client's corruption detection, but it's not obvious to me what it is. If you can get it to happen again, can you upload a full log starting from when you first connect through when you see the error?

fuzziqersoftware commented 10 months ago

Actually, this might have been fixed by commit a9afab97. Is your build of newserv older or newer than that commit?

toiletman74 commented 10 months ago

Mine is older, I still haven't had any luck getting newserv to build correctly on windows 😅

fuzziqersoftware commented 10 months ago

A log would still be helpful, even if it does turn out that that commit fixes the issue, since the log would confirm what exactly the client is checking when it displays that message. In the meantime, I'll try a few things to reproduce the issue myself.

Matt-Swift commented 10 months ago

This is still a thing - you can proc this 100% of the time by doing the following:

  1. Use proxy server
  2. On the proxy server, use transport to go back to home server
  3. Use proxy server again
  4. Quit game

I've messaged a log over (it has my SNAK/e-mail, and those commands might be important) of a session where I do this.

If you don't re-use the proxy server after returning however, there seems to be no corruption.

fuzziqersoftware commented 10 months ago

This should be fixed by d7978aa9. You'll have to change your port configurations in config.json, since the login_server behavior is now split into two different behaviors (see the example config).

toiletman74 commented 10 months ago

if it wouldn't be too much trouble would you be able to put up the latest build on the releases?