tgstation-server  4.3.2
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, 65535)]
29  public ushort? PrimaryPort { get; set; }
30 
34  [Required]
35  [Range(1, 65535)]
36  public ushort? SecondaryPort { get; set; }
37 
41  [Required]
42  public uint? StartupTimeout { get; set; }
43 
47  [Required]
48  public uint? HeartbeatSeconds { get; set; }
49 
55  public bool CanApplyWithoutReboot(DreamDaemonLaunchParameters otherParameters) =>
56  AllowWebClient == (otherParameters?.AllowWebClient ?? throw new ArgumentNullException(nameof(otherParameters)))
57  && SecurityLevel == otherParameters.SecurityLevel
58  && PrimaryPort == otherParameters.PrimaryPort
59  && SecondaryPort == otherParameters.SecondaryPort; // We intentionally don't check StartupTimeout or heartbeat seconds as it doesn't matter in terms of the watchdog
60  }
61 }
DreamDaemonSecurity SecurityLevel
The DreamDaemonSecurity level of DreamDaemon
DreamDaemonSecurity
DreamDaemon's security level
ushort PrimaryPort
The first port DreamDaemon uses. This should be the publically advertised port
bool AllowWebClient
If the BYOND web client can be used to connect to the game server