From a78863fde1ae6517d99917d54f8935966d151044 Mon Sep 17 00:00:00 2001 From: Zach Parks Date: Fri, 26 Aug 2022 02:12:37 -0500 Subject: [PATCH] Docs: Update community supported libraries in api doc (#788) * Docs: Update client supported libraries in api doc * left align table column * Update table of languages to include Haxe lib and remarks * Reformat table * Changed verbiage on SNI remark --- docs/network protocol.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/network protocol.md b/docs/network protocol.md index 34251424..3315ddec 100644 --- a/docs/network protocol.md +++ b/docs/network protocol.md @@ -13,9 +13,18 @@ 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 this network protocol in [Python](https://github.com/ArchipelagoMW/Archipelago/blob/main/CommonClient.py), [Java](https://github.com/ArchipelagoMW/Archipelago.MultiClient.Java), [.Net](https://github.com/ArchipelagoMW/Archipelago.MultiClient.Net) and [C++](https://github.com/black-sliver/apclientpp) +There are also a number of community-supported libraries available that implement this network protocol to make integrating with Archipelago easier. -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) +| Language/Runtime | Project | Remarks | +|-------------------------------|----------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------| +| Python | [Archipelago CommonClient](https://github.com/ArchipelagoMW/Archipelago/blob/main/CommonClient.py) | | +| | [Archipelago SNIClient](https://github.com/ArchipelagoMW/Archipelago/blob/main/SNIClient.py) | For Super Nintendo Game Support; Utilizes [SNI](https://github.com/alttpo/sni). | +| JVM (Java / Kotlin) | [Archipelago.MultiClient.Java](https://github.com/ArchipelagoMW/Archipelago.MultiClient.Java) | | +| .NET (C# / C++ / F# / VB.NET) | [Archipelago.MultiClient.Net](https://www.nuget.org/packages/Archipelago.MultiClient.Net) | | +| C++ | [apclientpp](https://github.com/black-sliver/apclientpp) | almost-header-only | +| | [APCpp](https://github.com/N00byKing/APCpp) | CMake | +| JavaScript / TypeScript | [archipelago.js](https://www.npmjs.com/package/archipelago.js) | Browser and Node.js Supported | +| Haxe | [hxArchipelago](https://lib.haxe.org/p/hxArchipelago) | | ## 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.