mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-28 15:40:56 +01:00
Merge pull request #1254 from tgstation/dev [TGSDeploy][DMDeploy]
v4.11.0
This commit is contained in:
+2
-2
@@ -3,12 +3,12 @@
|
||||
<!-- Integration tests will ensure they match across the board -->
|
||||
<Import Project="ControlPanelVersion.props" />
|
||||
<PropertyGroup>
|
||||
<TgsCoreVersion>4.10.6</TgsCoreVersion>
|
||||
<TgsCoreVersion>4.11.0</TgsCoreVersion>
|
||||
<TgsConfigVersion>3.0.0</TgsConfigVersion>
|
||||
<TgsApiVersion>9.0.1</TgsApiVersion>
|
||||
<TgsApiLibraryVersion>9.0.0</TgsApiLibraryVersion>
|
||||
<TgsClientVersion>10.0.0</TgsClientVersion>
|
||||
<TgsDmapiVersion>6.0.3</TgsDmapiVersion>
|
||||
<TgsDmapiVersion>6.0.4</TgsDmapiVersion>
|
||||
<TgsInteropVersion>5.3.0</TgsInteropVersion>
|
||||
<TgsHostWatchdogVersion>1.1.1</TgsHostWatchdogVersion>
|
||||
<TgsContainerScriptVersion>1.2.0</TgsContainerScriptVersion>
|
||||
|
||||
+3
-1
@@ -1,6 +1,6 @@
|
||||
// tgstation-server DMAPI
|
||||
|
||||
#define TGS_DMAPI_VERSION "6.0.3"
|
||||
#define TGS_DMAPI_VERSION "6.0.4"
|
||||
|
||||
// All functions and datums outside this document are subject to change with any version and should not be relied on.
|
||||
|
||||
@@ -102,6 +102,8 @@
|
||||
// #define TGS_EVENT_WORLD_REBOOT 20
|
||||
/// Watchdog event when TgsInitializationComplete() is called. No parameters.
|
||||
#define TGS_EVENT_WORLD_PRIME 21
|
||||
// DMAPI also doesnt implement this
|
||||
// #define TGS_EVENT_DREAM_DAEMON_LAUNCH 22
|
||||
|
||||
// OTHER ENUMS
|
||||
|
||||
|
||||
@@ -137,5 +137,11 @@ namespace Tgstation.Server.Host.Components.Events
|
||||
/// </summary>
|
||||
[EventScript("WorldPrime")]
|
||||
WorldPrime,
|
||||
|
||||
/// <summary>
|
||||
/// After DD has launched. Not the same as WatchdogLaunch. Parameters: PID of DreamDaemon
|
||||
/// </summary>
|
||||
[EventScript("DreamDaemonLaunch")]
|
||||
DreamDaemonLaunch,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -271,6 +271,7 @@ namespace Tgstation.Server.Host.Components
|
||||
platformIdentifier,
|
||||
bridgeRegistrar,
|
||||
serverPortProvider,
|
||||
eventConsumer,
|
||||
loggerFactory,
|
||||
loggerFactory.CreateLogger<SessionControllerFactory>(),
|
||||
metadata);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Threading;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Tgstation.Server.Api.Models.Internal;
|
||||
using Tgstation.Server.Host.Components.Byond;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Net.Sockets;
|
||||
using System.Text;
|
||||
@@ -11,6 +12,7 @@ using Tgstation.Server.Api.Models.Internal;
|
||||
using Tgstation.Server.Host.Components.Byond;
|
||||
using Tgstation.Server.Host.Components.Chat;
|
||||
using Tgstation.Server.Host.Components.Deployment;
|
||||
using Tgstation.Server.Host.Components.Events;
|
||||
using Tgstation.Server.Host.Components.Interop;
|
||||
using Tgstation.Server.Host.Components.Interop.Bridge;
|
||||
using Tgstation.Server.Host.Core;
|
||||
@@ -80,6 +82,11 @@ namespace Tgstation.Server.Host.Components.Session
|
||||
/// </summary>
|
||||
readonly IServerPortProvider serverPortProvider;
|
||||
|
||||
/// <summary>
|
||||
/// The <see cref="IEventConsumer"/> for the <see cref="SessionControllerFactory"/>
|
||||
/// </summary>
|
||||
readonly IEventConsumer eventConsumer;
|
||||
|
||||
/// <summary>
|
||||
/// The <see cref="ILoggerFactory"/> for the <see cref="SessionControllerFactory"/>
|
||||
/// </summary>
|
||||
@@ -95,6 +102,8 @@ namespace Tgstation.Server.Host.Components.Session
|
||||
/// </summary>
|
||||
readonly Api.Models.Instance instance;
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Change a given <paramref name="securityLevel"/> into the appropriate DreamDaemon command line word
|
||||
/// </summary>
|
||||
@@ -145,6 +154,7 @@ namespace Tgstation.Server.Host.Components.Session
|
||||
/// <param name="serverPortProvider">The value of <see cref="serverPortProvider"/>.</param>
|
||||
/// <param name="loggerFactory">The value of <see cref="loggerFactory"/></param>
|
||||
/// <param name="logger">The value of <see cref="logger"/>.</param>
|
||||
/// <param name="eventConsumer">The value of <see cref="EventConsumer"/>.</param>
|
||||
public SessionControllerFactory(
|
||||
IProcessExecutor processExecutor,
|
||||
IByondManager byond,
|
||||
@@ -157,6 +167,7 @@ namespace Tgstation.Server.Host.Components.Session
|
||||
IPlatformIdentifier platformIdentifier,
|
||||
IBridgeRegistrar bridgeRegistrar,
|
||||
IServerPortProvider serverPortProvider,
|
||||
EventConsumer eventConsumer,
|
||||
ILoggerFactory loggerFactory,
|
||||
ILogger<SessionControllerFactory> logger,
|
||||
Api.Models.Instance instance)
|
||||
@@ -173,6 +184,7 @@ namespace Tgstation.Server.Host.Components.Session
|
||||
this.platformIdentifier = platformIdentifier ?? throw new ArgumentNullException(nameof(platformIdentifier));
|
||||
this.bridgeRegistrar = bridgeRegistrar ?? throw new ArgumentNullException(nameof(bridgeRegistrar));
|
||||
this.serverPortProvider = serverPortProvider ?? throw new ArgumentNullException(nameof(serverPortProvider));
|
||||
this.eventConsumer = eventConsumer ?? throw new ArgumentNullException(nameof(eventConsumer));
|
||||
this.loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory));
|
||||
this.logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
||||
}
|
||||
@@ -345,6 +357,17 @@ namespace Tgstation.Server.Host.Components.Session
|
||||
false,
|
||||
apiValidate);
|
||||
|
||||
// If this isnt a staging DD (From a Deployment), fire off an event
|
||||
if (!apiValidate)
|
||||
await eventConsumer.HandleEvent(
|
||||
EventType.DreamDaemonLaunch,
|
||||
new List<string>
|
||||
{
|
||||
process.Id.ToString(CultureInfo.InvariantCulture)
|
||||
},
|
||||
cancellationToken)
|
||||
.ConfigureAwait(false);
|
||||
|
||||
return sessionController;
|
||||
}
|
||||
catch
|
||||
|
||||
Reference in New Issue
Block a user