From: AeonLucid Date: Sun, 1 Nov 2020 18:59:11 +0000 (+0100) Subject: Add replay to build script X-Git-Tag: v1.2.2~54 X-Git-Url: https://git.deb.at/?a=commitdiff_plain;h=fccb542631c6ece0c905d4274a47a169ce6c6b33;p=rhonda%2Fimpostor.git Add replay to build script --- diff --git a/build.cake b/build.cake index 14491d6..64bc0bd 100644 --- a/build.cake +++ b/build.cake @@ -103,10 +103,23 @@ Task("Patch") ReplaceRegexInFiles("./src/**/*.props", @".*?<\/Version>", "" + buildVersion + ""); }); +Task("Replay") + .Does(() => { + // D:\Projects\GitHub\Impostor\Impostor\src\Impostor.Tools.ServerReplay\sessions + DotNetCoreRun( + "./src/Impostor.Tools.ServerReplay/Impostor.Tools.ServerReplay.csproj", + "./src/Impostor.Tools.ServerReplay/sessions", new DotNetCoreRunSettings { + Configuration = configuration, + NoRestore = true, + Framework = "net5.0" + }); + }); + Task("Build") .IsDependentOn("Clean") .IsDependentOn("Patch") .IsDependentOn("Restore") + .IsDependentOn("Replay") .Does(() => { // Tests. DotNetCoreBuild("./src/Impostor.Tests/Impostor.Tests.csproj", new DotNetCoreBuildSettings { diff --git a/src/Impostor.Server/Net/State/ClientPlayer.cs b/src/Impostor.Server/Net/State/ClientPlayer.cs index 9e7d805..addbf5f 100644 --- a/src/Impostor.Server/Net/State/ClientPlayer.cs +++ b/src/Impostor.Server/Net/State/ClientPlayer.cs @@ -85,4 +85,4 @@ namespace Impostor.Server.Net.State } } } -} \ No newline at end of file +} diff --git a/src/Impostor.Tools.ServerReplay/Program.cs b/src/Impostor.Tools.ServerReplay/Program.cs index 3fe40e6..af2ffd9 100644 --- a/src/Impostor.Tools.ServerReplay/Program.cs +++ b/src/Impostor.Tools.ServerReplay/Program.cs @@ -12,6 +12,7 @@ using Impostor.Api.Net; using Impostor.Api.Net.Messages; using Impostor.Api.Net.Messages.C2S; using Impostor.Hazel; +using Impostor.Hazel.Extensions; using Impostor.Server.Events; using Impostor.Server.Net; using Impostor.Server.Net.Factories; @@ -29,8 +30,6 @@ namespace Impostor.Tools.ServerReplay { internal static class Program { - private const string GameRecorderPath = "C:\\DevData\\ImpostorSessions"; - private static readonly ILogger Logger = Log.ForContext(typeof(Program)); private static readonly Dictionary Connections = new Dictionary(); private static readonly Dictionary GameOptions = new Dictionary(); @@ -52,17 +51,21 @@ namespace Impostor.Tools.ServerReplay var stopwatch = Stopwatch.StartNew(); - // Create service provider. - _serviceProvider = BuildServices(); + foreach (var file in Directory.GetFiles(args[0])) + { + // Clear. + Connections.Clear(); + GameOptions.Clear(); - // Create required instances. - _readerPool = _serviceProvider.GetRequiredService>(); - _gameCodeFactory = _serviceProvider.GetRequiredService(); - _clientManager = _serviceProvider.GetRequiredService(); - _gameManager = _serviceProvider.GetRequiredService(); + // Create service provider. + _serviceProvider = BuildServices(); + + // Create required instances. + _readerPool = _serviceProvider.GetRequiredService>(); + _gameCodeFactory = _serviceProvider.GetRequiredService(); + _clientManager = _serviceProvider.GetRequiredService(); + _gameManager = _serviceProvider.GetRequiredService(); - foreach (var file in Directory.GetFiles(GameRecorderPath)) - { await using (var stream = File.Open(file, FileMode.Open, FileAccess.Read, FileShare.Read)) using (var reader = new BinaryReader(stream)) { @@ -96,6 +99,8 @@ namespace Impostor.Tools.ServerReplay services.AddSingleton(); services.AddSingleton(); + services.AddHazel(); + return services.BuildServiceProvider(); } diff --git a/src/Impostor.Tools.ServerReplay/sessions/session_1604255331821.dat b/src/Impostor.Tools.ServerReplay/sessions/session_1604255331821.dat new file mode 100644 index 0000000..e5f441b Binary files /dev/null and b/src/Impostor.Tools.ServerReplay/sessions/session_1604255331821.dat differ