How this website works

How the data is collected

Everything on this site starts with the two leaderboards inside OP Ninja: Power and Honor, the top 100 players each. The game refreshes them about every 2 minutes (Honor very steadily, Power every 1.5 to 3 minutes).

Reading the boards

An AutoHotkey script reads the boards straight off the screen, using pixel colors to find the board, its rows and the text. It auto-aligns the camera to each board on its own, and a person keeps an eye on it (human assistance) to step in when the game does something unexpected.

It watches the boards and reads them right after each refresh, so every snapshot belongs to one moment. A board only holds about 14 visible rows, so the script scrolls through it to read all 100.

It also notes when a Blood Moon, Blue Moon or Lucky Moon is up (see Records > Moons).

Checking before anything is saved

A snapshot is only sent when it passes every check:

  • all 100 rows are there
  • no name twice
  • the values go down in rank order (a row that doesn't fit is read again)
  • the rows are re-read on a second pass

The server then turns away snapshots it already has and ones that arrive out of order. If something still slips through (a misread), the site's owner can remove that snapshot and the numbers are worked out again.

When there are gaps

If the script is stopped for a while, there is simply no data for that time: the site doesn't guess. Gains and rank changes are only worked out from real snapshots, and Time at #1 only counts while the boards are being watched.

 

Parts of this wiki use information from the OP Ninja Simulator Roblox Wiki on Fandom, by its contributors, licensed under CC BY-SA. Text adapted from it is shared under the same license; each page lists its sources. A big thank-you to Deadshot123def456 for keeping the Fandom wiki up to date.

Made with Baserow