Commit graph

41 commits

Author SHA1 Message Date
Pat Hartl
1558af8a98 Initial scaffolded plugin framework code 2026-07-23 19:47:22 -05:00
Pat Hartl
217fcfa0b6 Merge branch 'main' into release/2.2.0
# Conflicts:
#	LANCommander.Server.Services/ActionService.cs
#	LANCommander.Server.Services/SavePathService.cs
2026-07-22 17:13:51 -05:00
Pat Hartl
4acf5936c5 Add shorter timeout for server notifications 2026-07-21 18:01:34 -05:00
Pat Hartl
f31925e399 Add runtime platform flag to actions, scripts, and save paths 2026-07-08 02:15:54 -05:00
Pat Hartl
6e954ff5b8 Log exceptions from save upload failures 2026-07-04 14:27:00 -05:00
Pat Hartl
862f266275 Reorder components of game installations
Game installs now install items in the following order:
1. Base Game
2. Addons
3. Tools
4. Redistributables

Ref #414
2026-07-02 20:42:21 -05:00
Pat Hartl
8d96acc98d Ensure tools are uninstalled before game is uninstalled
Ref #414
2026-07-02 20:21:08 -05:00
Pat Hartl
1e4555edf1 Add versioning support to launcher 2026-06-30 20:48:13 -05:00
Pat Hartl
8760b2d961 Default action ServerHost value to LANCommander server address 2026-06-27 17:59:17 -05:00
Pat Hartl
f53d5bfc4c Add "Always Install" option to tools
Ref #414
2026-06-27 12:11:17 -05:00
Pat Hartl
6b2610a200 Rework Tool installation / action resolution
Amends the tool installation to use game install directory and correctly populate actions. Tools previously used an undocumented/unpopulated/inaccessible global install directory. This has been changed to use the game's install directory. Uninstall scripts are also now executed for tools when the game is uninstalled.

Fixes #414
2026-06-21 21:16:45 -05:00
Pat Hartl
6e7bcccf45 Add more logging to archive extraction, allow customization of retry attempts on install 2026-06-20 03:33:29 -05:00
Pat Hartl
fa63e8e95a Add uninstall script to Redistributables 2026-06-19 20:37:13 -05:00
Pat Hartl
ecaecd21bb Send keepalive while game is running
Sends a keepalive/heartbeat signal across RPC while a game is running. Server-side this enables the ability to manage play session state with realtime information instead of hoping that the client will stop the play session. Keepalives are tracked in server cache allowing for future potential horizontally-scaled server instances.
2026-06-14 00:53:45 -05:00
Pat Hartl
c605c5e8d6 Refresh manifest and scripts on disk if no update exists 2026-06-10 20:39:50 -05:00
Pat Hartl
62c03621a3 Rework update functionality as an additional download workflow 2026-06-08 19:00:56 -05:00
Pat Hartl
68b112d6ce Implement RunWrapper script execution for redistributables
RunWrapper scripts were defined as a script type but never executed. This adds full execution support during game launch, with proper game running state tracking and cancellation/stop support including child process cleanup.
2026-05-26 20:11:53 -05:00
Pat Hartl
527d3abaf2 Add more save handling logging 2026-05-25 04:16:19 -05:00
Pat Hartl
2bb95e8a12 Formatting 2026-05-24 00:09:13 -05:00
Pat Hartl
d8452efb5a Track redist files
Tracks files created in the game's install directory when the install script is run. This results in the ability to delete redist files when the game is uninstalled.
2026-05-23 22:59:56 -05:00
Pat Hartl
5ad55faa5a Add support for tools 2026-05-14 00:29:48 -05:00
Pat Hartl
823b543519 Dispose cancellation token after game stopped 2026-05-09 19:41:52 -05:00
Pat Hartl
879885c640 Add alert message if action failed to start 2026-05-07 23:12:00 -05:00
Pat Hartl
3f2b8e32d9 Add transfer speed chart to download queue items, arrange task list as timeline, restyle queue. 2026-04-22 01:54:07 -05:00
Pat Hartl
538d6b4676 Fix download queue progress 2026-04-18 18:55:28 -05:00
Pat Hartl
9a7cadf1ca Add better logging for installs 2026-04-17 23:52:22 -05:00
Pat Hartl
eaaaf39b8d Refactor install process to use major/minor task queue
Tasks are broken down into major and minor tasks. Major tasks are like install game, redistributable, or tool. These are reported as individual tasks in the download queue. Minor tasks are running of a script, downloading saves, extracting/downloading, etc.
2026-04-17 22:24:47 -05:00
Pat Hartl
6013cd8cdf Fix download status message when downloading 2026-04-12 00:19:08 -05:00
Pat Hartl
3bf6ea86f5 Add "Verifying Files" install status 2026-04-03 19:23:52 -05:00
Pat Hartl
a8e0e7f820 Code cleanup 2026-04-03 19:23:30 -05:00
Pat Hartl
4a11e0af01 Fix launcher to only show actions pulled from server for installed games 2026-03-19 23:57:05 -05:00
Pat Hartl
6276823f86 Fix variables on action run, populate server variables when retrieving actions 2026-03-15 17:15:50 -05:00
Pat Hartl
830f34b19d Restore lobby actions 2026-03-13 01:38:58 -05:00
Pat Hartl
36a0f3aee0 Fix long game start delays if no save exists on server 2026-03-11 23:59:21 -05:00
Pat Hartl
2d27c2db65 Fix saving script actual contents 2026-03-11 20:12:09 -05:00
Pat Hartl
9ad5a236af Fix script downloading, code cleanup
Scripts are now grabbed from a separate request. This ensures that the contents of the scripts themselves don't muddy up the manifest model. This also opens up the potential to allow clients to redownload scripts without redownloading the entire game/tool/redist.
2026-03-11 19:36:24 -05:00
Pat Hartl
4817c00939 Update SharpCompress, move to async extraction, add logging per entry on fail 2026-03-09 22:12:09 -05:00
Pat Hartl
d5cd784593 Fix launching of games to not be blocked too much by loading actions via server 2026-03-08 14:39:15 -05:00
Pat Hartl
46bbf85093 First pass of adding tool installation to launcher 2026-02-10 18:04:49 -06:00
Pat Hartl
4474164e9b Split ScriptClient into partials 2026-02-10 17:34:35 -06:00
Pat Hartl
2c7a835efa Move clients out of Services directory 2025-12-13 00:26:43 -06:00
Renamed from LANCommander.SDK/Services/GameClient.cs (Browse further)