147 lines
4.5 KiB
C#
147 lines
4.5 KiB
C#
using System.Text.Json.Serialization;
|
|
|
|
namespace Types.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<int> 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<string> 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; }
|
|
} |