100 Commits
Author SHA1 Message Date
chylex a1ed4f9d20 Detect and retry changed files during backups instead of using Minecraft commands to pause saving 2026-04-05 14:29:35 +02:00
chylex 49bdcc3db3 Rename 'folder' to 'directory' across the codebase 2026-04-05 02:50:16 +02:00
chylex 21bfdf90ee Merge Phantom.Agent.Minecraft project into Phantom.Agent.Services 2026-02-26 05:40:49 +01:00
chylex 298f9adac2 Introduce instance stop recipes 2026-02-26 05:39:39 +01:00
chylex e1e8963ff4 Introduce instance launch recipes 2026-02-26 05:39:30 +01:00
chylex 59bcc7d538 Fix broken error log during Agent launch 2026-02-21 03:39:53 +01:00
chylex ea66f9f056 Prevent Ctrl-C from killing Agent's child processes on Windows 2025-12-30 04:02:46 +01:00
chylex 9a69a6b2bb Update to .NET 10 and C# 14 2025-12-29 23:26:51 +01:00
chylex 27e70d47c3 Rework Agent configuration and authorization 2025-12-28 22:22:55 +01:00
chylex 68e0801e4f Fix logging templates 2025-12-28 04:02:38 +01:00
chylex 1a75e3f6bc Update dotnet-ef to 9.0.9 2025-12-25 06:13:31 +01:00
chylex 65e763a5be Update Akka.NET to 1.5.51 & use per-actor timers 2025-10-04 04:07:24 +02:00
chylex 34ae619e4a Update Serilog to 4.3.0 2025-10-04 03:05:51 +02:00
chylex 8eb615b16c Update EF Core to 9.0.9 & update related dependencies 2025-10-04 03:02:21 +02:00
chylex 1badad1112 Use ASP.NET Core 9's new static asset convention 2025-10-04 02:48:15 +02:00
chylex ce91c84855 Update ASP.NET Core libraries to 9.0.9 2025-10-04 02:46:56 +02:00
chylex f77b545909 Replace Kajabity.Tools.Java with a custom Properties file reader and writer 2025-10-04 02:20:01 +02:00
chylex e9a815d715 Update MemoryPack to 1.21.4 2025-09-30 20:00:20 +02:00
chylex 5c4342f4f2 Negotiate message codes during RPC handshake 2025-09-29 12:47:11 +02:00
chylex 186b208bbf Fix Rider syntax style inspections 2025-09-27 10:01:31 +02:00
chylex e5288ec55c Fix exception spam and wrong behavior when detecting online player count on a slow server 2025-09-27 08:36:54 +02:00
chylex f94e21fde8 Replace NetMQ with custom TCP networking 2025-09-26 15:42:11 +02:00
chylex 591a6a62ab Reformat code 2025-08-21 20:31:21 +02:00
chylex ae32537d8c Update to .NET 9 and C# 13 2025-08-08 22:04:41 +02:00
chylex 8149d31d51 Update Java versions in Dockerfile 2024-07-14 10:40:36 +02:00
chylex 9873f8779f Show online and maximum player count on Instances page on Web 2024-04-12 16:29:50 +02:00
chylex 31e101b21e Retrieve both online and maximum player count from Minecraft servers 2024-04-12 13:30:48 +02:00
chylex 398bb14742 Refactor online player count detection in Agent 2024-04-12 05:28:15 +02:00
chylex 4e89d7b12f Fix instance stop timeout not killing the process
Caused by 72ddaf91.
2024-04-12 05:28:15 +02:00
chylex 3b313bf0a8 Disable sync chunk writes to avoid lag during backups 2024-04-12 05:28:15 +02:00
chylex 21c90cb7c2 Fix null in Web login message reply 2024-04-08 00:03:41 +02:00
chylex 7b68b5d50d Implement backend logic for per-agent user access control 2024-04-07 23:53:27 +02:00
chylex 2d70d2b7d1 Update dotnet-ef to 8.0.3 2024-04-07 23:20:14 +02:00
chylex 8c623171f3 Add missing ARIA role to error messages on Web 2024-04-07 21:38:02 +02:00
chylex 62f8c685f0 Update Home page on Web 2024-04-07 21:21:05 +02:00
chylex 4a110db078 Fix label and spacing around instance command input field on Web 2024-04-07 17:08:10 +02:00
chylex f683a1f700 Invalidate Web authorization when a user is updated/deleted 2024-04-07 17:05:24 +02:00
chylex 3ffb37529c Add user permission checking to Controller 2024-04-06 23:26:04 +02:00
chylex 4c3b81c54a Fix not re-focusing instance command input after sending a command on Web 2024-04-05 13:37:49 +02:00
chylex 8e2b019aa1 Fix exception due to disposed CancellationTokenSource in Minecraft server downloader 2024-04-05 13:34:42 +02:00
chylex 9a2c13c1e0 Add support for backups on older Minecraft versions 2024-04-05 12:56:32 +02:00
chylex 991b32032c Add "Backing Up" instance status 2024-04-05 11:37:55 +02:00
chylex 875fd9a766 Add timeouts while waiting for server output during backups 2024-04-05 02:41:46 +02:00
chylex f7f08ec55c Fix backups not working with Forge log format 2024-04-04 20:44:17 +02:00
chylex 1b12fd9c3b Guard loading instances from database from exceptions 2024-04-04 20:37:37 +02:00
chylex 424dccb14e Migrate InstanceActionResult to Result type 2024-04-01 11:22:45 +02:00
chylex d03f532996 Make Result type serializable 2024-03-31 18:24:22 +02:00
chylex c99f5bc6bf Remove login session management logic from Web 2024-03-31 12:07:33 +02:00
chylex d591318340 Fix missing audit logs for user login/logout 2024-03-30 17:18:27 +01:00
chylex c7b57fac97 Fix Rider inspections 2024-03-30 17:08:57 +01:00
chylex 137a2a53c3 Replace remaining uses of TaskManager 2024-03-30 09:25:08 +01:00
chylex 94148add2d Force invariant culture for all applications 2024-03-30 08:23:39 +01:00
chylex c1cbb848a9 Increase Agent buffer size for instance logs 2024-03-30 07:50:29 +01:00
chylex 9fcc3c53fc Catch "The pipe is being closed" Windows exception when stopping instance 2024-03-30 07:50:29 +01:00
chylex 72ddaf91ad Implement actors in Agent via Akka.NET 2024-03-30 07:50:29 +01:00
chylex 02828a91c6 Migrate event log to Akka.NET 2024-03-23 00:21:39 +01:00
chylex 7cdb0a1910 Migrate RPC message handling to Akka.NET 2024-03-23 00:21:39 +01:00
chylex 0d039b69de Implement actors in Controller via Akka.NET 2024-03-11 00:01:54 +01:00
chylex 8911a2257a Fix typo in instance event type 2024-01-25 15:25:22 +01:00
chylex a1dec2f117 Update and fix Dockerfile 2024-01-25 14:55:30 +01:00
chylex de72e77c7b Update dependencies 2023-12-27 22:45:12 +01:00
chylex 9c06178a63 Fix double padding in table cells with both clickable rows and custom classes 2023-12-27 22:45:12 +01:00
chylex e981425ce5 Make table rows on the Instances page on Web clickable 2023-12-20 07:51:55 +01:00
chylex 1ded0e50b2 Redesign Web navigation 2023-12-20 06:11:24 +01:00
chylex e679b17e3b Redesign Web tables 2023-12-20 06:11:24 +01:00
chylex 578ec2d11c Clean up Web project 2023-12-18 06:04:12 +01:00
chylex 2471dc04f1 Improve handling of missing registration message 2023-12-17 18:38:23 +01:00
chylex 5bc474d455 Define message groups and use queues to send and process messages within each group sequentially 2023-12-17 07:41:58 +01:00
chylex 3cab9a0152 Move Controller RPC code into the RPC utils project 2023-12-17 07:41:57 +01:00
chylex 8b0452ead6 Move logging to a utils project 2023-12-17 06:49:18 +01:00
chylex 96456f90bc Reimplement Web service 2023-12-05 14:27:55 +01:00
chylex e69b0245aa Refactor methods for sending messages and waiting for replies 2023-12-02 06:30:06 +01:00
chylex cd332a6571 Fix Controller handling messages from unauthorized Agents 2023-10-23 14:03:15 +02:00
chylex 2a9bb9e6ac Extract classes for client-to-server RPC connection 2023-10-23 14:03:13 +02:00
chylex 55b853d227 Fully separate Controller and Web into their own services - Controller compiling and setup 2023-10-23 14:02:58 +02:00
chylex 627e7436fd Remove unnecessary trailing spaces 2023-10-23 01:16:44 +02:00
chylex 339b958e45 Move methods that convert enums and discriminated unions to sentences 2023-10-21 17:53:12 +02:00
chylex 3a17eee8d0 Update namespaces in Controller and Web projects 2023-10-09 17:15:24 +02:00
chylex 2c623cbd9a Split Phantom Server projects into separate Controller and Web folders 2023-10-09 17:15:24 +02:00
chylex 346eab0b1b Replace ASP.NET Identity with a custom solution 2023-10-09 14:08:11 +02:00
chylex 956f1e779b Enable new .NET 8 artifacts output folder 2023-10-08 14:20:25 +02:00
chylex 2e8238a3bc Update dependencies 2023-10-07 17:50:26 +02:00
chylex 346ca5de75 Remove dependency on coverlet.collector 2023-10-07 16:40:45 +02:00
chylex 3e93ad9217 Fix wrong zstd parameters causing source files to not be removed in newer versions 2023-06-16 15:37:55 +02:00
chylex 07c31ac70b Update Docker images to multi-arch & reduce build size 2023-04-07 01:33:14 +02:00
chylex c89e30cd3f Update to .NET 8 2023-04-07 01:33:13 +02:00
chylex 0091fa11fb Merge several Utils projects 2023-04-07 01:33:13 +02:00
chylex 20ff2871fa Switch to Eclipse Temurin JRE in Docker images 2023-04-05 19:43:02 +02:00
chylex f211708509 Fix not internally updating selected Minecraft version when switching version types 2023-04-04 19:52:51 +02:00
chylex ad7964677e Fix not flushing logs when calling Environment.Exit 2023-04-02 09:17:39 +02:00
chylex 626f141a2c Enable version tolerant mode for all MemoryPack structures 2023-04-01 08:27:09 +02:00
chylex 46dba1a4fa Revert "Add JVM argument to disable signal handling to prevent instant termination of Minecraft processes"
This reverts commit e699513036.
2023-03-30 04:24:02 +02:00
chylex 476de00cfd Delegate JVM argument validation to Server only 2023-03-30 04:00:22 +02:00
chylex 2180e0c067 Fix exception while shutting down instance procedures 2023-03-28 03:45:00 +02:00
chylex a9646c5bbc Convert backup procedure into an instance procedure 2023-03-28 03:30:37 +02:00
chylex 01d6648b1f Rework Agent instance state management into a procedure-based system 2023-03-27 06:12:35 +02:00
chylex def6c41a77 Remove Phantom.Common.Minecraft project 2023-03-07 12:53:42 +01:00
chylex 3f976295bd Make writing server.properties file asynchronous 2023-03-07 12:53:42 +01:00
chylex 9d9734d1fd Fix audit log event when editing user roles 2023-03-05 07:49:56 +01:00
chylex 267c5ad921 Reduce InstanceProcess output ring buffer capacity 2023-03-05 07:38:07 +01:00