mirror of
https://github.com/RaidMax/IW4M-Admin.git
synced 2025-06-13 00:28:10 -05:00
Update projects to .net 8 (#326)
* Update codebase to target .NET 8.0 and improve JSON serialization This commit switches our target framework from .NET 6.0 to .NET 8.0 and replaces Newtonsoft.Json with System.Text.Json for serialization. The JsonConverter classes have been updated to support the new JSON model and some enhancements were applied to the codebase such as fixing a command property and updating various package references. * Align with Develop * Update SharedLibraryCore package version The version of the SharedLibraryCore package reference has been updated across multiple projects from '2024.2.4.85' to '2024.2.5.9'. Meanwhile, version within SharedLibraryCore.csproj has been changed from '2024.02.04.085' to '2024.01.01.1'. Changes also include removal of .NET 8 requirement notice and reenabling of status upload to master communicator. * Update properties in IRConParser and IRConParserConfiguration to be settable The properties in the `IRConParser` and `IRConParserConfiguration` interfaces were updated to include setters. Previously, the properties in these interfaces were read-only. This change allows for the modifications and extensions of properties defined, thereby bolstering flexibility for the handling of games and parsers. * Replace RestEase with Refit in API usage Refit has been implemented as a replacement for RestEase in all API calls. As such, all related code, parameters and imports have been adjusted to function with Refit. Logic has also been added to handle certain Refit-specific behaviours. Occurrences of the RestEase package have been removed from the project. * Enable auto-redirect in HttpClient The HttpClient instance used in Application/Main.cs has been modified to automatically follow redirect responses. This was accomplished by adding "AllowAutoRedirect = true" to the HttpClientHandler used when creating the HttpClient. --------- Co-authored-by: Amos <amos2580@hotmail.co.uk>
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Data.Models;
|
||||
@ -19,6 +20,9 @@ namespace SharedLibraryCore.Interfaces
|
||||
/// <returns></returns>
|
||||
Task Kick(string reason, EFClient target, EFClient origin, EFPenalty previousPenalty = null);
|
||||
|
||||
IPEndPoint ResolvedIpEndPoint { get; }
|
||||
IRConParser RconParser { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Execute a server command
|
||||
/// </summary>
|
||||
@ -35,72 +39,72 @@ namespace SharedLibraryCore.Interfaces
|
||||
/// <param name="token"><see cref="CancellationToken"/></param>
|
||||
/// <returns></returns>
|
||||
Task SetDvarAsync(string name, object value, CancellationToken token = default);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Time the most recent match ended
|
||||
/// </summary>
|
||||
DateTime? MatchEndTime { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Time the current match started
|
||||
/// </summary>
|
||||
DateTime? MatchStartTime { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// List of connected clients
|
||||
/// </summary>
|
||||
IReadOnlyList<EFClient> ConnectedClients { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Game code corresponding to the development studio project
|
||||
/// </summary>
|
||||
Reference.Game GameCode { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Indicates if the anticheat/custom callbacks/live radar integration is enabled
|
||||
/// </summary>
|
||||
bool IsLegacyGameIntegrationEnabled { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Unique identifier for the server (typically ip:port)
|
||||
/// </summary>
|
||||
string Id { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Network address the server is listening on
|
||||
/// </summary>
|
||||
string ListenAddress { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Network port the server is listening on
|
||||
/// </summary>
|
||||
int ListenPort { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Name of the server (hostname)
|
||||
/// </summary>
|
||||
string ServerName { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Current gametype
|
||||
/// </summary>
|
||||
string Gametype { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Game password (required to join)
|
||||
/// </summary>
|
||||
string GamePassword { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Number of private client slots
|
||||
/// </summary>
|
||||
int PrivateClientSlots { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Current map the game server is running
|
||||
/// </summary>
|
||||
Map Map { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Database id for EFServer table and references
|
||||
/// </summary>
|
||||
|
Reference in New Issue
Block a user