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

The Lost Episodes of 2022 #45

Closed
wants to merge 8 commits into from
Closed

Conversation

EricChiz
Copy link
Contributor

Why none of these were pushed a year ago, I don't know.

Following the User Character, Equipment, and Statistic Data structures,
User Caddie Data is similarly reused between multiple packets.
More details for GSC-0006 and response GSS-006B.
Perhaps useless, but this is low hanging fruit.

User Statistics Data had to be split, as there is a 78-byte data block
of currently-unknown use at the end in GSS-0044 and GSS-0045 that does
not appear in GSS-0158.
Another duplicated structure presents itself, this time with course
records. The extra course-specific slots of GSS-0045 appear in GSS-015C,
too.
Continuing on the path of cleaning up GSC-002F responses, another
repeated data structure has been extracted (user_name_data), along with
pointing most of the GSC-002F responses to their appropriate shared
structure definitions instead of bespoke individual definitions that are
liable to be left incomplete when work happens elsewhere.

Because of the extensive use of these shared structures, a surprising
amount of extra information can be gathered about other accounts that
wouldn't be displayed in-game, such as current pang balance or exact
equipment loadout. Third party implementations of the server might see
fit to blank out this information where it's not absolutely necessary.
A minor observation that the current server's ID appears in the token
portion of the challenge and response. Also documented are the range of
lengths of responses.
While GSS-0158 is mostly a response to GSC-002F, it's also sent as a
response to GSC-0002, but almost entirely blanked out.

Very odd.
Various packets regarding ending of holes, matches and tournaments here;
GSC-0031 is similar to GSC-0006, but sent after every hole. GSC-00AA is
identical to GSC-0006, but sent when using a Tiki Report instead of
allowing a tournament to end naturally. The format for all three of
these packets have been split off into user_course_record_data.

While tournaments ending as a result of GSC-00AA is obvious, a new
method was needed for grouping packets that didn't directly result from
some other packet. Tentatively calling these 'events', the first such
event is that of a match or tournament ending, with GSC-0006 and 10 GSS
packets joining that list.

Lastly, GSS-012A is noted as a dedicated response to using a Tiki Report
with GSC-00AA, separate from it acting as a combination GSC-0006,
GSC-000F, and tournament end.
@EricChiz EricChiz closed this Jun 10, 2023
@EricChiz
Copy link
Contributor Author

PR already made a year ago with updates, still haven't merged them for reasons?

@jchv
Copy link
Collaborator

jchv commented Jun 10, 2023

not sure what happened, but it's merged now.

This pull request was closed.
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

Successfully merging this pull request may close these issues.

2 participants