Files
SPT-Server-Build/Core/Models/Spt/Server/SettingsBase.cs
T
2025-01-08 14:01:23 +00:00

147 lines
4.4 KiB
C#

using System.Text.Json.Serialization;
namespace Core.Models.Spt.Server;
public class SettingsBase
{
[JsonPropertyName("config")]
public Config? Configuration { get; set; }
}
public class Config
{
[JsonPropertyName("AFKTimeoutSeconds")]
public int? AFKTimeoutSeconds { get; set; }
[JsonPropertyName("AdditionalRandomDelaySeconds")]
public int? AdditionalRandomDelaySeconds { get; set; }
[JsonPropertyName("ClientSendRateLimit")]
public int? ClientSendRateLimit { get; set; }
[JsonPropertyName("CriticalRetriesCount")]
public int? CriticalRetriesCount { get; set; }
[JsonPropertyName("DefaultRetriesCount")]
public int? DefaultRetriesCount { get; set; }
[JsonPropertyName("FirstCycleDelaySeconds")]
public int? FirstCycleDelaySeconds { get; set; }
[JsonPropertyName("FramerateLimit")]
public FramerateLimit? FramerateLimit { get; set; }
[JsonPropertyName("GroupStatusInterval")]
public int? GroupStatusInterval { get; set; }
[JsonPropertyName("GroupStatusButtonInterval")]
public int? GroupStatusButtonInterval { get; set; }
[JsonPropertyName("KeepAliveInterval")]
public int? KeepAliveInterval { get; set; }
[JsonPropertyName("LobbyKeepAliveInterval")]
public int? LobbyKeepAliveInterval { get; set; }
[JsonPropertyName("Mark502and504AsNonImportant")]
public bool? Mark502and504AsNonImportant { get; set; }
[JsonPropertyName("MemoryManagementSettings")]
public MemoryManagementSettings? MemoryManagementSettings { get; set; }
[JsonPropertyName("NVidiaHighlights")]
public bool? NVidiaHighlights { get; set; }
[JsonPropertyName("NextCycleDelaySeconds")]
public int? NextCycleDelaySeconds { get; set; }
[JsonPropertyName("PingServerResultSendInterval")]
public int? PingServerResultSendInterval { get; set; }
[JsonPropertyName("PingServersInterval")]
public int? PingServersInterval { get; set; }
[JsonPropertyName("ReleaseProfiler")]
public ReleaseProfiler? ReleaseProfiler { get; set; }
[JsonPropertyName("RequestConfirmationTimeouts")]
public List<double>? RequestConfirmationTimeouts { get; set; }
[JsonPropertyName("RequestsMadeThroughLobby")]
public List<string>? RequestsMadeThroughLobby { get; set; }
[JsonPropertyName("SecondCycleDelaySeconds")]
public int? SecondCycleDelaySeconds { get; set; }
[JsonPropertyName("ShouldEstablishLobbyConnection")]
public bool? ShouldEstablishLobbyConnection { get; set; }
[JsonPropertyName("TurnOffLogging")]
public bool? TurnOffLogging { get; set; }
[JsonPropertyName("WeaponOverlapDistanceCulling")]
public int? WeaponOverlapDistanceCulling { get; set; }
[JsonPropertyName("WebDiagnosticsEnabled")]
public bool? WebDiagnosticsEnabled { get; set; }
[JsonPropertyName("NetworkStateView")]
public NetworkStateView? NetworkStateView { get; set; }
[JsonPropertyName("WsReconnectionDelays")]
public List<int>? WsReconnectionDelays { get; set; }
}
public class FramerateLimit
{
[JsonPropertyName("MaxFramerateGameLimit")]
public int? MaxFramerateGameLimit { get; set; }
[JsonPropertyName("MaxFramerateLobbyLimit")]
public int? MaxFramerateLobbyLimit { get; set; }
[JsonPropertyName("MinFramerateLimit")]
public int? MinFramerateLimit { get; set; }
}
public class MemoryManagementSettings
{
[JsonPropertyName("AggressiveGC")]
public bool? AggressiveGC { get; set; }
[JsonPropertyName("GigabytesRequiredToDisableGCDuringRaid")]
public int? GigabytesRequiredToDisableGCDuringRaid { get; set; }
[JsonPropertyName("HeapPreAllocationEnabled")]
public bool? HeapPreAllocationEnabled { get; set; }
[JsonPropertyName("HeapPreAllocationMB")]
public int? HeapPreAllocationMB { get; set; }
[JsonPropertyName("OverrideRamCleanerSettings")]
public bool? OverrideRamCleanerSettings { get; set; }
[JsonPropertyName("RamCleanerEnabled")]
public bool? RamCleanerEnabled { get; set; }
}
public class ReleaseProfiler
{
[JsonPropertyName("Enabled")]
public bool? Enabled { get; set; }
[JsonPropertyName("MaxRecords")]
public int? MaxRecords { get; set; }
[JsonPropertyName("RecordTriggerValue")]
public int? RecordTriggerValue { get; set; }
}
public class NetworkStateView
{
[JsonPropertyName("LossThreshold")]
public int? LossThreshold { get; set; }
[JsonPropertyName("RttThreshold")]
public int? RttThreshold { get; set; }
}