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

Packets 22 and 150 - Game Servers By ID - All #45

Merged
merged 1 commit into from
Mar 28, 2024

Conversation

desukuran
Copy link
Contributor

  • Preliminary adding, it reads and sends as it should but no real data is sent, just enough to satisfy xfire awaiting something.
  • This packet deals with fetching all game server information based on Game ID.

Added Inbound Packet GameServerFetchAll (22)
! This one sends a numerical attribute name.

  • It only expects a gameid. From there the server sends back GameServerSendAll packet.

Added Outbound Packet GameServerSendAll (150)

  • Three attributes are sent: gameid, a list of gameips and a list of gameports (both iterates in sync). ! All three attributes are numerical.
  • I have added as such for future addition: It makes the lists but doesn't populate them and sends back the GameId sent by the client.
  • In my testing of using a list of hardcoded localhost servers results using Quake 3 and Half-Life 1.5 proved to work, as the base xfire client comes with server query tools built in.

XFireMessageType and XFireMessageTypeFactory adds the packets to the lists as needed.

MessageSerializer's GetAttributeName now includes GameServerFetchAll as it recieves attributes that aren't strings. I should fix this eventually, as some packets use bytes and others use strings.

* Preliminary adding, it reads and sends as it should but no real data is sent, just enough to satisfy xfire awaiting something.
* This packet deals with fetching all game server information based on Game ID.

Added Inbound Packet GameServerFetchAll (22)
 ! This one sends a numerical attribute name.
 * It only expects a gameid. From there the server sends back GameServerSendAll packet.

Added Outbound Packet GameServerSendAll (150)
 * Three attributes are sent: gameid, a list of gameips and a list of gameports (both iterates in sync).
 ! All three attributes are numerical.
 * I have added as such for future addition: It makes the lists but doesn't populate them and sends back the GameId sent by the client.
 * In my testing of using a list of hardcoded localhost servers results using Quake 3 and Half-Life 1.5 proved to work, as the base xfire client comes with server query tools built in.

XFireMessageType and XFireMessageTypeFactory adds the packets to the lists as needed.

MessageSerializer's GetAttributeName now includes GameServerFetchAll as it recieves attributes that aren't strings. I should fix this eventually, as some packets use bytes and others use strings.
{
internal sealed class GameServerSendAll : XFireMessage
{
public GameServerSendAll(int gameId) : base(XFireMessageType.GameServerSendAll)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should these be unsigned ints? Or are you planning to rebase this with the usigned ints fix and fix it there after?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I figure to fix it after, base this on the int base and then fix it when the time comes.

@darcymiranda darcymiranda merged commit f50774e into darcymiranda:master Mar 28, 2024
1 check passed
@darcymiranda
Copy link
Owner

Many thanks!! 🚀

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