Skip to content

Submission process

Plugins are distributed by Mod.io, which contains the library of all plugins that are available to players. To upload plugins to this platform you will need to create a Mod.io account, which will contain the information associated with the plugins that you create. You may wish to create this account with a name that you are already known by in the RuneScape community, but this is not required.

Uploading a new plugin

To add a new plugin, click the "Add plugin" button on the top right of the RuneScape page on Mod.io. Note that all information on the plugin's page must adhere to RuneScape's rules regarding inappropriate language.

Step 1: Create your Plugin profile

This is where you describe and explain what your plugin does. It contains all the information that will be seen for your plugin within the plugin hub browser.

Basics

Parameter Explanation Notes
Plugin name The name of your plugin. 1 to 50 characters, ASCII only.
Summary A few short sentences to describe what your plugin does. Appears in the plugin hub broswer. 10 to 250 characters, ASCII only.
Plugin listing image The image displayed for your plugin in the plugin hub browser. 16:9 aspect ratio, minimum of 512x288px.
Homepage An optional website address for an external homepage for your plugin, such as a github repository. Optional.
Profile URL The web address you want this plugin to appear on within Mod.io Defaults to the plugin name.
Allow comments Allows users on Mod.io to add comments to your plugin's page
Allow dependents Allows other plugins on Mod.io to use your plugin as a dependency. If a plugin uses yours as a dependency, you will be prevented from deleting your plugin.
Allow to be added to collections Collections are user-created lists of plugins that they believe work well together
Description A freeform place for you to describe your plugin in detail. It is used to explain what your plugin does, what it is for, and how to use it. You can embed images and other media within this description, see section 3 below. Up to 50,000 characters.

You should make sure that your plugin is well described so that players can easily find it and use it.

Required description sections

There are some parts of your plugin's description that are required in order for your plugin to be approved.

Email

An email address by which users can contact the plugin creator, for example, to have their data deleted or to access a copy of the data you (as the developer of the plugin) use to provide the plugin. This must specially be an email address, and not any other method of communication. It is strongly recommended that this is a separate email address to the one that is used to access Mod.io or RuneScape, as it will be publicly visible.

For plugins that use data protection case 1 (see below), this email address is not required to be public, and if requested it will be removed from the public part of the descripton and stored in the hidden metadata for the plugin as part of moderation process.

EULA

By submitting a Plugin (as defined in Schedule 4 of the EULA), you acknowledge that you agree to the terms of the Jagex End User License Agreement (EULA) found at https://legal.jagex.com/docs/terms/eula (and all terms incorporated into it be reference) and acknowledge that such terms are legally binding on you. If you do not agree to the terms of the EULA, you must not submit a Plugin or use the Plugin functionality anyway. In such circumstances, Jagex does not licence the software to you, or grant you any of the relevant rights relating to the submission of Plugins set out in the EULA and you will not be permitted to access or use the Plugin functionality in any way whatsoever.

Permissions

For each permission that you have requested in your plugin's manifest, you are required to explain what the plugin will use that individual permission for, and any circumstances where multiple permissions are used simultaneously. If your plugin requests no permissions, this must also be explicitly stated.

Data Protection

Your plugin is required to explicitly state what it will do with all information that it gathers. There are three levels if data protection that are relevant:

  • Case 1. Any information collected does not leave the local plugin.

    • Data Used
  • Case 2. Information is sent to a destination with full or relevant partial UK adequacy (e.g. EU / EEA, Canada and Japan). In this case you must state the endpoints and all security measures present for those endpoints.

    • Data Used
    • Security Measures
    • You should also have a privacy notice in place that meets legal requirements. Unfortunately, we can't offer you legal advice on the privacy notice as that is a document that tells users what you will do with their data. Our regulator (the ICO) has a tool you can use to produce your own. This includes at a minimum:

      • Name and Contact Details
      • Purposes of Processing
      • Lawful basis
      • Legitimate Interests
      • Categories of Personal Data
      • Recipients or Categories of Recipient
      • Details of Transfers
      • Retention periods
      • Rights the User has
  • Case 3. Information is sent to a destination without full or relevant partial UK adequacy (e.g. USA, Brazil). In this case you must state the endpoints and security measures as above, but also provide Jagex with private contact information

    • Details for Transfers outside UK / EEA (these will not be publicly facing):

      • Name
      • Address (minimum - country of residence)
      • Email address for data protection questions (i.e. data breaches, complaints, concerns around access)
    • Data Used

    • Security Measures
    • You should also have a privacy notice in place that meets legal requirements (see above under full UK adequacy). |

This is an example of the required information section of the description for an example plugin that takes screenshots and saves them to file. For your plugin, you will need to choose the appropriate case for the Data Protection section, and fill it with the required information. If your plugin is using data protection case 3 in which information is sent to a location without full UK adequacy, then you will be required to provide your name, address, and contact information to Jagex through the form on that page to comply with right-to-erasure requests.

Example

An example of these required description sections can be viewed here. This example contains three versions of the data protection section. Only one is required for your submission, for the data protection case that your plugin uses.

Tags and visibility

Tags are used to assist players in searching for plugins, and tags are sorted into categories. You may add any number of tags, but if your plugin requests any permissions then it is required to have the corresponding permission tags.

Visibility is a simple toggle, the plugin can be marked as hidden until you are ready to reveal it. A plugin is visible immediately after creation, even before the files for the plugin are uploaded, unless the plugin is made private. Once a plugin has been approved, it will be marked as visible, so that all plugins are available to everyone.

Step 2: Add media

This is where you can create a gallery of media related to your plugin. This is not the media used by your plugin itself, but media that will be shown on the Mod.io page for the plugin.

Parameter Explanation Notes
Image gallery Multiple images to show your plugin working Upload up to 10 images at a time, or a single zip file containing images. Supported formats are .jpg, .jpeg, .png and .zip.
Youtube URLs URLs that link to videos about your plugin, or displaying plugin use.
Sketchfab URLs URLs that link to displayed 3D assets Not relevant to RuneScape plugins.

If you do not submit any additional images then the plugin listing image from setp 1 above will be displayed on the page of the plugin, and may be scaled up to fit the page, depending on the size of the listing image.

Step 3: Dependencies

Plugins can share functions from one plugin to another. This system is called dependencies, and you can choose to enable it or not for your plugin. For example, if plugin A is used to create overhead markers on NPCs, and plugin B wants to use plugin A so that it can put thieving icon markers over pickpocketable NPCs, then plugin A can be specified to allow dependencies.

The dependency system on Mod.io is done in parallel to the dependency system set up for the plugin files itself. Dependencies are specified in the plugin manifest to allow the RuneScape client to load the correct dependencies for a plugin. On Mod.io the dependencies are used to control the maintenance of plugins.

  • A required dependency in the manifest must correspond to a dependency on Mod.io
  • An optional dependency in the manifest should not be implemented on Mod.io

When another plugin has allowed dependents, and has been approved, it may be selected on this dependencies page. If your plugin requires a dependency that is not listed on this page, then either that plugin has not yet been approved, or it does not allow for dependents. It is your responsibility as a plugin creator to ensure that your plugin only requires dependencies of other plugins that have allowed themselves to be used as dependencies.

Step 4: Upload file(s)

This page is used to upload a zip file containing your plugin. There is a maximum zip file size of 20GB. The zip folder must contain all of the files necessary to run your plugin, except for explicitly stated dependencies. The main.lua and plugin.json files must be in the top level of the zip file, not within a folder that itself is in the top level.

Parameter Explanation Notes
Platform Plugins should support all of the major platforms that RuneScape is available on: Windows, Linux, Androd, and iOS. You must select all of these platforms (in addition to Source) in order to submit your files.
Version A version number is required to help differentiate between different updates to your plugin Only accepts numbers and full stops.
Changelog Space for you to describe what these files contain. Doesn't need to be used for a first version.
Metadata blob We do not make use of this.

Plugin moderation

After submitting your plugin, it is unlikely that a plugin moderator will be able to immediately start the moderation process. You may make changes to your Mod.io listing page or upload new versions of the files as often as you like after submission, before moderation starts. You should still only submit files that you belive are complete enough for moderation, but we know that it's easy to remember a small typo or mistake after you think that a project is complete.

Submission freeze

When the moderation process starts, the moderator will contact you to inform you that your plugin should be placed under a code freeze, and no further changes made to the Mod.io listing page or the files until the moderation process has been completed. You may make changes to your own development files or repository, but you should not change Mod.io. This is to ensure that the exact thing that gets moderated is the same thing that will get approved.

Files

The first part of the moderation process is for the files of your plugin to be moderated to ensure that your plugin does what it claims to do, and that it does so in an allowed way. This is a manual process, in which the code of your plugin will be thoroughly checked by a plugin moderator, and your plugin will be run in a closed environment. This is done to ensure that your plugin adheres to the guidelines.

Do not use this as QA for your plugin; you are expected to submit files that work, and the plugin moderators are not responsible for making sure that your plugin is without edge cases in which it fails. You are encouraged to test your plugin as you develop it, and it may be beneficial to get other plugin developers to help you test run it in case they find problems. You may also get help as you develop from the RuneScape Plugin Portal discord, such as asking efficient ways to access certain information, create visuals, or perform actions.

Listing

Once your plugin has had its files approved, the plugin page itself is moderated on Mod.io to ensure that it does not contain any incorrect or misleading information, and that it complies with RuneScape's rules regarding inappropriate language. This often will coincide with checking the files, and will be included in the same report.

Report

Once the moderation process has completed, you will receive a report from the moderator about what changes they would like you to make to your plugin (if any), as well as any questions that they may have about aspects of your plugin. Once you have implemented their feedback, optionally alongside any of your own minor changes, you may resubmit the plugin to Mod.io for final approval. The report will state what feedback is a hard requirement, compared to suggestions for improvement or future additions. There are four outcomes for the report.

Pass

Congratulations, you got everything right first try! This is unlikely, especially for a first submission, but if your plugin is small and you have experience, then see if you can do it!

Minor corrections

There are a few things to be changed, but nothing that should really change how your plugin works. Resubmit with these changes to be approved.

Major corrections

There is something significant about your plugin that needs to change before it can be approved. This will be accompanied by a conversation between you and the moderator to come to an agreement about how it should be changed, and what features may need to be restricted or removed to comply with the guidelines.

This outcome will also be given if your plugin if your plugin is unable to be moderated, such as if the code is incomprehensible or there are no

Fail

Your plugin is fundamentally attempting to do something the directly goes against the guidelines. Significant discussions need to be had if any part of it can be approved in any circumstance, but most likely this will mean making a new plugin entirely.

Editing a submission

You may later decide that you wish to update your plugin, such as adding additional features, changing the user interface, or removing your plugin entirely.

After the initial submission, a Mod.io plugin may be edited using the pencil icon at the top right of the plugin's page. This action is only available for the plugin creator, or any other contributors that the original creator chooses to add to the project. Most parts of the plugin's information may be altered after submission, or even after approval. Once a plugin has been approved, Jagex will be automatically notified when any changes are made to it, to ensure that changes remain appropriate. In particular, do not edit the submission during the submission freeze period, as mentioned above.

Submitting new files

Once your plugin has been approved, you may wish to submit a new version of the plugin. This can be done to include new features, change the user interface, or allow your plugin to interact with newly released game content. New versions of a plugin should be submitted as files for the same plugin on Mod.io, and not as a new plugin entirely.

Submitting new files will not remove plugin approval. As with the initial submission, the new files will need to be moderated to ensure that they comply with the plugin guidelines, and while the new files are under moderation the old files will still be available for people to use. The new files may be approved or denied as before, and if the new files are approved then they will immediately be available to players. If they are denied, then you will be contacted by a plugin moderator regarding why they were denied.