Radicade Public Code

This commit is contained in:
JogmansonReal
2026-10-16 23:33:13 -07:00
commit 55175acdf6
832 changed files with 363261 additions and 0 deletions
+77
View File
@@ -0,0 +1,77 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UserSecretsId>d0633c8b-2e66-42fc-9a45-4729a639a449</UserSecretsId>
<RootNamespace>RadicadeServer</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CSharpDiscordWebhook" Version="3.0.2" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.11" />
<!-- SignalR ships in the Microsoft.AspNetCore.App shared framework on net9.0.
The old 1.2.0 package references (ASP.NET Core 2.x era) shadowed the framework
assemblies and are the classic cause of a notify hub that negotiates but never
delivers. Do not re-add them. -->
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.11">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.11" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.21.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.5-beta1" />
<PackageReference Include="Serilog.AspNetCore" Version="8.0.3" />
<PackageReference Include="Serilog.Sinks.File" Version="6.0.0" />
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.12" />
<PackageReference Include="SixLabors.ImageSharp.Web" Version="3.2.0" />
</ItemGroup>
<ItemGroup>
<Folder Include=".\RecNet\UGC\" />
<Folder Include="API\Auth\" />
<Folder Include="API\CampusCard\" />
<Folder Include="RadicadeServer-Config\" />
<Folder Include="Radicade\Gifts\" />
</ItemGroup>
<ItemGroup>
<None Update=".\images.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Discord\Webhooks\webhooks*.json">
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</None>
</ItemGroup>
<!-- The storefront catalogs are compiled into the server, not loaded from a database:
Program.cs calls StorefrontCatalog.Load() at boot and every storefront response is
served out of these payloads (RadicadeServer.RecNet.Storefront.StorefrontCatalog).
They are embedded as resources so the catalog survives a database wipe, a fresh
install, and a build output that ships without RadicadeServer-Config.
A capture dropped into RadicadeServer-Config/storefronts/sf{id}.json still overrides
the embedded copy for that storefront, which is how a price or an item is changed
without a rebuild. -->
<ItemGroup>
<EmbeddedResource Include="RadicadeServer-Config\storefronts\sf*.json">
<LogicalName>StorefrontCaptures/%(Filename)%(Extension)</LogicalName>
</EmbeddedResource>
<EmbeddedResource Include="Avatars\starter-avatar-items.json" LogicalName="StarterAvatarItems.json" />
</ItemGroup>
<!-- The official Rec Room loading-screen art. Program.cs calls
LoadingScreenImages.EnsureInstalled() at boot, which writes any of these that the image
CDN folder is missing, and CDNConfigAPI cycles the loading screen through exactly this
set - nothing else in the folder is used for loading screens. Embedded rather than read
from disk so a fresh checkout or a wiped CDN folder restores the art on its own. -->
<ItemGroup>
<EmbeddedResource Include="LoadingScreens\*.png">
<LogicalName>LoadingScreens/%(Filename)%(Extension)</LogicalName>
</EmbeddedResource>
</ItemGroup>
</Project>