New ASP.NET Core 8 web project, standalone (no project references). Serves the CDN-mirror tree from a configured root via UseStaticFiles mounted at /dl/, with ServeUnknownFileTypes=true + DefaultContentType=octet-stream since blob filenames are bare MD5 hashes with no extension and asset extensions (.unity3d/.acb/.usm) aren't in the default MIME map. Configuration: SVSIM_CONTENT_ROOT env var (or Content:Root in appsettings, or --Content:Root cli arg) points at the asset root containing the dl/ subdirectory. The asset root is populated by data_dumps/scripts/ content_cdn_mirror.py in the outer repo (~22 GB Eng+Jpn). Listens on port 5149 (distinct from EmulatedEntrypoint's 5148). Lightweight request logging via inline middleware emits status/method/path/ms for every request. /health returns "ok". End-to-end smoke verified against the populated working copy at 4670rPsPMVlRTd2: - Both lang tier-1s served (Eng 1013b / Jpn 955b), MD5s match live CDN. - A category manifest (bg_assetmanifest Eng) served + verified. - A 4.5 MB font asset bundle served + MD5-verified. - A Jpn voice from Sound/Jpn/ served + MD5-verified. - Hardlinked content (master_ai_ally_common.unity3d, hash shared across langs) served identically from both Resource/Eng/ and Resource/Jpn/. - 404 for missing blobs (correct). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
60 lines
4.2 KiB
Plaintext
60 lines
4.2 KiB
Plaintext
|
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
#
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SVSim.EmulatedEntrypoint", "SVSim.EmulatedEntrypoint\SVSim.EmulatedEntrypoint.csproj", "{B345A858-043F-404E-9D98-B5A6CA2EACA9}"
|
|
EndProject
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SVSim.Database", "SVSim.Database\SVSim.Database.csproj", "{9CE5D4F0-0D98-4E1C-942F-D692978F6103}"
|
|
EndProject
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SVSim.UnitTests", "SVSim.UnitTests\SVSim.UnitTests.csproj", "{00E87101-F286-46F3-858E-83AB1CEBF8D1}"
|
|
EndProject
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SVSim.Bootstrap", "SVSim.Bootstrap\SVSim.Bootstrap.csproj", "{666786D9-9A4D-49EA-A759-39055C57F9AA}"
|
|
EndProject
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SVSim.BattleNode", "SVSim.BattleNode\SVSim.BattleNode.csproj", "{F4549DD3-566A-4155-8D52-3A4D2A7072F7}"
|
|
EndProject
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SVSim.BattleEngine", "SVSim.BattleEngine\SVSim.BattleEngine.csproj", "{CCE23D9D-6A66-456B-9812-F09B1FDA3C81}"
|
|
EndProject
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SVSim.BattleEngine.Tests", "SVSim.BattleEngine.Tests\SVSim.BattleEngine.Tests.csproj", "{68F3F596-CAD5-4326-8779-AD8C7BD20CDA}"
|
|
EndProject
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SVSim.ContentServer", "SVSim.ContentServer\SVSim.ContentServer.csproj", "{AC3897E1-7745-49D0-BFA1-7D859D317C07}"
|
|
EndProject
|
|
Global
|
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
Debug|Any CPU = Debug|Any CPU
|
|
Release|Any CPU = Release|Any CPU
|
|
EndGlobalSection
|
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
{B345A858-043F-404E-9D98-B5A6CA2EACA9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{B345A858-043F-404E-9D98-B5A6CA2EACA9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{B345A858-043F-404E-9D98-B5A6CA2EACA9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{B345A858-043F-404E-9D98-B5A6CA2EACA9}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{9CE5D4F0-0D98-4E1C-942F-D692978F6103}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{9CE5D4F0-0D98-4E1C-942F-D692978F6103}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{9CE5D4F0-0D98-4E1C-942F-D692978F6103}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{9CE5D4F0-0D98-4E1C-942F-D692978F6103}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{00E87101-F286-46F3-858E-83AB1CEBF8D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{00E87101-F286-46F3-858E-83AB1CEBF8D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{00E87101-F286-46F3-858E-83AB1CEBF8D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{00E87101-F286-46F3-858E-83AB1CEBF8D1}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{666786D9-9A4D-49EA-A759-39055C57F9AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{666786D9-9A4D-49EA-A759-39055C57F9AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{666786D9-9A4D-49EA-A759-39055C57F9AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{666786D9-9A4D-49EA-A759-39055C57F9AA}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{F4549DD3-566A-4155-8D52-3A4D2A7072F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{F4549DD3-566A-4155-8D52-3A4D2A7072F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{F4549DD3-566A-4155-8D52-3A4D2A7072F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{F4549DD3-566A-4155-8D52-3A4D2A7072F7}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{CCE23D9D-6A66-456B-9812-F09B1FDA3C81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{CCE23D9D-6A66-456B-9812-F09B1FDA3C81}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{CCE23D9D-6A66-456B-9812-F09B1FDA3C81}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{CCE23D9D-6A66-456B-9812-F09B1FDA3C81}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{68F3F596-CAD5-4326-8779-AD8C7BD20CDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{68F3F596-CAD5-4326-8779-AD8C7BD20CDA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{68F3F596-CAD5-4326-8779-AD8C7BD20CDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{68F3F596-CAD5-4326-8779-AD8C7BD20CDA}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{AC3897E1-7745-49D0-BFA1-7D859D317C07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{AC3897E1-7745-49D0-BFA1-7D859D317C07}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{AC3897E1-7745-49D0-BFA1-7D859D317C07}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{AC3897E1-7745-49D0-BFA1-7D859D317C07}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
EndGlobalSection
|
|
EndGlobal
|