tgstation-server 6.12.0
The /tg/station 13 server suite
Loading...
Searching...
No Matches
EngineExecutableLock.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using System.Threading;
3using System.Threading.Tasks;
4
5using Microsoft.Extensions.Logging;
6
12
14{
17 {
19 public EngineVersion Version => Instance.Version;
20
22 public string ServerExePath => Instance.ServerExePath;
23
25 public string CompilerExePath => Instance.CompilerExePath;
26
28 public bool HasStandardOutput => Instance.HasStandardOutput;
29
31 public bool PreferFileLogging => Instance.PreferFileLogging;
32
34 public bool PromptsForNetworkAccess => Instance.PromptsForNetworkAccess;
35
37 public Task InstallationTask => Instance.InstallationTask;
38
40 public bool UseDotnetDump => Instance.UseDotnetDump;
41
44
46 public string FormatServerArguments(
47 IDmbProvider dmbProvider,
48 IReadOnlyDictionary<string, string> parameters,
49 DreamDaemonLaunchParameters launchParameters,
50 string? logFilePath)
51 => Instance.FormatServerArguments(
52 dmbProvider,
53 parameters,
54 launchParameters,
55 logFilePath);
56
58 public string FormatCompilerArguments(string dmePath, string? additionalArguments) => Instance.FormatCompilerArguments(dmePath, additionalArguments);
59
61 public ValueTask StopServerProcess(ILogger logger, IProcess process, string accessIdentifier, ushort port, CancellationToken cancellationToken)
62 => Instance.StopServerProcess(
63 logger,
64 process,
65 accessIdentifier,
66 port,
67 cancellationToken);
68
70 public ValueTask<Dictionary<string, string>?> LoadEnv(ILogger logger, bool forCompiler, CancellationToken cancellationToken)
71 => Instance.LoadEnv(logger, forCompiler, cancellationToken);
72 }
73}
Information about an engine installation.
string CompilerExePath
The full path to the dm/DreamMaker executable.
ValueTask< Dictionary< string, string >?> LoadEnv(ILogger logger, bool forCompiler, CancellationToken cancellationToken)
Loads the environment settings for either the server or compiler.A ValueTask<TResult> resulting in th...
bool PreferFileLogging
If HasStandardOutput is set, this indicates that the engine server has good file logging that should ...
string FormatServerArguments(IDmbProvider dmbProvider, IReadOnlyDictionary< string, string > parameters, DreamDaemonLaunchParameters launchParameters, string? logFilePath)
Return the command line arguments for launching with given launchParameters .The formatted arguments ...
string FormatCompilerArguments(string dmePath, string? additionalArguments)
Return the command line arguments for compiling a given dmePath if compilation is necessary....
string ServerExePath
The full path to the game server executable.
void DoNotDeleteThisSession()
Call if, during a detach, this version should not be deleted.
bool PromptsForNetworkAccess
If ServerExePath may create network prompts.
bool HasStandardOutput
If ServerExePath supports being run as a command-line application and outputs log information to be c...
Task InstallationTask
The Task that completes when the BYOND version finished installing.
ValueTask StopServerProcess(ILogger logger, IProcess process, string accessIdentifier, ushort port, CancellationToken cancellationToken)
Kills a given engine server process .A ValueTask representing the running operation.
EngineVersion Version
The EngineVersion of the IEngineInstallation.
bool UseDotnetDump
If dotnet-dump should be used to create process dumps for this installation.
Class used for counting references with ReferenceCountingContainer<TWrapped, TReference>.
void DangerousDropReference()
Prevents the aquired reference from being dropped when Dispose is called.
Provides absolute paths to the latest compiled .dmbs.
Represents usage of the two primary BYOND server executables.
Abstraction over a global::System.Diagnostics.Process.
Definition IProcess.cs:11