LANCommander/LANCommander.SDK
Pat Hartl b9746d64a4
Some checks failed
LANCommander Release / prep (push) Failing after 32s
LANCommander Release / build_server_linux_arm64 (push) Has been skipped
LANCommander Release / build_server_linux_x64 (push) Has been skipped
LANCommander Release / build_server_osx_arm64 (push) Has been skipped
LANCommander Release / build_server_osx_x64 (push) Has been skipped
LANCommander Release / build_server_win_arm64 (push) Has been skipped
LANCommander Release / build_server_win_x64 (push) Has been skipped
LANCommander Release / build_launcher_linux_arm64 (push) Has been skipped
LANCommander Release / build_launcher_linux_x64 (push) Has been skipped
LANCommander Release / build_launcher_osx_arm64 (push) Has been skipped
LANCommander Release / build_launcher_osx_x64 (push) Has been skipped
LANCommander Release / build_launcher_win_arm64 (push) Has been skipped
LANCommander Release / build_launcher_win_x64 (push) Has been skipped
LANCommander Release / build_release (push) Has been skipped
LANCommander SDK Release / prep (push) Failing after 13s
LANCommander SDK Release / publish (push) Has been skipped
Add ability to disable user libraries
2025-02-22 00:43:03 -06:00
..
Enums New status for enumerating files before move 2025-02-16 15:47:57 -06:00
Exceptions Validate API version when doing requests 2024-05-13 18:41:00 -05:00
Extensions Add missing extension 2025-02-04 21:37:07 -06:00
Helpers Refactor redistributable installation 2025-01-30 23:57:12 -06:00
Models Add ability to disable user libraries 2025-02-22 00:43:03 -06:00
PowerShell Refactor redistributable installation 2025-01-30 23:57:12 -06:00
Services Rename BytesDownloaded -> BytesTransferred 2025-02-16 15:48:34 -06:00
Client.cs Add progress for redistributable installing 2025-01-31 00:34:37 -06:00
EventArgs.cs Rough but functional download queue 2024-01-20 21:02:41 -06:00
ExtractionResult.cs Relocate crucial installation logic to SDK 2023-11-09 19:40:38 -06:00
FileTransferMonitor.cs Fixed redist installation 2025-02-04 02:34:31 -06:00
icon.png Add NuGet info for SDK 2024-09-29 23:31:59 -05:00
LANCommander.SDK.csproj Fix script execution 2025-02-20 21:35:33 -06:00
ProcessExecutionContext.cs Refactor redistributable installation 2025-01-30 23:57:12 -06:00
README.md Add NuGet info for SDK 2024-09-29 23:31:59 -05:00
TrackableStream.cs Relocate crucial installation logic to SDK 2023-11-09 19:40:38 -06:00
VersionInterceptor.cs Avoid exception on 500 responses 2024-11-07 20:41:10 -06:00

LANCommander.SDK

The LANCommander SDK is a .NET 8 assembly designed to allow developers to implement their own client. Most of the core functionality of the official launcher is implemented directly in the SDK and currently supports functionality such as:

  • Authentication to a LANCommander server
  • Installation of games / redistributables
  • Launching of games and play session tracking
  • Media linking and downloading
  • Game save uploading and downloading, including packing and extraction
  • PowerShell script execution
  • Updating player's alias and custom fields
  • Submission of issues
  • Game lobby scanning

Basic Use

In order to do almost anything through the SDK, you must have an authenticated instance of the LANCommander.SDK.Client class. Here is an example of how to instantiate the class and authenticate to a server:

var client = new LANCommander.SDK.Client("http://localhost:1337", "C:\\Games");

await client.AuthenticateAsync("username", "password");

Once the client is authenticated, everything you need is available as a manager under the client. For example, to install a game by ID you might use the following:

await client.Games.InstallAsync("114f653d-ea91-484b-8fe9-8e9bb58bde81");

Documentation

For full documentation, review the official LANCommander documentation.