MX.CodDemoReader
1.0.15
dotnet add package MX.CodDemoReader --version 1.0.15
NuGet\Install-Package MX.CodDemoReader -Version 1.0.15
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MX.CodDemoReader" Version="1.0.15" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MX.CodDemoReader" Version="1.0.15" />
<PackageReference Include="MX.CodDemoReader" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MX.CodDemoReader --version 1.0.15
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MX.CodDemoReader, 1.0.15"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MX.CodDemoReader@1.0.15
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MX.CodDemoReader&version=1.0.15
#tool nuget:?package=MX.CodDemoReader&version=1.0.15
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MX.CodDemoReader
A .NET library for reading metadata from Call of Duty 2, 4, and 5 Huffman-encoded demo files. Extracts game configuration, map names, server details, and other metadata without full demo playback.
Installation
dotnet add package MX.CodDemoReader
Quick Start
Reading Demo Configuration
using MX.CodDemoReader;
await using var stream = File.OpenRead("demo0001.dm_1");
var reader = new DemoReader(stream, GameVersion.CallOfDuty4);
IDictionary<string, string> config = reader.ReadConfiguration();
Console.WriteLine($"Map: {config["mapname"]}");
Console.WriteLine($"Server: {config["sv_hostname"]}");
Console.WriteLine($"Game Mode: {config["g_gametype"]}");
Using LocalDemo for File-Based Access
using MX.CodDemoReader;
var demo = new LocalDemo("path/to/demo0001.dm_1", GameVersion.CallOfDuty4);
Console.WriteLine($"Name: {demo.Name}");
Console.WriteLine($"Map: {demo.Map}");
Console.WriteLine($"Server: {demo.ServerName}");
Console.WriteLine($"Game Mode: {demo.GameMode}");
Console.WriteLine($"Created: {demo.Created}");
Console.WriteLine($"File Size: {demo.FileSize}");
Console.WriteLine($"Valid: {demo.IsValid}");
// Open the demo stream for further processing
await using var stream = demo.Open();
Supported Games
| Game | GameVersion Value |
Demo Extension |
|---|---|---|
| Call of Duty 2 | GameVersion.CallOfDuty2 |
.dm_1 |
| Call of Duty 4: Modern Warfare | GameVersion.CallOfDuty4 |
.dm_1 |
| Call of Duty: World at War | GameVersion.CallOfDuty5 |
.dm_1 |
Key Types
| Type | Description |
|---|---|
DemoReader |
Parses demo file streams to extract configuration |
LocalDemo |
File-based IDemo implementation with metadata extraction |
IDemo |
Interface for demo file abstraction |
GameVersion |
Enum: Unknown, CallOfDuty2, CallOfDuty4, CallOfDuty5 |
License
This project is licensed under the GPL-3.0-only license.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.