SteamGamesNet 0.0.4

There is a newer version of this package available.
See the version list below for details.
dotnet add package SteamGamesNet --version 0.0.4
NuGet\Install-Package SteamGamesNet -Version 0.0.4
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="SteamGamesNet" Version="0.0.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SteamGamesNet --version 0.0.4
#r "nuget: SteamGamesNet, 0.0.4"
#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.
// Install SteamGamesNet as a Cake Addin
#addin nuget:?package=SteamGamesNet&version=0.0.4

// Install SteamGamesNet as a Cake Tool
#tool nuget:?package=SteamGamesNet&version=0.0.4

SteamGamesNet

A wrapper, to get all (possible) informations about apps/games using the ID, which will be supplied as RawSteamGame to easily access data without parsing.

Technologies used

SteamGamesNet was created using .NET Core 6.0 and relies on the following Nuget packages and dependencies:

Features

Nuget

SteamGamesNet is available as a Nuget package. You can download it from here: SteamGamesNet

Usage

Example

Constructor parameters for optional changes

You can optionally provide language and user-agent information while instantiating the SteamGamesClient object as shown below:

SteamGamesClient(string language = "", string useragent = "")

Get the content of the steam.signatures file as object

The SteamFilesWithSignatures() method gives back a List<SteamSignatureValue>, containing HashValues, Filepaths etc. SteamFilesWithSignatures()

List<SteamSignatureValue> signatureValues = await SteamClient.SteamFilesWithSignatures();
Get all games that are currently downloading or updating

The GetActiveDownloadedGames() or GetActiveDownloadedGamesWithInfoAsync() methods give you a list of app id's or a list of RawSteamGame-objects GetActiveDownloadedGames() GetActiveDownloadedGamesWithInfoAsync()

int[] ActiveDownloadingSteamappsWithoutInfo in SteamClient.GetActiveDownloadedGames()

List<RawSteamGame> ActiveDownloadingSteamappsWithInfo = await SteamClient.GetActiveDownloadedGamesWithInfoAsync();
Get all installed steamapps on the device (Windows only)

The GetAllSteamGameIds() method is used to get all installed Steam apps on the device (Windows only). Here is an example:

GetAllSteamGameIds()

SteamGamesClient SgC = new();
int[] SteamIdList = SgC.GetAllSteamGameIds();

if (SteamIdList.Length > 0)
{
    SteamIdList.ToList().ForEach(SteamGameId => Console.WriteLine(SteamGameId));
}
else
{
    Console.WriteLine("No games found on this device");
}
Get data of an app, using the app id

The GetAppData() method is used to get app data using an app ID. Here is an example:

GetAppData()

SteamGamesClient SgC = new();
int ExampleSteamAppId = 787790;

int ExampleCorruptSteamAppId = 899998;
RawSteamGame ExampleApp = SgC.GetAppData(ExampleSteamAppId);

if (ExampleApp != null)
{
    Console.WriteLine("Example output:");
    Console.WriteLine(ExampleApp.Data.ToString());
}
else
{
    Console.WriteLine("This app obviously doesn't exist, the id is wrong or something else is not working correctly!");
}

License

SteamGamesNet is licensed under the GNU General Public License v3.0. This project is not endorsed by Steam/Valve and does not reflect the views or opinions of Steam/Valve or anyone officially involved in managing it. Steam is a trademark and/or registered trademark of Valve.

You can read the full license details of the GNU General Public License v3.0 here: GNU

Roadmap

The following items are planned for future releases:

  • Implement a method to get the app data using the name
  • Implement a method to get the app ID using the name
  • and more...

DISCLAIMER SECTION

Read the full disclaimer in the DISCLAIMER.md file!

Please read the full disclaimer in the DISCLAIMER.md file before using this project. The author (liebki (me)) of the project and the project itself are not endorsed by Steam/Valve and do not reflect the views or opinions of Steam/Valve or anyone officially involved in managing it.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.5 155 12/8/2023
0.0.4 130 6/19/2023
0.0.3 223 3/4/2023
0.0.2 270 12/21/2022
0.0.1 265 12/20/2022

Renamed asynchronous methods for clarity, Added GetActiveDownloadedGames() and GetActiveDownloadedGamesWithInfoAsync() methods, Introduced SteamFilesWithSignatures() method, Upgraded Newtonsoft.Json to version 13.0.3.