tgstation-server 6.12.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 {
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 public ushort? OpenDreamTopicPort { get; set; }
55
59 [Required]
60 [ResponseOptions]
61 [Range(1, UInt32.MaxValue)]
62 public uint? StartupTimeout { get; set; }
63
67 [Required]
68 [ResponseOptions]
69 public uint? HealthCheckSeconds { get; set; }
70
74 [Required]
75 [ResponseOptions]
76 public bool? DumpOnHealthCheckRestart { get; set; }
77
81 [Required]
82 [ResponseOptions]
83 [Range(1, UInt32.MaxValue)]
84 public uint? TopicRequestTimeout { get; set; }
85
89 [Required]
90 [ResponseOptions]
91 [StringLength(Limits.MaximumStringLength)]
92 public string? AdditionalParameters { get; set; }
93
97 [Required]
98 [ResponseOptions]
99 public bool? LogOutput { get; set; }
100
104 [Required]
105 [ResponseOptions]
106 public uint? MapThreads { get; set; }
107
111 [Required]
112 [ResponseOptions]
113 public bool? Minidumps { get; set; }
114
121 public bool CanApplyWithoutReboot(DreamDaemonLaunchParameters otherParameters, EngineType engineType)
122 {
123 if (otherParameters == null)
124 throw new ArgumentNullException(nameof(otherParameters));
125
126 return AllowWebClient == otherParameters.AllowWebClient
127 && SecurityLevel == otherParameters.SecurityLevel
128 && Visibility == otherParameters.Visibility
129 && Port == otherParameters.Port
130 && (OpenDreamTopicPort == otherParameters.OpenDreamTopicPort || engineType != EngineType.OpenDream)
131 && TopicRequestTimeout == otherParameters.TopicRequestTimeout
132 && AdditionalParameters == otherParameters.AdditionalParameters
133 && StartProfiler == otherParameters.StartProfiler
134 && LogOutput == otherParameters.LogOutput
135 && 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
136 }
137 }
138}
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.