[Tooltip("Number of inputs to keep in queue should the server miss receiving an input update from the client. " +
"Higher values will increase the likeliness of the server always having input from the client while lower values will allow the client input to run on the server faster. " +
"This value cannot be higher than MaximumServerReplicates.")]
[Range(1, 15)]
[SerializeField]
privateushort_queuedInputs=1;
/// <summary>
/// Number of inputs to keep in queue should the server miss receiving an input update from the client.
/// Higher values will increase the likeliness of the server always having input from the client while lower values will allow the client input to run on the server faster.
/// This value cannot be higher than MaximumServerReplicates.
[Tooltip("True to drop replicates from clients which are being received excessively. This can help with attacks but may cause client to temporarily desynchronize during connectivity issues. When false the server will hold at most up to 3 seconds worth of replicates, consuming multiple per tick to clear out the buffer quicker. This is good to ensure all inputs are executed but potentially could allow speed hacking.")]
[SerializeField]
privatebool_dropExcessiveReplicates=true;
/// <summary>
/// True to drop replicates from clients which are being received excessively. This can help with attacks but may cause client to temporarily desynchronize during connectivity issues.
/// When false the server will hold at most up to 3 seconds worth of replicates, consuming multiple per tick to clear out the buffer quicker. This is good to ensure all inputs are executed but potentially could allow speed hacking.
[Tooltip("Maximum number of replicates a server can queue per object. Higher values will put more load on the server and add replicate latency for the client.")]
[SerializeField]
privateushort_maximumServerReplicates=15;
/// <summary>
/// Maximum number of replicates a server can queue per object. Higher values will put more load on the server and add replicate latency for the client.
[Tooltip("Maximum number of past inputs which may send.")]
[Range(MINIMUM_PAST_INPUTS, MAXIMUM_PAST_INPUTS)]
[SerializeField]
privatebyte_redundancyCount=3;
/// <summary>
/// Maximum number of past inputs which may send and resend redundancy.
/// </summary>
#ifUNITY_WEBGL
//WebGL uses reliable so no reason to use redundancy.
internalbyteRedundancyCount=>1;
#else
internalbyteRedundancyCount=>_redundancyCount;
#endif
/// <summary>
/// True to allow clients to use predicted spawning. While true, each NetworkObject prefab you wish to predicted spawn must be marked as to allow this feature.
[Tooltip("True to allow clients to use predicted spawning and despawning. While true, each NetworkObject prefab you wish to predicted spawn must be marked as to allow this feature.")]
[SerializeField]
privatebool_allowPredictedSpawning=false;
/// <summary>
///
/// </summary>
[Tooltip("Maximum number of Ids to reserve on clients for predicted spawning. Higher values will allow clients to send more predicted spawns per second but may reduce availability of ObjectIds with high player counts.")]
[Range(1, 100)]
[SerializeField]
privatebyte_reservedObjectIds=15;
/// <summary>
/// Maximum number of Ids to reserve on clients for predicted spawning. Higher values will allow clients to send more predicted spawns per second but may reduce availability of ObjectIds with high player counts.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.