From 4db4b5305e4d7ea5bcc0e5b856de52b7258f40d6 Mon Sep 17 00:00:00 2001 From: Jarno Westhof Date: Fri, 31 Dec 2021 20:05:36 +0100 Subject: [PATCH] [Docs] Added links to client implementations (#167) --- docs/network protocol.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/network protocol.md b/docs/network protocol.md index 21c7d23d..355bfdfd 100644 --- a/docs/network protocol.md +++ b/docs/network protocol.md @@ -13,6 +13,10 @@ These steps should be followed in order to establish a gameplay connection with In the case that the client does not authenticate properly and receives a [ConnectionRefused](#ConnectionRefused) then the server will maintain the connection and allow for follow-up [Connect](#Connect) packet. +There are libraries available that implement the this network protocol in [Python](https://github.com/ArchipelagoMW/Archipelago/blob/main/CommonClient.py), [Java](https://github.com/ArchipelagoMW/Archipelago.MultiClient.Java) and [.Net](https://github.com/ArchipelagoMW/Archipelago.MultiClient.Net) + +For Super Nintendo games there are clients available in either [Node](https://github.com/ArchipelagoMW/SuperNintendoClient) or [Python](https://github.com/ArchipelagoMW/Archipelago/blob/main/SNIClient.py), There are also game specific clients available for [The Legend of Zelda: Ocarina of Time](https://github.com/ArchipelagoMW/Z5Client) or [Final Fantasy 1](https://github.com/ArchipelagoMW/Archipelago/blob/main/FF1Client.py) + ## Synchronizing Items When the client receives a [ReceivedItems](#ReceivedItems) packet, if the `index` argument does not match the next index that the client expects then it is expected that the client will re-sync items with the server. This can be accomplished by sending the server a [Sync](#Sync) packet and then a [LocationChecks](#LocationChecks) packet. @@ -140,8 +144,8 @@ The arguments for RoomUpdate are identical to [RoomInfo](#RoomInfo) barring: | ---- | ---- | ----- | | hint_points | int | New argument. The client's current hint points. | | players | list\[NetworkPlayer\] | Changed argument. Always sends all players, whether connected or not. | -| checked_locations | May be a partial update, containing new locations that were checked, especially from a coop partner in the same slot. | -| missing_locations | Should never be sent as an update, if needed is the inverse of checked_locations. | +| checked_locations | list\[int\] | May be a partial update, containing new locations that were checked, especially from a coop partner in the same slot. | +| missing_locations | list\[int\] | Should never be sent as an update, if needed is the inverse of checked_locations. | All arguments for this packet are optional, only changes are sent.