tgstation-server  4.4.0
The /tg/station 13 server suite
DreamDaemonLaunchParameters.cs
Go to the documentation of this file.
1 using System;
2 using System.ComponentModel.DataAnnotations;
3 
4 namespace Tgstation.Server.Api.Models.Internal
5 {
10  {
14  [Required]
15  public bool? AllowWebClient { get; set; }
16 
20  [Required]
21  [EnumDataType(typeof(DreamDaemonSecurity))]
22  public DreamDaemonSecurity? SecurityLevel { get; set; }
23 
27  [Required]
28  [Range(1, UInt16.MaxValue)]
29  public ushort? Port { get; set; }
30 
34  [Required]
35  [Range(1, UInt32.MaxValue)]
36  public uint? StartupTimeout { get; set; }
37 
41  [Required]
42  public uint? HeartbeatSeconds { get; set; }
43 
47  [Required]
48  [Range(1, UInt32.MaxValue)]
49  public uint? TopicRequestTimeout { get; set; }
50 
56  public bool CanApplyWithoutReboot(DreamDaemonLaunchParameters otherParameters) =>
57  AllowWebClient == (otherParameters?.AllowWebClient ?? throw new ArgumentNullException(nameof(otherParameters)))
58  && SecurityLevel == otherParameters.SecurityLevel
59  && Port == otherParameters.Port
60  && TopicRequestTimeout == otherParameters.TopicRequestTimeout; // We intentionally don't check StartupTimeout or heartbeat seconds as it doesn't matter in terms of the watchdog
61  }
62 }
ushort Port
The first port DreamDaemon uses. This should be the publically advertised port
DreamDaemonSecurity SecurityLevel
The DreamDaemonSecurity level of DreamDaemon
uint TopicRequestTimeout
The timeout for sending and receiving BYOND topics in milliseconds.
DreamDaemonSecurity
DreamDaemon's security level
bool AllowWebClient
If the BYOND web client can be used to connect to the game server