Zyke ResourcesDocumentation

Config

#Settings

Times are in milliseconds. 1000ms = 1 second. Master settings table controlling sound system behavior and performance.

#debug

Shows debug markers for active sound positions and logs loaded sound files when enabled.

Example:

debug = false

#volumeUpdateInterval

Controls how frequently clients update active sound volume by distance. Lower values make volume changes smoother, while higher values reduce update cost. Changing this value too much can drastically affect performance, so only adjust it if you understand the implications.

Example:

volumeUpdateInterval = 100

#commandName

The chat command that players type to open the sound volume configuration menu.

Example:

commandName = "sounds"

#kvpKey

The key used to store per-sound volume multipliers in the client's persistent key-value storage. This value is read on resource start to restore saved volume settings and written whenever volumes are updated. Change this key only if you want to reset all saved volume multipliers for every player.

Example:

kvpKey = "zyke_sounds:volumeMultiplier"

#routingBucketUpdateInterval

Controls how frequently the server checks whether players have moved to a different routing bucket for location-based sounds. This setting is intended for advanced users who understand the implications of modifying it.

Example:

routingBucketUpdateInterval = 1000

#unknownSoundDurationMs

The fallback duration in milliseconds used for sounds whose actual audio length has not yet been determined. This value is applied as a temporary placeholder until the correct duration is available.

Example:

unknownSoundDurationMs = 300000

#maxCachedSoundDurationMs

The maximum sound duration in milliseconds that the server will trust and cache from a client report. The server ignores any client-reported sound duration longer than this value. The default is 600000 ms (10 minutes). The comment advises not changing this value unless you need to play sounds longer than 10 minutes.

Example:

maxCachedSoundDurationMs = 600000

#soundDurationToleranceMs

Defines the tolerance in milliseconds for sound duration reports from clients. When a client reports a sound file's duration, the server compares it against any previously cached duration for that sound. If the difference between the new report and the cached value exceeds this tolerance, the new report is discarded as invalid. This prevents incorrect duration data from being cached.

Example:

soundDurationToleranceMs = 500

#soundCullingUpdateInterval

Controls how frequently the server checks whether players have moved into or out of range of active location sounds.

Example:

soundCullingUpdateInterval = 1000

#stateBagEntityStaleMs

Controls how long muted entity sounds continue playing after the associated entity or player leaves the local client's scope. If the entity remains out of scope for longer than this duration, the sound is stopped. The value is in milliseconds.

Example:

stateBagEntityStaleMs = 2500

#stateBagStopTtlMs

Controls how long stop payloads remain in state bags after a sound stops. This allows scoped clients that join late to still receive fade-out or force-full stop data.

Example:

stateBagStopTtlMs = 2000

#stateBagEmitSlots

Controls how many temporary sync slots are available per entity for quick entity sounds. Each player entity gets its own pool of slots, so multiple players contributing sounds do not share the same pool.

Example:

stateBagEmitSlots = 4

#oneShotStateBagTtlMs

Controls how long one-shot entity sound synchronization data remains available in state bags before being cleaned up. Higher values can help slower clients receive the data, but also keep stale data in memory longer.

Example:

oneShotStateBagTtlMs = 10000