Parameterize internals of the Deterministic simulation and plugin (the Quantum server component). More...
Static Public Member Functions | |
static DeterministicSessionConfig | FromByteArray (Byte[] data) |
Converts a byte array to a DeterministicSessionConfig instance. More... | |
static void | Serialize (Protocol.Serializer serializer, BitStream stream, ref DeterministicSessionConfig config) |
Serializes a DeterministicSessionConfig instance to a BitStream. More... | |
static Byte[] | ToByteArray (DeterministicSessionConfig instance) |
Converts a DeterministicSessionConfig instance to a byte array. More... | |
Public Attributes | |
Boolean | ChecksumCrossPlatformDeterminism = false |
This allows Quantum frame checksumming to be deterministic across different runtime platforms, however it comes with quite a cost and should only be used during debugging. More... | |
Int32 | ChecksumInterval = 60 |
How often we should send checksums of the frame state to the server for verification (useful during development, set to zero for release). Defined in frames. More... | |
Int32 | InputDelayMax = 60 |
The maximum input offset a player can have. Defined in ticks. More... | |
Int32 | InputDelayMin = 0 |
The minimum input offset a player can have. Defined in ticks. More... | |
Int32 | InputDelayPingStart = 100 |
At what ping value that Quantum starts applying input offset. Defined in milliseconds. More... | |
Boolean | InputDeltaCompression = true |
If the server should delta-compress inputs against previous tick-input-set (new/experimental). More... | |
Int32 | InputFixedSize |
Fixed input size. More... | |
Int32 | InputHardTolerance = 8 |
How many frames the server will wait until it expires a frame and replaces all non-received inputs with repeated inputs or null 's and sends it out to all players. More... | |
Int32 | InputRedundancy = 3 |
How much staggering the Quantum client should apply to redundant input resends. 1 = Wait one frame, 2 = Wait two frames, etc. More... | |
Int32 | InputRepeatMaxDistance = 10 |
How many frames Quantum will scan for repeatable inputs. 5 = Scan five frames forward and backwards, 10 = Scan ten frames, etc. More... | |
Boolean | LockstepSimulation = false |
Legacy feature that forces the Quantum simulation to run in strict lockstep mode, where no rollbacks are performed. Most games suitable for lockstep are better off using a soft lockstep instead by introducing enough Min Input Offset (recommended at least 10 ticks), while still being able to perform predictions if and when necessary. More... | |
Int32 | MinOffsetCorrectionDiff = 1 |
How many frames the current local input delay must diff to the current requested offset for Quantum to update the local input offset. Defined in frames. More... | |
Int32 | MinTimeCorrectionFrames = 1 |
How much the local client time must differ with the server time when a time correction package is received for the client to adjust it's local clock. Defined in frames. More... | |
Int32 | PlayerCount |
Player count the simulation is initialized for. More... | |
Int32 | RollbackWindow = 60 |
How many frames are kept in the local ring buffer on each client. Controls how much Quantum can predict into the future. Not used in lockstep mode. More... | |
Int32 | SessionStartTimeout = 1 |
How long the server will wait to commence the start request that was requested by the first client. This is supposed to give other clients a bit breathing room to join the room. Usually set to 0 or 1. Defined in seconds. Default is 1. More... | |
Int32 | TimeCorrectionRate = 4 |
How many times per second the server will send out time correction packages to make sure every clients time is synchronized. More... | |
Int32 | TimeScaleMin = 100 |
The smallest timescale that can be applied by the server. Defined in percent. More... | |
Int32 | TimeScalePingMax = 300 |
The ping value that the server will reach the 'Time Scale Minimum' value at, i.e. be at its slowest setting. Defined in milliseconds. More... | |
Int32 | TimeScalePingMin = 100 |
The ping value that the server will start lowering the time scale towards 'Time Scale Minimum'. Defined in milliseconds. More... | |
Int32 | UpdateFPS = 60 |
How many ticks per second Quantum should execute. More... | |
Parameterize internals of the Deterministic simulation and plugin (the Quantum server component).
This config file will be synchronized between all clients of one session. Though each player starts its own simulation locally with his own version of the DeterministicConfig the server will distribute the config file instance of the first player that joined the plugin.
|
inlinestatic |
Converts a DeterministicSessionConfig instance to a byte array.
instance | The DeterministicSessionConfig instance to convert. |
|
inlinestatic |
Converts a byte array to a DeterministicSessionConfig instance.
data | The byte array to convert. |
|
inlinestatic |
Serializes a DeterministicSessionConfig instance to a BitStream.
serializer | The serializer instance to use for serialization. |
stream | The BitStream to write the serialized data to. |
config | The DeterministicSessionConfig instance to serialize. |
Int32 Photon.Deterministic.DeterministicSessionConfig.PlayerCount |
Player count the simulation is initialized for.
Boolean Photon.Deterministic.DeterministicSessionConfig.ChecksumCrossPlatformDeterminism = false |
This allows Quantum frame checksumming to be deterministic across different runtime platforms, however it comes with quite a cost and should only be used during debugging.
Boolean Photon.Deterministic.DeterministicSessionConfig.LockstepSimulation = false |
Legacy feature that forces the Quantum simulation to run in strict lockstep mode, where no rollbacks are performed. Most games suitable for lockstep are better off using a soft lockstep instead by introducing enough Min Input Offset (recommended at least 10 ticks), while still being able to perform predictions if and when necessary.
Boolean Photon.Deterministic.DeterministicSessionConfig.InputDeltaCompression = true |
If the server should delta-compress inputs against previous tick-input-set (new/experimental).
Int32 Photon.Deterministic.DeterministicSessionConfig.UpdateFPS = 60 |
How many ticks per second Quantum should execute.
Int32 Photon.Deterministic.DeterministicSessionConfig.ChecksumInterval = 60 |
How often we should send checksums of the frame state to the server for verification (useful during development, set to zero for release). Defined in frames.
Int32 Photon.Deterministic.DeterministicSessionConfig.RollbackWindow = 60 |
How many frames are kept in the local ring buffer on each client. Controls how much Quantum can predict into the future. Not used in lockstep mode.
Int32 Photon.Deterministic.DeterministicSessionConfig.InputHardTolerance = 8 |
How many frames the server will wait until it expires a frame and replaces all non-received inputs with repeated inputs or null
's and sends it out to all players.
Int32 Photon.Deterministic.DeterministicSessionConfig.InputRedundancy = 3 |
How much staggering the Quantum client should apply to redundant input resends. 1 = Wait one frame, 2 = Wait two frames, etc.
Int32 Photon.Deterministic.DeterministicSessionConfig.InputRepeatMaxDistance = 10 |
How many frames Quantum will scan for repeatable inputs. 5 = Scan five frames forward and backwards, 10 = Scan ten frames, etc.
Int32 Photon.Deterministic.DeterministicSessionConfig.SessionStartTimeout = 1 |
How long the server will wait to commence the start request that was requested by the first client. This is supposed to give other clients a bit breathing room to join the room. Usually set to 0 or 1. Defined in seconds. Default is 1.
Int32 Photon.Deterministic.DeterministicSessionConfig.TimeCorrectionRate = 4 |
How many times per second the server will send out time correction packages to make sure every clients time is synchronized.
Int32 Photon.Deterministic.DeterministicSessionConfig.MinTimeCorrectionFrames = 1 |
How much the local client time must differ with the server time when a time correction package is received for the client to adjust it's local clock. Defined in frames.
Int32 Photon.Deterministic.DeterministicSessionConfig.MinOffsetCorrectionDiff = 1 |
How many frames the current local input delay must diff to the current requested offset for Quantum to update the local input offset. Defined in frames.
Int32 Photon.Deterministic.DeterministicSessionConfig.TimeScaleMin = 100 |
The smallest timescale that can be applied by the server. Defined in percent.
Int32 Photon.Deterministic.DeterministicSessionConfig.TimeScalePingMin = 100 |
The ping value that the server will start lowering the time scale towards 'Time Scale Minimum'. Defined in milliseconds.
Int32 Photon.Deterministic.DeterministicSessionConfig.TimeScalePingMax = 300 |
The ping value that the server will reach the 'Time Scale Minimum' value at, i.e. be at its slowest setting. Defined in milliseconds.
Int32 Photon.Deterministic.DeterministicSessionConfig.InputDelayMin = 0 |
The minimum input offset a player can have. Defined in ticks.
Int32 Photon.Deterministic.DeterministicSessionConfig.InputDelayMax = 60 |
The maximum input offset a player can have. Defined in ticks.
Int32 Photon.Deterministic.DeterministicSessionConfig.InputDelayPingStart = 100 |
At what ping value that Quantum starts applying input offset. Defined in milliseconds.
Int32 Photon.Deterministic.DeterministicSessionConfig.InputFixedSize |
Fixed input size.