LANCommander/LANCommander.SDK
2025-11-13 21:04:13 -06:00
..
Abstractions Implement debounce to avoid thrashing disk on settings update 2025-10-06 19:25:24 -05:00
Attributes Add new RPC hub, migrate existing SignalR messaging to strongly typed RPC, add chat data migrations 2025-08-28 19:57:23 -05:00
Enums Add basic workflow for packaging games via scripts 2025-08-02 00:22:16 -05:00
Exceptions Implement SDK using dependency injection 2025-09-22 00:29:51 -05:00
Extensions Change how windows are created. Refactor SignalR client to be named subscriber. Call ChatClient static methods on response from SignalR chat client. Fix dependency loop with chat. 2025-10-25 22:00:50 -05:00
Factories Use SettingsProvider when getting any settings 2025-10-06 20:29:34 -05:00
Helpers Avoid exception stream progress update 2025-10-26 17:05:24 -05:00
Interceptors If beacon address is blank, auto populate using beacon's bound interface 2025-05-04 19:25:08 -05:00
Models Enhance chat list 2025-11-03 23:27:05 -06:00
PowerShell Standardize YAML serializers 2025-10-06 19:23:49 -05:00
Providers Simplify settings write, increase debounce 2025-10-08 19:52:37 -05:00
Rpc Implement RPC keepalive method as Task 2025-11-13 21:04:13 -06:00
Services Implement RPC keepalive method as Task 2025-11-13 21:04:13 -06:00
Utilities Merge pull request #321 from RattleSN4K3/fix/EndGameLag 2025-06-29 21:11:52 -05:00
AppPaths.cs Have launcher use AppData/Local if it has no write access to its base directory 2025-08-18 17:49:17 -05:00
Client.cs Rework SettingsProvider 2025-10-02 19:41:47 -05:00
DownloadProgressChangedEventArgs.cs Implement SDK using dependency injection 2025-09-22 00:29:51 -05:00
EventArgs.cs Rough but functional download queue 2024-01-20 21:02:41 -06:00
ExtractionResult.cs Restore installation files on uninstallation of addons 2025-05-27 23:15:29 +02:00
FileTransferMonitor.cs Fixed redist installation 2025-02-04 02:34:31 -06:00
LANCommander.SDK.csproj Fix configuration getting wiped on start 2025-10-08 20:45:57 -05:00
package-icon.png Update icon 2025-03-06 18:38:50 -06:00
ProcessExecutionContext.cs Rename SDK services -> clients, implement new configuration, use dependency injection for clients 2025-09-24 20:58:23 -05:00
README.md Add NuGet info for SDK 2024-09-29 23:31:59 -05:00
TrackableStream.cs Refactor HTTP streaming 2025-10-09 02:16:20 -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.