diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 302fe2b..db454e5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,15 +15,15 @@ jobs: build: runs-on: windows-2022 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Setup Dotnet - uses: actions/setup-dotnet@v1 + uses: actions/setup-dotnet@v4 with: - dotnet-version: '6.0.x' + dotnet-version: '8.0.x' - name: Setup MSBuild - uses: microsoft/setup-msbuild@v1.0.3 + uses: microsoft/setup-msbuild@v2.0.0 - name: Restore NuGet run: dotnet restore ${{env.PROJ_LAUNCHER}} @@ -39,11 +39,8 @@ jobs: - name: Build Prospect.Launcher run: dotnet publish -o ./Prospect-Launcher -r win-x64 --no-self-contained -c Release -v minimal ${{env.PROJ_LAUNCHER}} - - name: Compress Prospect.Launcher - run: 7z a launcher.zip ./Prospect-Launcher - - uses: actions/upload-artifact@v2 with: name: Prospect.Launcher - path: ./launcher.zip + path: ./Prospect-Launcher retention-days: 14 diff --git a/README.md b/README.md index 4aa4ab6..4726307 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Prospect -[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/AeonLucid/Prospect/Build?style=for-the-badge)](https://github.com/AeonLucid/Prospect/actions) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/AeonLucid/Prospect/build.yml?style=for-the-badge)](https://github.com/AeonLucid/Prospect/actions) Also known as "The Cycle: Frontier". diff --git a/src/Prospect.Launcher/Prospect.Launcher.csproj b/src/Prospect.Launcher/Prospect.Launcher.csproj index f7ba6cd..0997e76 100644 --- a/src/Prospect.Launcher/Prospect.Launcher.csproj +++ b/src/Prospect.Launcher/Prospect.Launcher.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net8.0 true true false diff --git a/src/Prospect.Server.Api/Controllers/ClientController.cs b/src/Prospect.Server.Api/Controllers/ClientController.cs index f16ca18..fced9c6 100644 --- a/src/Prospect.Server.Api/Controllers/ClientController.cs +++ b/src/Prospect.Server.Api/Controllers/ClientController.cs @@ -117,7 +117,8 @@ public class ClientController : Controller }); } - _logger.LogWarning("Invalid steam ticket specified, IsValid {IsValid}, HasValidSignature {Sig}, AppId {AppId}", + _logger.LogWarning("Invalid steam ticket specified, IsExpired {IsExpired}, IsValid {IsValid}, HasValidSignature {Sig}, AppId {AppId}", + ticket.IsExpired, ticket.IsValid, ticket.HasValidSignature, ticket.AppId); diff --git a/src/Prospect.Server.Api/Middleware/RequestLoggerMiddleware.cs b/src/Prospect.Server.Api/Middleware/RequestLoggerMiddleware.cs index b0a7e0c..00b5e08 100644 --- a/src/Prospect.Server.Api/Middleware/RequestLoggerMiddleware.cs +++ b/src/Prospect.Server.Api/Middleware/RequestLoggerMiddleware.cs @@ -1,6 +1,6 @@ using System.Text; +using System.Text.Json; using Microsoft.AspNetCore.Http.Extensions; -using Newtonsoft.Json; namespace Prospect.Server.Api.Middleware; @@ -45,7 +45,12 @@ public class RequestLoggerMiddleware var body = await reader.ReadToEndAsync(); if (body.StartsWith("{")) { - return JsonConvert.SerializeObject(JsonConvert.DeserializeObject(body), Formatting.Indented); + var bodyJson = JsonSerializer.SerializeToUtf8Bytes(JsonSerializer.Deserialize(body), new JsonSerializerOptions + { + WriteIndented = true + }); + + return Encoding.UTF8.GetString(bodyJson); } return body; diff --git a/src/Prospect.Server.Api/Models/Client/FUpdateUserDataRequest.cs b/src/Prospect.Server.Api/Models/Client/FUpdateUserDataRequest.cs index 5a4ee65..769042b 100644 --- a/src/Prospect.Server.Api/Models/Client/FUpdateUserDataRequest.cs +++ b/src/Prospect.Server.Api/Models/Client/FUpdateUserDataRequest.cs @@ -32,5 +32,5 @@ public class FUpdateUserDataRequest /// /// Unique PlayFab assigned ID of the user on whom the operation will be performed. /// - public string PlayFabId { get; set; } + public string? PlayFabId { get; set; } } \ No newline at end of file diff --git a/src/Prospect.Server.Api/Prospect.Server.Api.csproj b/src/Prospect.Server.Api/Prospect.Server.Api.csproj index 36873fc..d094fcf 100644 --- a/src/Prospect.Server.Api/Prospect.Server.Api.csproj +++ b/src/Prospect.Server.Api/Prospect.Server.Api.csproj @@ -1,16 +1,16 @@ - net6.0 + net8.0 true enable - - + + - + diff --git a/src/Prospect.Server.Api/Services/Database/DbUserDataService.cs b/src/Prospect.Server.Api/Services/Database/DbUserDataService.cs index 7cbcde0..12452c4 100644 --- a/src/Prospect.Server.Api/Services/Database/DbUserDataService.cs +++ b/src/Prospect.Server.Api/Services/Database/DbUserDataService.cs @@ -16,7 +16,7 @@ public class DbUserDataService : BaseDbService return await Collection.Find(data => data.PlayFabId == playFabId && data.Key == key).AnyAsync(); } - public async Task FindAsync(string playFabId, string key) + public async Task FindAsync(string playFabId, string key) { return await Collection.Find(data => data.PlayFabId == playFabId && data.Key == key).SingleOrDefaultAsync(); } diff --git a/src/Prospect.Server.Api/Services/UserData/UserDataService.cs b/src/Prospect.Server.Api/Services/UserData/UserDataService.cs index 180aeb3..765e51c 100644 --- a/src/Prospect.Server.Api/Services/UserData/UserDataService.cs +++ b/src/Prospect.Server.Api/Services/UserData/UserDataService.cs @@ -120,14 +120,14 @@ public class UserDataService /// /// The authenticated user id. /// - /// - /// The requested user id. + /// + /// The target user id. /// /// /// public async Task UpdateAsync( string currentUserId, - string requestUserId, + string? targetUserId, Dictionary changes) { if (changes.Count == 0) @@ -140,13 +140,13 @@ public class UserDataService throw new ArgumentNullException(nameof(currentUserId)); } - if (requestUserId == null) + if (targetUserId == null) { - requestUserId = currentUserId; + targetUserId = currentUserId; } // Whether we are updating someone else. - var other = currentUserId != requestUserId; + var other = currentUserId != targetUserId; foreach (var (key, value) in changes) { @@ -155,10 +155,11 @@ public class UserDataService { if (other) { - _logger.LogWarning("User {PlayFabId} attempted to update non-existing key {Key} of another user {PlayFabIdOther}", currentUserId, key, requestUserId); + _logger.LogWarning("User {PlayFabId} attempted to update non-existing key {Key} of another user {PlayFabIdOther}", currentUserId, key, targetUserId); } else { + _logger.LogDebug("User {PlayFabId} created key {Key}", currentUserId, key); await _dbUserDataService.InsertAsync(currentUserId, key, value, false); } diff --git a/src/Prospect.Server.Game/Prospect.Server.Game.csproj b/src/Prospect.Server.Game/Prospect.Server.Game.csproj index f747e6b..3659f1a 100644 --- a/src/Prospect.Server.Game/Prospect.Server.Game.csproj +++ b/src/Prospect.Server.Game/Prospect.Server.Game.csproj @@ -2,14 +2,14 @@ Exe - net6.0 + net8.0 enable enable - - + + diff --git a/src/Prospect.Steam/Prospect.Steam.csproj b/src/Prospect.Steam/Prospect.Steam.csproj index 660ff90..5210c96 100644 --- a/src/Prospect.Steam/Prospect.Steam.csproj +++ b/src/Prospect.Steam/Prospect.Steam.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 true diff --git a/src/Prospect.Unreal.Generator/Prospect.Unreal.Generator.csproj b/src/Prospect.Unreal.Generator/Prospect.Unreal.Generator.csproj index 531a40c..fdada5a 100644 --- a/src/Prospect.Unreal.Generator/Prospect.Unreal.Generator.csproj +++ b/src/Prospect.Unreal.Generator/Prospect.Unreal.Generator.csproj @@ -11,12 +11,8 @@ - - - - - - + + diff --git a/src/Prospect.Unreal.Tests/Core/FStringTests.cs b/src/Prospect.Unreal.Tests/Core/FStringTests.cs index 8871d8a..3435a58 100644 --- a/src/Prospect.Unreal.Tests/Core/FStringTests.cs +++ b/src/Prospect.Unreal.Tests/Core/FStringTests.cs @@ -22,6 +22,6 @@ public class FStringTests var reader = new FNetBitReader(null, writer.GetData(), (int)writer.GetNumBits()); var read = FString.Deserialize(reader); - Assert.AreEqual(testValue, read); + Assert.That(read, Is.EqualTo(testValue)); } } \ No newline at end of file diff --git a/src/Prospect.Unreal.Tests/Net/Packets/Header/FPackedHeaderTests.cs b/src/Prospect.Unreal.Tests/Net/Packets/Header/FPackedHeaderTests.cs index e62d99f..42eb4f7 100644 --- a/src/Prospect.Unreal.Tests/Net/Packets/Header/FPackedHeaderTests.cs +++ b/src/Prospect.Unreal.Tests/Net/Packets/Header/FPackedHeaderTests.cs @@ -11,20 +11,20 @@ public class FPackedHeaderTests [TestCase((uint)1221642592, (ushort)4660)] public void TestGetSeq(uint input, ushort output) { - Assert.AreEqual(output, FPackedHeader.GetSeq(input).Value); + Assert.That(FPackedHeader.GetSeq(input).Value, Is.EqualTo(output)); } [Test] [TestCase((uint)1221642592, (ushort)3222)] public void TestGetAckedSeq(uint input, ushort output) { - Assert.AreEqual(output, FPackedHeader.GetAckedSeq(input).Value); + Assert.That(FPackedHeader.GetAckedSeq(input).Value, Is.EqualTo(output)); } [Test] [TestCase((uint)1221642592, (uint)0)] public void TestGetHistoryWordCount(uint input, uint output) { - Assert.AreEqual(output, FPackedHeader.GetHistoryWordCount(input)); + Assert.That(FPackedHeader.GetHistoryWordCount(input), Is.EqualTo(output)); } } \ No newline at end of file diff --git a/src/Prospect.Unreal.Tests/Prospect.Unreal.Tests.csproj b/src/Prospect.Unreal.Tests/Prospect.Unreal.Tests.csproj index d986c73..6ad5418 100644 --- a/src/Prospect.Unreal.Tests/Prospect.Unreal.Tests.csproj +++ b/src/Prospect.Unreal.Tests/Prospect.Unreal.Tests.csproj @@ -1,17 +1,20 @@ - net6.0 + net8.0 enable false - - - - + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/src/Prospect.Unreal/Net/FActorSpawnParameters.cs b/src/Prospect.Unreal/Net/FActorSpawnParameters.cs index 1c564d7..a570378 100644 --- a/src/Prospect.Unreal/Net/FActorSpawnParameters.cs +++ b/src/Prospect.Unreal/Net/FActorSpawnParameters.cs @@ -7,6 +7,10 @@ namespace Prospect.Unreal.Net; public ref struct FActorSpawnParameters { + public FActorSpawnParameters() + { + } + /// /// A name to assign as the Name of the Actor being spawned. /// If no value is specified, the name of the spawned Actor will be automatically generated using the form [Class]_[Number]. diff --git a/src/Prospect.Unreal/Prospect.Unreal.csproj b/src/Prospect.Unreal/Prospect.Unreal.csproj index 2ec82ff..69d0772 100644 --- a/src/Prospect.Unreal/Prospect.Unreal.csproj +++ b/src/Prospect.Unreal/Prospect.Unreal.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 enable enable true @@ -20,7 +20,7 @@ - +