public record class NetworkSimulationSettingsA profile and the seed it is drawn against: everything NetworkSimulation needs, in one value a session's options can carry.
Remarks
The two together rather than two properties, because either alone is a trap. A seed with no profile does nothing and says nothing; a profile with a defaulted seed is exactly what NetworkSimulation's constructor refuses to accept — "a simulation whose seed was picked for you is a simulation whose failures you cannot reproduce". Requiring both in one construction is what keeps that rule when the decision moves from a call site onto a record.
⚠ A seed per participant, not a seed per match. Eight clients handed the same seed lose the same packets in the same order, which is a synchronised outage rather than a bad network and will make a bug look like a server fault. Samples/08-Multiplayer derives each participant's from the match's, and that is the shape to copy.
Fields and properties (2)
public NetworkSimulationProfile ProfileHow bad the link pretends to be.
public ulong SeedThe seed every random decision is drawn from. Stated rather than defaulted, and worth printing at startup: the five seconds spent typing a number is the price of every future bug report being replayable.
Methods (2)
public NetworkSimulationSettings(NetworkSimulationProfile Profile, ulong Seed)A profile and the seed it is drawn against: everything NetworkSimulation needs, in one value a session's options can carry.
public static NetworkSimulationSettings Development(ulong seed)What a development build should run with, given a seed.
Used by (3)
- NetworkSessionVixen.Net
- SessionOptionsVixen.Net
- SessionSimulationTestsVixen.Net.Tests