Commit graph

331 commits

Author SHA1 Message Date
Pat Hartl
4fc488d90a Refresh tracked servers per engine on update/add 2026-03-11 23:27:33 -05:00
Pat Hartl
de38e609a5 Add remote LANCommander server installs as viable server engine 2026-03-08 13:49:30 -05:00
Pat Hartl
1f4ddafa8c Fix missing fields in metadata lookup for IGDB
Some checks failed
LANCommander SDK Release / prep (push) Failing after 7s
LANCommander SDK Release / publish (push) Has been skipped
LANCommander Release / prep (push) Failing after 24s
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_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_release (push) Has been skipped
2026-03-04 23:54:44 -06:00
Pat Hartl
a18f9b9af9 Fix snippet lookup 2026-03-04 21:18:33 -06:00
Pat Hartl
5c750a84ea Fix ID used to grab info from PCGW 2026-03-04 19:23:16 -06:00
Pat Hartl
99eeb4193f Rework metadata lookup to support multiple providers, merging 2026-03-03 22:29:41 -06:00
Pat Hartl
d17c93a367 Avoid crashing if auth provider templates don't exist 2026-02-16 19:34:59 -06:00
Pat Hartl
7e732c73f7 Fix uploading for tool archives 2026-02-15 14:56:55 -06:00
Pat Hartl
4474164e9b Split ScriptClient into partials 2026-02-10 17:34:35 -06:00
Pat Hartl
120e14d40c Add Tools section to server app
Allows users to upload additional tools and tie them to games. This can be useful for software like map editors, trainers, etc.
2026-02-08 02:24:53 -06:00
Pat Hartl
9415a31707 Fix redistributable and server script editors, add packaging for redistributables 2026-01-24 23:35:39 -06:00
Pat Hartl
406a92b104 Fix import issues with scripts, archives, and legacy manifests
- Scripts now import properly
- Archives now import properly when using non-absolute storage location paths
- Support legacy LCX files that have manifests with the name _manifest.yml
2026-01-24 22:32:12 -06:00
Pat Hartl
c5506b440f Move Steam integrations to separate assembly, add cmdlets for various Steam actions 2026-01-24 16:37:07 -06:00
Pat Hartl
a8efeb97e6 Better error handling for SteamCMD integration, add timeouts
Some checks failed
LANCommander Release / prep (push) Failing after 26s
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
2026-01-23 02:31:48 -06:00
Pat Hartl
8e42a00f5a Validate username is valid Steam username 2026-01-23 01:36:41 -06:00
Pat Hartl
f23cf3384f Auto detect SteamCMD path 2026-01-23 01:36:26 -06:00
Pat Hartl
f0ec242bc5 Set default snippets directory if blank 2026-01-20 00:46:53 -06:00
Pat Hartl
e777a061ea Persist SteamCMD credentials 2026-01-20 00:32:39 -06:00
Pat Hartl
657dd746b8 Skip packaging if resulting path does not exist 2026-01-14 20:13:20 -06:00
Pat Hartl
66abc6e59e Implement infinite loading with chat thread
- Chat messages are now loaded based on scroll position
- Read status is now updated and set by last message read
- Reworked script importing by using ScriptProvider
2026-01-11 14:38:24 -06:00
Pat Hartl
2d95541942 Remove overload for GetMessages 2026-01-03 23:22:25 -06:00
Pat Hartl
e1c1469614 Fix chat component rendering
- Load thread after creation
- Change thread list from DataList to Flex
- Move unread badge to right side of chat thread list item
- Fix avatar rerendering after another message is added to message group
- Add styling to thread list
- Change message input to support markdown and add markdown rendering for message contents
2025-12-30 18:08:20 -06:00
Pat Hartl
83ff6a8237 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
Pat Hartl
9b3e154eaa
Merge pull request #385 from aaronpowell/download-files-from-new-data-path
Download endpoints get correct paths
2025-12-19 01:11:10 -06:00
Aaron Powell
aaba97caed Fixing to check for absolute paths 2025-12-19 14:51:06 +11:00
Aaron Powell
2f9cb9a9f2 checking if the path is an absolute path or not 2025-12-19 14:46:46 +11:00
Aaron Powell
0e5a8c5be2 Ensuring that the download endpoints will receive correctly pathed folders for data directory
Also adding logging throughout the download endpoints
2025-12-17 22:52:28 +11:00
Aaron Powell
2d66c4c0b7 Some tidying up on the MediaService 2025-12-17 22:36:49 +11:00
Aaron Powell
d37623dbc0 Ensuring that the config/data directory is appended to the media path 2025-12-17 22:36:32 +11:00
Pat Hartl
962e227b03 Update snippet pathing 2025-12-11 02:06:04 -06:00
Pat Hartl
88301d9c79 Move config/user files to Data directory 2025-12-11 01:58:28 -06:00
Pat Hartl
17fa802c19 Implementation of script debugger component with RPC via SignalR 2025-12-10 20:55:38 -06:00
Pat Hartl
20731f355a Fix certain taxonomies (tag, genre, platform) being removed from game on save
Fixes the action, custom field, multiplayer mode, and save path editors from clearing out taxonomies when saving. Also passes the Game/Server/Redistributable ID as a cascading parameter.
2025-12-08 00:51:32 -06:00
Pat Hartl
1cdbde922f Add FileExistsAsync to differentiate from archive entity ExistsAsync 2025-12-03 23:41:51 -06:00
Pat Hartl
22fc2bb9e7 Fix ExistsAsync when media record doesn't exist 2025-12-03 19:33:27 -06:00
Pat Hartl
ce38a0f252 Fix sync relationships not updating the entity 2025-12-03 19:33:01 -06:00
Pat Hartl
5b444f91e7 Make SyncRelationCollectionAsync only match existing records 2025-12-03 18:56:35 -06:00
Pat Hartl
cf27436a71 Fix media importing when existing entity/file doesn't exist 2025-12-03 18:31:03 -06:00
Pat Hartl
54400fdb10 Refactor server importers
Refactors server importers to better handle dependencies on other data in the queue.
2025-12-03 02:22:37 -06:00
Pat Hartl
6dfc0906ac Refactor launcher library importing, manifests
Switched the library importing in the launcher to work based on a queue. As a new game is added to the queue, it should find any related data and also add it to the queue. This should result in an easier to maintain importer while reducing the load on the launcher's DAL. This may result in more RAM usage while importing. Local manifests have also been refactored to match manifests in import/export LCX files, removing the old manifest format. This is a large breaking change that will probably break existing game installations. A migration will probably have to be created.
2025-11-29 18:24:27 -06:00
Pat Hartl
e6c12b4809 Refactor script debugging
Instead of providing delegates to a ScriptClient singleton, script execution now relies on dependency injection for debugging. This can be handled by registering an implementation of IScriptDebugger. Multiple script debuggers are supported. These changes required the creation of a PowerShellScriptFactory to handle DI of the service provider to the script.

In the case of LANCommander, "debugging" scripts really just gives an opportunity for the application to break after a script's execution and provide a poor-man's pty. This could be expanded upon in the future to hook directly into PowerShell's debugging functionality, but would require a substantial refactor to script execution.
2025-11-26 01:09:52 -06:00
Pat Hartl
55ad5ddb96 Use DefaultAsync for default storage location 2025-11-21 13:15:57 -06:00
Pat Hartl
7374c904a1 Fix mapping of primary action on export 2025-11-21 13:15:35 -06:00
Pat Hartl
47d78f66d9 Add basic routes for issues, move to minimal API, resolve using user ID 2025-11-21 00:25:59 -06:00
Pat Hartl
cf16d7619f Move game endpoints to minimal API, fix archive upload compressed size calculation 2025-11-20 22:04:20 -06:00
Pat Hartl
256b46e823 Fix storage of authentication token 2025-11-19 00:36:03 -06:00
Pat Hartl
f84a373d65 Correctly register ArchiveService as IArchiveClient implementation 2025-11-17 22:09:19 -06:00
Pat Hartl
772dd03537 Rename to ArchiveService 2025-11-17 22:09:03 -06:00
Pat Hartl
3a5b3f0897 Configure database on startup 2025-11-17 20:31:11 -06:00
Pat Hartl
add770b227 Refactor Settings
Settings for the server are now combined with the settings from the SDK. This introduces a large breaking change and a migration should be created. This refactor utilizes .NET Configuration and the Options pattern. This will allow for the overriding of any setting using envionment variables. It also means that Settings.yml can be used to override any .NET configuration. A SettingsProvider implementation was created, and any updating of settings was changed from SettingsService.SaveSettings() to SettingsProvider.Update(s => { ... })
2025-11-16 12:31:25 -06:00