LANCommander/LANCommander.SDK
2024-09-29 23:31:59 -05:00
..
Enums Add basic support for checking Steam for lobbies when starting a game 2024-09-05 00:48:04 -05:00
Exceptions Validate API version when doing requests 2024-05-13 18:41:00 -05:00
Extensions Fix logging operation when logger doesn't exist 2024-09-20 00:26:14 -05:00
Helpers Refactor game launching 2024-08-26 20:18:54 -05:00
Models Add basic support for checking Steam for lobbies when starting a game 2024-09-05 00:48:04 -05:00
PowerShell Avoid null reference when trying to gather return value 2024-09-27 17:59:47 -05:00
Client.cs More logging for SDK 2024-09-17 00:19:23 -05: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
GameExecutionContext.cs More logging for SDK 2024-09-17 00:19:23 -05:00
GameService.cs Try save upload/download up to 10 times 2024-09-27 18:07:14 -05:00
icon.png Add NuGet info for SDK 2024-09-29 23:31:59 -05:00
IssueService.cs Fix issue submission 2024-09-09 18:21:08 -05:00
LANCommander.SDK.csproj Add NuGet info for SDK 2024-09-29 23:31:59 -05:00
LauncherService.cs More logging for SDK 2024-09-17 00:19:23 -05:00
LobbyService.cs More logging for SDK 2024-09-17 00:19:23 -05:00
MediaService.cs Rename methods 2024-08-04 20:47:33 -05:00
ProfileService.cs Add cmdlets for getting/setting custom fields 2024-08-21 20:19:04 -05:00
README.md Add NuGet info for SDK 2024-09-29 23:31:59 -05:00
RedistributableService.cs Refactor redistributable script running 2024-09-20 00:28:50 -05:00
SaveService.cs Allow scripts to return data 2024-09-20 00:27:20 -05:00
ScriptService.cs Handle exceptions from debug/log enrichment 2024-09-27 18:00:07 -05:00
TrackableStream.cs Relocate crucial installation logic to SDK 2023-11-09 19:40:38 -06:00
VersionInterceptor.cs Fix version header check 2024-08-11 14:48:10 -05: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.