Build Game Server / build (push) Successful in 20s
Implémente le pendant serveur du DTLSHandlerComponent d'UE (la pile client est
[DTLS, Stateless]) : le client exige un DTLS en mode PSK dont l'identité = user_id.
- DtlsPskStore : table user_id -> PSK 32o, chargée depuis l'env (PROSPECT_DTLS_PSKS,
rendu Vault) — aucune clé en dur ni commitée.
- DtlsPacketTransport : pont entre l'API bloquante DTLS de BouncyCastle et le modèle
paquet-par-paquet du PacketHandler (handshake sur thread dédié).
- ProspectPskTlsServer : serveur DTLS-PSK BouncyCastle (DTLS 1.2, identité=user_id).
- DTLSHandlerComponent : composant du pipeline (Incoming déchiffre / Outgoing chiffre),
activé au NMT_Hello portant un EncryptionToken.
- UWorld.NotifyControlMessage : sur NMT_Hello chiffré, si la PSK de l'identité est
connue -> NMT_EncryptionAck + BeginHandshake ; sinon warning (comme avant).
Compile (0 erreur, BouncyCastle 2.4). ⚠️ Le framing exact DTLS-sur-PacketHandler et
le routage des records de handshake demandent une ITÉRATION EN LIVE contre le vrai
client (invalidable hors client).
33 lines
1.8 KiB
XML
33 lines
1.8 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net8.0</TargetFramework>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<Nullable>enable</Nullable>
|
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
<Configurations>Debug;Release;Season 3 Release;Season 2 Release;Season 2 Debug;Season 3 Debug</Configurations>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
|
|
<CompilerGeneratedFilesOutputPath>Generated</CompilerGeneratedFilesOutputPath>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!--Don't include the output from a previous source generator execution into future runs; the */** trick here ensures that there's -->
|
|
<!--at least one subdirectory, which is our key that it's coming from a source generator as opposed to something that is coming from -->
|
|
<!--some other tool. -->
|
|
<Compile Remove="$(CompilerGeneratedFilesOutputPath)/*/**/*.cs" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Serilog" Version="4.0.0" />
|
|
<PackageReference Include="BouncyCastle.Cryptography" Version="2.4.0" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\Prospect.Unreal.Generator\Prospect.Unreal.Generator.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|