tgstation-server 5.12.7
The /tg/station 13 server suite
Loading...
Searching...
No Matches
DreamDaemonLaunchParameters.cs
Go to the documentation of this file.
1using System;
2using System.ComponentModel.DataAnnotations;
3
5{
10 {
14 [Required]
15 [ResponseOptions]
16 public bool? AllowWebClient { get; set; }
17
21 [Required]
22 [ResponseOptions]
23 public bool? StartProfiler { get; set; }
24
28 [Required]
29 [ResponseOptions]
30 [EnumDataType(typeof(DreamDaemonVisibility))]
31 public DreamDaemonVisibility? Visibility { get; set; }
32
36 [Required]
37 [ResponseOptions]
38 [EnumDataType(typeof(DreamDaemonSecurity))]
39 public DreamDaemonSecurity? SecurityLevel { get; set; }
40
44 [Required]
45 [ResponseOptions]
46 [Range(1, UInt16.MaxValue)]
47 public ushort? Port { get; set; }
48
52 [Required]
53 [ResponseOptions]
54 [Range(1, UInt32.MaxValue)]
55 public uint? StartupTimeout { get; set; }
56
60 [Required]
61 [ResponseOptions]
62 public uint? HealthCheckSeconds { get; set; }
63
67 [Required]
68 [ResponseOptions]
69 public bool? DumpOnHealthCheckRestart { get; set; }
70
74 [Required]
75 [ResponseOptions]
76 [Range(1, UInt32.MaxValue)]
77 public uint? TopicRequestTimeout { get; set; }
78
82 [Required]
83 [ResponseOptions]
84 [StringLength(Limits.MaximumStringLength)]
85 public string? AdditionalParameters { get; set; }
86
90 [Required]
91 [ResponseOptions]
92 public bool? LogOutput { get; set; }
93
100 {
101 if (otherParameters == null)
102 throw new ArgumentNullException(nameof(otherParameters));
103
104 return AllowWebClient == otherParameters.AllowWebClient
105 && SecurityLevel == otherParameters.SecurityLevel
106 && Visibility == otherParameters.Visibility
107 && Port == otherParameters.Port
108 && TopicRequestTimeout == otherParameters.TopicRequestTimeout
109 && AdditionalParameters == otherParameters.AdditionalParameters
110 && StartProfiler == otherParameters.StartProfiler
111 && LogOutput == otherParameters.LogOutput; // We intentionally don't check StartupTimeout, health check seconds, or health check dump as they don't matter in terms of the watchdog
112 }
113 }
114}
ushort? Port
The port DreamDaemon uses. This should be publically accessible.
DreamDaemonVisibility? Visibility
The DreamDaemonVisibility level of DreamDaemon.
bool? LogOutput
If process output/error text should be logged.
uint? TopicRequestTimeout
The timeout for sending and receiving BYOND topics in milliseconds.
bool? AllowWebClient
If the BYOND web client can be used to connect to the game server.
uint? HealthCheckSeconds
The number of seconds between each watchdog health check. 0 disables.
uint? StartupTimeout
The DreamDaemon startup timeout in seconds.
bool? StartProfiler
If -profile is passed in on the DreamDaemon command line.
DreamDaemonSecurity? SecurityLevel
The DreamDaemonSecurity level of DreamDaemon.
bool CanApplyWithoutReboot(DreamDaemonLaunchParameters otherParameters)
Check if we match a given set of otherParameters . StartupTimeout is excluded.
bool? DumpOnHealthCheckRestart
If a process core dump should be created prior to restarting the watchdog due to health check failure...
Sanity limits to prevent users from overloading.
Definition: Limits.cs:9
const int MaximumStringLength
Length limit for strings in fields.
Definition: Limits.cs:13
DreamDaemonVisibility
The visibility setting for DreamDaemon.
DreamDaemonSecurity
DreamDaemon's security level.