Go Back
Logo Text
Technical Incident affecting Battles Provably Fair
By Michael
3 min read
Updated on

Technical Incident affecting Battles Provably Fair

On 07/23/2024 at 9:16 CET, Clash.gg experienced a technical issue affecting provably fair of the battles game mode. The issue lasted approximately 3 hours, during which 14.95% of battle drops were determined using an incorrect seed.

Currency

What it means

Link

If you played the battles game mode during the affected 3-hour period, it's possible some rounds of your battle used an incorrect seed - the literal string "undefined" instead of the seed provided by random.org. This means the actual results were different compared to those generated by our battle verifier.

This does not mean the outcomes were rigged. The item odds were not affected, meaning you had the same chances of getting a certain item. Given many battle configurations and pseudorandom occurrences of the bug, it is safe to assume winnings were fairly distributed. The only real difference is the faulty battles cannot be verified.

Currency

Technical Explanation

Link

Under the hood, Clash.gg uses a distributed queue processing system to process battle rounds. This means each round is processed by one of the available threads, picked more or less at random.

On 07/23/2024 at 9:16 CET, we deployed an update affecting the underlying APIs used in battle processing.

Typically worker threads running the new version are spawned and immediately replace the old ones. This time, old workers did not shut down properly and kept processing battles. The new version supported the changes and processed battles as expected.

However, when workers running the old version processed a round, they failed to read the proper seed and used the literal string "undefined" instead.

Currency

Making things right

Link

At Clash.gg, it is our #1 priority to provide legitimate games with working provably fair mechanisms. Because of this, we have decided to credit correct winning amounts to winners had the bug did not exist. The compensation is totaling 17 582.23 gems. On top of that, wrongly selected winners kept their winnings.

To obtain the compensation amount, we have re-rolled all affected battles using the correct seed and compared the results. We then summed expected winnings and subtracted actual winnings, to get a delta for every player. If the delta was positive, we credited the missing amount.

Check your on-site notifications to see if you were affected. All refunds are automatic and do not require any action on your end.

To prevent such incidents from happening again, we have set up a versioning system that makes it impossible for an outdated worker to process new jobs.

Currency

Summary

Link

While the incident made battle outcomes different from those generated by our fairness provider random.org, item odds were not affected. To make things right, we have compensated everyone affected by the issue and let wrongfully selected winners keep the winnings. On top of that, we updated our systems to prevent similar issues from happening in the future.

MichaelAbout the author

Michael
Michael

I am the Lead Developer at Clash.gg. With over 7 years of experience, I have been at the forefront of creating innovative products and driving technological advancements in the gaming industry.