Table of Contents

Class EnvironmentInventory

Namespace
Valheim.Testing.Game
Assembly
Valheim.Testing.Game.dll

Ordered, private operator inventory. Client identities are discovered from their signed-in Steam environments; a campaign supplies actors and its own dependency locks. Reading it has no host effects; placing actors on it (deterministic, no host effects either) and acting on its hosts are EnvironmentRuns'.

public sealed class EnvironmentInventory
Inheritance
object
EnvironmentInventory
Extension Methods

Properties

Detected

What the this-machine default detected and assumed, one line each, for preflight to print; empty for an inventory that was not read through Read(string?).

[JsonIgnore]
public IReadOnlyList<string> Detected { get; }

Property Value

IReadOnlyList<string>

Environments

public List<EnvironmentRecipe> Environments { get; set; }

Property Value

List<EnvironmentRecipe>

Hosts

public Dictionary<string, HostProfile> Hosts { get; set; }

Property Value

Dictionary<string, HostProfile>

LeaseDirectory

An absolute lease directory on LeaseHost, shared by inventories using these Steam accounts.

public string LeaseDirectory { get; set; }

Property Value

string

LeaseHost

The host that stores Steam-account leases; required if any client recipe exists.

public string LeaseHost { get; set; }

Property Value

string

Missing

What the this-machine default looked for and did not find, with every path tried.

[JsonIgnore]
public IReadOnlyList<string> Missing { get; }

Property Value

IReadOnlyList<string>

SteamUserData

This machine's Steam userdata under the detected Steam root, when it exists; null otherwise or when nothing was detected.

[JsonIgnore]
public string? SteamUserData { get; }

Property Value

string

Methods

Read(string?)

The inventory at path, or this machine alone when path is null: host local with local-server (Valheim Dedicated Server, Steam app 896660) and local-client (Valheim), found in its Steam libraries. A file lists the environments to use, in preference order; one on this machine (a host of kind local, or no host) needs only its name and roles, and its install, runtime and ports default as Detected reports. A file never gains environments it does not list.

public static EnvironmentInventory Read(string? path)

Parameters

path string

Returns

EnvironmentInventory

Validate(string)

Validate the whole inventory before any actor assignment or host contact.

public void Validate(string directory)

Parameters

directory string