LANCommander/LANCommander.SDK
Pat Hartl da94ff8438
Some checks failed
LANCommander Release / prep (push) Failing after 49s
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_packager (push) Has been skipped
LANCommander Release / build_release (push) Has been skipped
Fix detection of primary display's resolution on some Linux multi-display configurations
2026-07-27 00:26:12 -05:00
..
Abstractions Separate SignalR chat client from RPC client. Create abstraction for getting server address. Implement server-side chat client. 2025-12-23 21:12:06 -06: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
Clients Add shorter timeout for server notifications 2026-07-21 18:01:34 -05:00
Enums Add runtime platform flag to actions, scripts, and save paths 2026-07-08 02:15:54 -05:00
Exceptions Handle version mismatching 2026-07-07 01:50:25 -05:00
Extensions Default to klling process if there's no spawned window 2026-07-04 15:07:13 -05:00
Factories Use SettingsProvider when getting any settings 2025-10-06 20:29:34 -05:00
Helpers Fix detection of primary display's resolution on some Linux multi-display configurations 2026-07-27 00:26:12 -05:00
Hubs/Interfaces Implement infinite loading with chat thread 2026-01-11 14:38:24 -06:00
Interceptors If beacon address is blank, auto populate using beacon's bound interface 2025-05-04 19:25:08 -05:00
Migrations Adding more info to migration history 2025-12-19 16:01:14 +11:00
Models Add runtime platform flag to actions, scripts, and save paths 2026-07-08 02:15:54 -05:00
Parsers Replace INI parsing 2026-05-16 18:14:41 -05:00
PowerShell Better handle bypass execution policy for scripts 2026-07-24 00:57:29 -05:00
Providers Fix HQ link not persisting across restarts and refresh after HQ account link 2026-06-04 20:42:51 -05:00
Rpc Send keepalive while game is running 2026-06-14 00:53:45 -05:00
Services Adding more info to migration history 2025-12-19 16:01:14 +11:00
Utilities Normalize save paths to use / before regex matching 2026-05-28 22:46:24 -05:00
AppPaths.cs Fix app path resolution for server, add better tests 2026-07-24 17:35:58 -05:00
AsyncEventHandler.cs Add import progress/success stage to dialog 2025-12-03 18:32:27 -06:00
DownloadProgressChangedEventArgs.cs Implement SDK using dependency injection 2025-09-22 00:29:51 -05:00
EventArgs.cs Update SharpCompress, move to async extraction, add logging per entry on fail 2026-03-09 22:12:09 -05: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 Expose internal bits of SDK to test project 2026-07-21 18:14:22 -05:00
package-icon.png Update icon 2025-03-06 18:38:50 -06:00
ProcessExecutionContext.cs Handle Process killing via extension method w/ libc import on Linux 2026-06-14 00:53:31 -05:00
README.md Add NuGet info for SDK 2024-09-29 23:31:59 -05:00
TrackableStream.cs Update SharpCompress, move to async extraction, add logging per entry on fail 2026-03-09 22:12:09 -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.