RuneScape:Crowdsourcing

From Old School RuneScape Wiki
Jump to: navigation, search
Wiki.png
RuneLite.png

The Old School RuneScape Wiki is beginning a project to crowdsource information about skilling success rates with a RuneLite plugin that collects information about your skilling actions (for example, burning a shark)

How do I contribute data?

Core

As of RuneLite version 1.6.28, the core OSRS Wiki Crowdsourcing plugin is now included with the base client and is enabled by default. It no longer appears in the Plugin Hub, but can still be toggled on or off in the RuneLite settings as "OSRS Wiki Crowdsourcing". All you need to do is play the game on RuneLite. The code can be found in RuneLite's GitHub repository here.

Advanced crowdsourcing

Advanced crowdsourcing plugin search.png

The OSRS Wiki advanced crowdsourcing plugin can be downloaded from RuneLite's plugin-hub. See RuneLite's documentation for how to use the plugin-hub. Once you have downloaded the plugin, make sure it is toggled on! It is called "OSRS Wiki Crowdsourcing (advanced)" in the settings panel. This gives us much more specific data than the crowdsourcing done by the core plugin. The code can be found in the GitHub repository here.

What's the goal?

An example of the sort of skilling graph we can make with this project's data

We want to be able to figure out the exact rates of any skilling activity that involves randomness. That includes:

  • Cooking burn rates
  • Woodcutting, Mining, Fishing success rates
  • Agility shortcut/course success rates
  • Thieving rates (pickpocketing and more)
  • Hunter success rates
  • Farming disease and harvest rates (will be very hard)
  • ZMI rune distributions
  • Herbiboar distributions
  • Silly things like gem crushing, pottery cracking, Firemaking success, Construction nail-bending, rusty swords...

From there, we can create all sorts of cool tools that leverage the exact rates and how they vary with level.

We're also using similar methods to improve other parts of the wiki, including:

  • Gathering information about transportation methods, to improve pathfinding tools
  • Getting complete information about item/entity interactions
  • Gathering NPC spawn locations
  • Gathering music unlock locations
  • Transcribing all ingame dialogue

What is being gathered?

We do not see your username, IP address, or any other personally identifying information. Depending on the type of crowdsourcing, we may log your ingame location (for example, to track music unlock spots). The data is currently on a 5-minute delay, but it will be bumped up to 15 or 30 minutes as it gets more widely used. This unaggregated data will never be shared with anyone besides technical wiki admins.

Cooking

For every food item you cook or burn, we gather:

  • Whether it was a success or a failure
  • Your Cooking level
  • Whether you are cooking at a fire or a range
  • Whether you are cooking at the Hosidius Kitchen
  • Whether you are wearing Cooking gauntlets
  • Whether you are in the vicinity of the Hosidius Kitchen, and whether you have Elite Kourend Diary finished.

Chatbox messages

For every chatbox message you get (like "Nothing interesting happens."), we gather:

  • The message text
  • Your ingame location

Dialogue

  • All NPC dialogue, and the NPC's name.
  • All player dialogue
  • All dialogue options
  • Start and end points of a conversation

All of these have your username stripped from relevant dialogue. If your username is a common word used in conversation, this sanitization may be a bit overzealous.

Item sightings

When any of your inventories change, we gather:

  • The item id
  • The id of the item container that was changed

This data is only gathered for items that we have not seen in other crowdsourcing data and that you have not sent in during the same session.

Item sprite dialogue boxes

When there's unspoken text in the dialogue box, we gather:

  • The text
  • The sprite shown in the chatbox
  • Your ingame location

Motherlode mine

Every time you mine a paydirt or gather from the ore sack in the Motherlode mine, we gather:

  • Your current mining level (boosted and not boosted)
  • Whether or not you have the celestial ring equipped
  • Whether or not you have certain achievement diaries done
  • A timestamp
  • The ores you receive from the ore sack

Music unlocks

Any time you unlock a music track, we log:

  • Your current location
  • The track unlocked.

NPC sightings

When we see an NPC spawn or change, we gather:

  • The NPC id (base id if multi-NPC)
  • The index of the NPC
  • Whether or not the NPC is on the whitelist
  • Whether or not the log is for a NPC spawn or change
  • Your current world
  • Your location

Object locations

The locations of scenery that is spawned by the server (instead of having its location specified in the game cache) is collected in the advanced crowdsourcing plugin. Some extremely common server-side objects (POH entities, Motherlode Mine veins, fires) are only tracked some of the time.

You can see the output of this crowdsourcing at https://mejrs.github.io/osrs.html.

Teleports

To facilitate the pathfinding project, any time you move more than two squares in one tick, we log:

  • Your previous location
  • Your new location
  • How many ticks you spent at the previous location (AKA a bound on the teleport time)

Woodcutting

In certain Woodcutting situations (particularly, when we're confident you're not doing any tick manipulation that makes tracking difficult), we will log (pun intended):

  • Your woodcutting level
  • The axe you're using
  • The tree you're chopping and its location
  • The ticks you started chopping, stopped chopping, got logs, and got nests
  • Why you stopped chopping (tree fell, inventory full, clicked away).

ZMI rune distribution

Any time you use the ZMI altar, we'll log:

  • The change to your inventory in the next tick
  • Your Runecraft level
  • Whether you've done the Ardougne Medium Diary

Questions? Feedback?

If you have other ideas for OSRS data that could be crowdsourced (or just want to help parse what we have), join our Discord and talk to Cook#2222.

You can see the code at https://github.com/leejt/osrs-wiki-crowdsourcing/tree/master/src/main/java/com/Crowdsourcing.