← modperf · analyzed mods

RaG_Wheel_Of_Fortune

RaG Wheel of Fortune RaG Wheel of Fortune adds a server-placed prize wheel with configurable rewards, spinning animations, sounds, confetti, jackpot effects, and persistent daily player tracking. Each player receives one recorded spin per server day across every Wheel of Fortune placed on the server. HOW IT WORKS Approach wheel → Select Spin Wheel → Wheel spins for random duration → Physical field determines reward… (more)

RaG Wheel of Fortune RaG Wheel of Fortune adds a server-placed prize wheel with configurable rewards, spinning animations, sounds, confetti, jackpot effects, and persistent daily player tracking. Each player receives one recorded spin per server day across every Wheel of Fortune placed on the server. HOW IT WORKS Approach wheel → Select Spin Wheel → Wheel spins for random duration → Physical field determines reward → Prize appears on ground → Daily spin is recorded Required Mod RaG Core RaG Wheel of Fortune and RaG Core are required on both server and clients. Addon dependencies are declared through CfgPatches.requiredAddons. Server command-line mod order does not control PBO loading. Features Animated 16-field prize wheel 15 configurable normal rewards Separate configurable jackpot reward pool Random configurable spinning duration One recorded spin per Steam64 ID and server day Daily spin history survives server restarts Shared eligibility across every placed wheel Custom spinning, result, and jackpot sounds Confetti for normal rewards Red fireworks effect for jackpots Optional global jackpot notification Support for vanilla and modded ItemBase rewards Player Guide 1. Approach the Wheel Stand within normal interaction range and select: Spin Wheel No item is required in your hands. A wheel cannot be used while it is already spinning or during its five-second result cooldown. 2. Your Spin Is Recorded Your Steam64 ID is recorded immediately when the spin begins. The daily limit is shared across the entire server: Using another wheel does not grant another spin Changing character does not bypass the limit Reconnecting does not grant another spin Restarting the server does not restore a same-day spin A second attempt displays: You have already spun the wheel today. 3. The Wheel Selects a Reward The wheel spins for a random duration between the configured minimum and maximum times. When it stops, the physical field under the arrow determines the result. The wheel contains: Field 1 — Jackpot Fields 2–16 — Normal rewards There are no published percentage values for individual fields. Result comes from the wheel's physical landing position. 4. Collect the Prize A successful reward appears on the ground beside the wheel. Important: Prize is not inserted into player inventory Prize is not reserved for the winner Another player can pick it up Prize needs clear ground around the wheel Normal rewards play the result sound and confetti effect. Jackpots play a separate sound, create a red fireworks effect, and can broadcast the winner and prize globally. Fireworks are cosmetic and cause no explosion damage. Daily Reset Behavior Daily eligibility uses the server machine's calendar date—not client time or accelerated in-game time. CURRENT LIMITATION Date reset is checked when the spin manager starts. A server left running across midnight does not automatically recheck the date. For predictable daily resets, schedule a normal server restart after server-local midnight. Server Setup Place the following class as a static world object using your map editor, object loader, admin mapping tool, or mission code: RaG_Wheel_Of_Fortune The internal animated wheel is created and locked automatically: RaG_Fortune_Wheel Do not place or distribute the internal wheel separately. Adding only the main class to types.xml does not provide usable map placement. This is a static building object, not normal economy loot. Multiple wheels can be placed. Each has its own animation and cooldown, but every wheel shares the same daily player list. Server Configuration Main reward configuration: $profile:\RaG_Core\Configs\RaG_Wheel_Of_Fortune\RaG_Wheel_Of_Fortune.json Daily runtime data: $profile:\RaG_Core\Configs\RaG_Wheel_Of_Fortune\WheelData.json Stop the server before editing either file. Default Reward Configuration { "Version": 1, "MinSpinningTime": 7.0, "MaxSpinningTime": 18.0, "EnableAnnounceJackpot": 1, "ItemField2": "GorkaHelmet", "ItemField3": "Canteen", "ItemField4": "DuffelBagSmall_Green", "ItemField5": "BandageDressing", "ItemField6": "TetracyclineAntibiotics", "ItemField7": "HuntingOptic", "ItemField8": "MedievalBoots", "ItemField9": "BDUJacket", "ItemField10": "Hammer", "ItemField11": "Wrench", "ItemField12": "SledgeHammer", "ItemField13": "Hatchet", "ItemField14": "Screwdriver", "ItemField15": "LugWrench", "ItemField16": "NailBox", "ItemFieldJackpot": [ "NailBox", "SledgeHammer", "Hacksaw", "Whetstone" ] } Settings MinSpinningTime Minimum spinning duration in seconds. Default: 7.0 MaxSpinningTime Maximum spinning duration in seconds. Default: 18.0 A random duration between both values is selected for each spin. Keep both values non-negative and make sure: MinSpinningTime <= MaxSpinningTime EnableAnnounceJackpot 1 — Broadcast winner name and jackpot prize 0 — Disable global jackpot notification This only controls the notification. Jackpot prize, sound, and fireworks remain active. ItemField2 through ItemField16 Exact class spawned when the matching normal field wins. ItemFieldJackpot Reward pool used when the wheel lands on field 1. One array entry is selected randomly. Reward Weighting To increase how often a normal reward appears, assign the same class to several normal fields. To weight a reward inside the jackpot pool, repeat its class: "ItemFieldJackpot": [ "NailBox", "NailBox", "SledgeHammer", "Whetstone" ] This gives NailBox two of four jackpot-pool entries. Never leave ItemFieldJackpot empty. WheelData.json This file stores: Server date used for last reset Steam64 IDs that already spun Documentation and Support Full documentation: RaG Wheel of Fortune Documentation Support: RaG Discord Please use Discord for support. Steam friend invitations are not accepted for troubleshooting. Donations: Support RaG Tyson on Ko-fi Permissions Do not repack, reupload, or redistribute this mod Do not monetize this mod or its contents Use on an approved monetized server is allowed when the mod itself is not part of monetization Repack requests will be ignored. Bohemia Interactive monetization rules: Server Monetization Information

Workshop 3308989311 · mod updated 2026-10-15 · analyzed 2026-10-15 19:44 UTC · history · 6 script files

AnimationMechanicsPropsSound Workshop tags, chosen by the author

Stall risks
None found

No file I/O on hot paths, no timers created per event, no per-player-per-frame hooks.

Compatibility
Chain-safe

Every server-visible override preserves its chain.

Structural footprint 1.1
A
clean
Heavier than 0% of 328 scripted mods analyzed.

less than 0.001% of each server frame at 100 players (0.000 ms/s). Counts hook dispatch and timers only, not what the hooks do inside. Methodology.

Where this mod sits

Structural load of the 328 scripted mods analyzed, lightest on the left. This mod's bar is lit; 23 others share it. Ranked list.

10
20
30
40
  • This mod
  • 7 mods
    0.0000046 to 0.00001 ms/s · grade A
  • 1 mod
    0.00001 to 0.000022 ms/s · grade A
  • 1 mod
    0.000022 to 0.000046 ms/s · grade A
  • 37 mods
    0.0001 to 0.00022 ms/s · grade A
  • 26 mods
    0.00022 to 0.00046 ms/s · grade A
  • 33 mods
    0.00046 to 0.001 ms/s · grade A
  • 23 mods
    0.001 to 0.0022 ms/s · grade A
  • 13 mods
    0.0022 to 0.0046 ms/s · grade A
  • 10 mods
    0.0046 to 0.01 ms/s · grade A
  • 5 mods
    0.01 to 0.022 ms/s · grade A
  • 18 mods
    0.022 to 0.046 ms/s · grade A
  • 17 mods
    0.046 to 0.1 ms/s · grade A
  • 40 mods
    0.1 to 0.22 ms/s · grade A
  • 26 mods
    0.22 to 0.46 ms/s · grade A
  • 28 mods
    0.46 to 1 ms/s · grade A
  • 8 mods
    1 to 2.2 ms/s · grade A to B
  • 10 mods
    2.2 to 4.6 ms/s · grade B
  • 1 mod
    4.6 to 10 ms/s · grade B to C
A316
B11
C1
D0
E0
ms/s, log scale: each labelled step is ten times the one before. Letter grade and mods holding it below the axis.
Where the load comes from

Lifecycle hooks carry 81% of this mod's structural load. 0.000 ms/s in all.

81%Lifecycle hooks · 81%
1 hook · 0.000002 ms/s
Lifecycle hooksrun when an entity is created, loaded or deleted 1 hook 0.000002 ms/s 81% MissionServer.OnInit

Counts how often each hook is dispatched and how many timers stay alive, not what the code inside does. Some rates are order-of-magnitude estimates; the methodology lists which.

What this report can tell you

Which vanilla methods the mod hooks, which of them drop the chain, how often each hook fires, and which risky calls sit inside hot hooks.

What it cannot

How long hook bodies take, network cost, or engine-side load. Measured across live fleets, most server lag comes from the engine and world state, not mod script chains — a light footprint does not clear a mod of lag, and a heavy one does not convict it. Methodology.

Everything else

All 3 overrides

Surface is the dispatch tier the rubric can price (— = unpriced); server is whether the override exists on a dedicated server; super() shows whether the vanilla chain is preserved on a server.

methodsurfaceserversuper()where
ActionConstructor.RegisterActions — yes ✓ rag_wheel_of_fortune.pbo::scripts\4_World\rag_wheel_of_fortune\actions\ActionConstructor.c:3
MissionServer.OnInit T3 yes ✓ rag_wheel_of_fortune.pbo::scripts\5_Mission\rag_wheel_of_fortune\MissionServer.c:3
MissionServer.SendModData — yes ✓ rag_wheel_of_fortune.pbo::scripts\5_Mission\rag_wheel_of_fortune\MissionServer.c:11
Dispatch surfaces and timers the grade prices
surfacetierrate (Hz)rate sourcems/s
MissionServer.OnInitT3 0.1placeholder0.0000

Includes 0.000 ms/s from placeholder-rated surfaces.

Load-order constraints (CfgPatches)

What each PBO declares: its addon identity and the addons it requires to be loaded first (requiredAddons). A partial load-order signal from the mod's own metadata.

rag_wheel_of_fortune.pbo

  • RaG_Wheel_Of_Fortune requiredVersion 0.1 — requires DZ_Data, RaG_Core

census 1.1 · findings 1.1 · hash 0ff9c7781218e1fb