Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packet 0x67 Size Incompatibility #23

Open
HelloKitty opened this issue Dec 21, 2019 · 4 comments
Open

Packet 0x67 Size Incompatibility #23

HelloKitty opened this issue Dec 21, 2019 · 4 comments

Comments

@HelloKitty
Copy link
Owner

Tethealla will send an additional 2 bytes for 0x67 that isn't needed according to @Solybum . Additionally Sylverant does not seem to send, I think, these 2 0 bytes at end of the 0x67 like Teth does.

For compatibility with this client this must be fixed for any server that wishes to connect with it.

@HelloKitty
Copy link
Owner Author

HelloKitty commented Dec 21, 2019

For reference these are the Teth changes that need to be made:
Solybum/Tethealla@9dcf19d#diff-f2c5e68aa88efc1512bf34af1c4e051bL2664
Solybum/Tethealla@0615fe5

@HelloKitty
Copy link
Owner Author

After reexamining the situation on this serialization model I think that it was in fact Tethealla being wrong. @Solybum might remember better. But I have no proper packet captures to test the model against so the tests will remain failing for now.

@Solybum
Copy link
Contributor

Solybum commented Dec 22, 2020

Yes, it was tethealla.
This was addressed in Ultima, and I think Ephinea addressed it too.

Just to refresh the issue.
Tethealla had an increment in the index of 2 extra bytes before entering a loop, which caused it to have 2 extra bytes at the end of said loop.
Even if the result didn't cause issues with the original client, looking at it from a correctness perspective, the code was wrong, because some flags were being split before the loop, and at the beginning and end of the loop.

Either way should not be an issue anymore and people can use my repo to build an executable without this issue.

@HelloKitty
Copy link
Owner Author

Awesome! Eventually I'll need to build your Tethealla or use Sylverant otherwise some more of this stuff is gonna come out wrong I guess.

I guess I'll keep the issue open until I have a 0x67 packet capture to test the model against!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants