feat: Add DorkNet.DebugMod for optional diagnostic features and improved debugging capabilities

This commit is contained in:
Alexa
2026-06-26 11:03:14 +03:00
parent 159ca2c271
commit 273352db08
4 changed files with 121 additions and 5 deletions
+31
View File
@@ -0,0 +1,31 @@
// DorkNet.DebugMod — opt-in debugging switch for DorkNet.ClientMod.
//
// This mod intentionally does almost nothing on its own. Its job is to
// EXIST: when its DLL sits in the Mods folder next to DorkNet.ClientMod.dll,
// the ClientMod detects it at startup (Cfg.EnableDiagnostics) and installs
// its verbose diagnostic patches — HTTP header/callback tracing, join/quit
// /studio traces, and the deep RegisterDiagnostics probes. Remove this DLL
// to ship a quiet, minimal client that only carries the connect + anti-cheat
// patches.
//
// Keeping the switch as a separate assembly (rather than a config flag baked
// into the shipping mod) means the diagnostics literally cannot turn
// themselves on in a normal install — you have to deliberately drop this
// file in. That is the "as safe as possible" default the main mod wants.
using MelonLoader;
[assembly: MelonInfo(typeof(DorkNet.DebugMod.DebugMod), "DorkNet DebugMod", "1.0.0", "Dork Squad")]
[assembly: MelonGame(null, null)]
namespace DorkNet.DebugMod;
public class DebugMod : MelonMod
{
public override void OnInitializeMelon()
{
LoggerInstance.Msg(
"=== DorkNet DebugMod present — DorkNet.ClientMod diagnostics are ENABLED. " +
"Remove DorkNet.DebugMod.dll from Mods to ship a quiet client. ===");
}
}
+40
View File
@@ -0,0 +1,40 @@
<Project Sdk="Microsoft.NET.Sdk">
<!--
DorkNet.DebugMod — the opt-in debugging companion to DorkNet.ClientMod.
The shipping ClientMod installs ONLY the patches needed to connect and
survive anti-cheat; all of its verbose diagnostic patches (HTTP header
tracing, join/quit/studio traces, the deep RegisterDiagnostics path) are
gated OFF by default. Dropping THIS dll into the Mods folder next to
DorkNet.ClientMod.dll flips Cfg.EnableDiagnostics on (the ClientMod
detects this dll's presence at startup), turning all of that tracing
back on. Remove it to ship a quiet, minimal client.
Build: dotnet build DorkNet.DebugMod/DorkNet.DebugMod.csproj -c Release
-->
<PropertyGroup>
<TargetFramework Condition="'$(TargetFramework)' == ''">net6.0</TargetFramework>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<RootNamespace>DorkNet.DebugMod</RootNamespace>
<AssemblyName>DorkNet.DebugMod</AssemblyName>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>
<NoWarn>$(NoWarn);CS8602;CS8604;CS0436</NoWarn>
</PropertyGroup>
<!-- Reuse the MelonLoader the ClientMod build already downloads. -->
<PropertyGroup>
<MelonLoaderDir Condition="'$(MelonLoaderDir)' == ''">$(MSBuildThisFileDirectory)..\DorkNet.ClientMod\build\melonloader\MelonLoader\net6</MelonLoaderDir>
</PropertyGroup>
<ItemGroup>
<Reference Include="MelonLoader">
<HintPath>$(MelonLoaderDir)\MelonLoader.dll</HintPath>
<Private>false</Private>
</Reference>
</ItemGroup>
</Project>