tgstation-server 6.14.0
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 {
15 [Required]
16 [ResponseOptions]
17 public bool? AllowWebClient { get; set; }
18
22 [Required]
23 [ResponseOptions]
24 public bool? StartProfiler { get; set; }
25
30 [Required]
31 [ResponseOptions]
32 [EnumDataType(typeof(DreamDaemonVisibility))]
33 public DreamDaemonVisibility? Visibility { get; set; }
34
39 [Required]
40 [ResponseOptions]
41 [EnumDataType(typeof(DreamDaemonSecurity))]
42 public DreamDaemonSecurity? SecurityLevel { get; set; }
43
48 [Required]
49 [ResponseOptions]
50 [Range(1, UInt16.MaxValue)]
51 public ushort? Port { get; set; }
52
57 [Required]
58 [ResponseOptions]
59 public ushort? OpenDreamTopicPort { get; set; }
60
65 [Required]
66 [ResponseOptions]
67 [Range(1, UInt32.MaxValue)]
68 public uint? StartupTimeout { get; set; }
69
74 [Required]
75 [ResponseOptions]
76 public uint? HealthCheckSeconds { get; set; }
77
81 [Required]
82 [ResponseOptions]
83 public bool? DumpOnHealthCheckRestart { get; set; }
84
89 [Required]
90 [ResponseOptions]
91 [Range(1, UInt32.MaxValue)]
92 public uint? TopicRequestTimeout { get; set; }
93
97 [Required]
98 [ResponseOptions]
99 [StringLength(Limits.MaximumStringLength)]
100 public string? AdditionalParameters { get; set; }
101
105 [Required]
106 [ResponseOptions]
107 public bool? LogOutput { get; set; }
108
112 [Required]
113 [ResponseOptions]
114 public uint? MapThreads { get; set; }
115
119 [Required]
120 [ResponseOptions]
121 public bool? Minidumps { get; set; }
122
129 public bool CanApplyWithoutReboot(DreamDaemonLaunchParameters otherParameters, EngineType engineType)
130 {
131 if (otherParameters == null)
132 throw new ArgumentNullException(nameof(otherParameters));
133
134 return AllowWebClient == otherParameters.AllowWebClient
135 && SecurityLevel == otherParameters.SecurityLevel
136 && Visibility == otherParameters.Visibility
137 && Port == otherParameters.Port
138 && (OpenDreamTopicPort == otherParameters.OpenDreamTopicPort || engineType != EngineType.OpenDream)
139 && TopicRequestTimeout == otherParameters.TopicRequestTimeout
140 && AdditionalParameters == otherParameters.AdditionalParameters
141 && StartProfiler == otherParameters.StartProfiler
142 && LogOutput == otherParameters.LogOutput
143 && MapThreads == otherParameters.MapThreads; // We intentionally don't check StartupTimeout, Minidumps, health check seconds, or health check dump as they don't matter in terms of the watchdog
144 }
145 }
146}
ushort? Port
The port DreamDaemon uses. This should be publically accessible.
DreamDaemonVisibility? Visibility
The DreamDaemonVisibility level of DreamDaemon. No-op for EngineType.OpenDream.
bool CanApplyWithoutReboot(DreamDaemonLaunchParameters otherParameters, EngineType engineType)
Check if we match a given set of otherParameters . StartupTimeout is excluded.
ushort? OpenDreamTopicPort
The port used by EngineType.OpenDream for its topic port.
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. No-op for EngineType....
uint? HealthCheckSeconds
The number of seconds between each watchdog health check. 0 disables.
bool? StartProfiler
If -profile is passed in on the DreamDaemon command line. No-op for EngineType.OpenDream.
DreamDaemonSecurity? SecurityLevel
The DreamDaemonSecurity level of DreamDaemon. No-op for EngineType.OpenDream.
bool? Minidumps
If minidumps should be taken instead of full dumps.
bool? DumpOnHealthCheckRestart
If a process core dump should be created prior to restarting the watchdog due to health check failure...
uint? MapThreads
If DreamDaemon supports it, the value added as the -map-threads parameter. 0 uses the default BYOND v...
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.
EngineType
The type of engine the codebase is using.
Definition EngineType.cs:7
@ Required
DMAPI validation must suceed for the deployment to succeed.