Commit graph

50 commits

Author SHA1 Message Date
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
ceb0eeb36b Move server lifecycle management to ServerManager. Add autostop delay to servers. 2026-06-14 00:53:38 -05:00
Pat Hartl
15bc84016a Add UI for editing option schema
- Moves Redistributables for games to separate panel
- Add option override for games
- Add Monaco completions for option schema editing
- Add UI for editing options for a redistributable
- Add config importing to translate from INI, JSON, XML, etc to redist option schema
2026-05-16 19:28:04 -05:00
Pat Hartl
8d25b20c62 Add LANCommander HQ metadata/media provider 2026-05-07 01:11:41 -05:00
Pat Hartl
e448ce69fb Fix missing RatingService 2026-04-25 14:44:12 -05:00
Pat Hartl
b677328a25 Fix missing depot service 2026-04-25 13:59:24 -05:00
Pat Hartl
f05a32c907 Add ffmpeg/yt-dlp checks / installers in settings 2026-04-24 02:26:09 -05:00
Pat Hartl
3fe6bea7e5 Added "Preview" edit view, flesh out media picker
- Added sort order to media for screenshots and videos
- Added new "Preview" pane to game editor. Simulates the game details view in the launcher and allows for in-place media upload / grabbing
- Added abstractions for media grabbing
- Added subtitle to media picker dialog to indicate which services provide which assets
- Added preview for videos
- Made media searching faster overall
2026-04-24 02:05:56 -05:00
Pat Hartl
de38e609a5 Add remote LANCommander server installs as viable server engine 2026-03-08 13:49:30 -05:00
Pat Hartl
99eeb4193f Rework metadata lookup to support multiple providers, merging 2026-03-03 22:29:41 -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
c5506b440f Move Steam integrations to separate assembly, add cmdlets for various Steam actions 2026-01-24 16:37:07 -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
17fa802c19 Implementation of script debugger component with RPC via SignalR 2025-12-10 20:55:38 -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
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
Pat Hartl
4535d9891a Add chat read status, badges to avatars, avatars for groups 2025-11-12 18:26:25 -06:00
Pat Hartl
d24f72beed Merge branch 'main' into refactor/sdk-dependency-injection
# Conflicts:
#	LANCommander.SDK/LANCommander.SDK.csproj
2025-09-25 19:38:21 -05:00
Pat Hartl
1daeb5fc10 Migrate to new AutoMapper DI 2025-09-25 19:12:49 -05:00
Pat Hartl
d875377f15 Rename SDK services -> clients, implement new configuration, use dependency injection for clients 2025-09-24 20:58:23 -05:00
Pat Hartl
fd3fbf4a75 Initial backend implementation for chat 2025-08-19 03:08:30 -05:00
Pat Hartl
14f103fddd Service to interact with SteamCMD 2025-08-03 18:20:39 -05:00
Pat Hartl
305a6e1b7d Remove antiforgery, fix auth service registration 2025-07-30 20:42:15 -05:00
Pat Hartl
6ec919d1be Separate import and export functionality
This refactor splits the import and export functionality out of the ImportContext and adds an ExportContext. This also introduced separate importer and exporter implementations.

Additionally, adding archive, save, scripts, and server files to the final export archive has been implemented at the exporter implementation for each instead of handling it in the context. This should be a good pattern if other files need to be added down the road.
2025-07-27 17:51:50 -05:00
Pat Hartl
a5dab5c094 Merge branch 'main' into refactor/optional-import-export
# Conflicts:
#	LANCommander.Server.Services/GameService.cs
#	LANCommander.Server.Services/ImportService.cs
#	LANCommander.Server.Services/Importers/GameImporter.cs
#	LANCommander.Server.Services/UserService.cs
#	LANCommander.Server/UI/Components/AvatarUploader.razor
#	LANCommander.Server/UI/Components/ImportUploadDialog.razor
2025-07-25 18:42:39 -05:00
Pat Hartl
47d5b0b58a Working selective export (at least for manifest) 2025-07-25 17:57:33 -05:00
Pat Hartl
2e073e9332 Render export dialog, resolve circular DI issues
- Fixed circular DI issues with importers and importer context
- Added additional mappings for data <-> manifest models
- Avoid null reference exceptions when trying to export archives/media where files don't exist
- Consolidate import dialogs
- Render selectable flags in export dialog
- Fixed various media uploaders to use new MediaService.WriteToFile
2025-07-19 17:39:55 -05:00
RattleSN4K3
81511a9cd3 Clear Archives cache to update client manifest request when validating files 2025-05-17 23:04:54 +02:00
Pat Hartl
a6dbb01e63 Strip punctuation from search
Fixes #240
2025-05-04 16:32:22 -05:00
Pat Hartl
041a0069ee Add DiscoveryBeacon, DiscoveryProbe, new beacon message
Adds a discovery beacon and probe to the client and removes BeaconService from the server.
2025-04-23 21:23:33 -05:00
Pat Hartl
d75095aa64 Simplify importer DI, start laying out import dialog 2025-04-10 19:45:41 -05:00
Pat Hartl
255e9d9f04 Add method to get info about imports, register importers 2025-04-09 19:44:07 -05:00
Pat Hartl
13527e8ef2 Working in game imports 2025-03-29 20:10:35 -05:00
Pat Hartl
0d8cfaf423 Working control of Docker containers 2025-03-25 20:48:19 -05:00
Pat Hartl
e86e5d8b44 Use server engines to start/stop servers 2025-03-24 00:19:33 -05:00
Pat Hartl
b5dbda3eec Add UI for editing Docker hosts, add database migration 2025-03-23 20:19:18 -05:00
Pat Hartl
2e63b6e8e7 Tests for UpdateService methods that access GitHub 2025-03-16 19:37:23 -05:00
Pat Hartl
55d2c84c1f Add interface for GitHubService 2025-03-16 14:36:17 -05:00
Pat Hartl
d138baae67 Fix missing service registration 2025-03-16 14:04:27 -05:00
Pat Hartl
86c906f8db Add project for automated tests
Had to remove the responsibility of providing the current version of the application from UpdateService. A new IVersionProvider can be used to get the version. This also allows for this to be mocked in tests.
2025-03-15 21:00:00 -05:00
Pat Hartl
a5471aa9c2 Fix adding data with relationships 2025-02-23 08:50:16 -06:00
Pat Hartl
b9746d64a4 Add ability to disable user libraries
Some checks failed
LANCommander Release / prep (push) Failing after 32s
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
LANCommander SDK Release / prep (push) Failing after 13s
LANCommander SDK Release / publish (push) Has been skipped
2025-02-22 00:43:03 -06:00
Pat Hartl
2909f151df Add tags to cache entries 2025-02-09 01:37:31 -06:00
Pat Hartl
abe8fe74d1 Fix missing extension 2025-02-03 00:58:26 -06:00
Pat Hartl
d81b39dc79 Expire addon cache 2025-01-27 02:47:06 -06:00
Pat Hartl
488ee72394 Expire actions when expiring game caches 2025-01-25 12:45:48 -06:00
Pat Hartl
b4080c8f22 Change cache keys, add extension to clear game cache by ID 2025-01-23 00:25:11 -06:00
Pat Hartl
91ee1d47a9 Move data and service layers to separate projects, update packages 2024-10-07 18:04:26 -05:00