Skip to main content
ReSkate’s launcher installs mods from Thunderstore’s ReSkate community. To share a mod, upload it there as a package.

The package

A package is a zip with three files at its top, and the mod beside them or in a folder below:
When a player installs it, the launcher finds the mod inside the zip (the shallowest folder with layout.toc, reskate-levels.json, reskate-plugin.json or a parks folder) and carries the top’s manifest.json, icon.png, README.md and CHANGELOG.md into it. You can also put the mod’s files at the top, beside them. ReSkate Studio’s Publish makes this zip for game data mods. For maps, parks, plugins and mod packs, make it yourself.

manifest.json

Your Thunderstore team is the package’s owner: the launcher installs it as Mods\<Owner>-<Name>, and shows by <Owner>. Keep <Owner>-<Name> within 64 characters, the longest folder name a mod can have.

icon.png and README.md

  • icon.png is 256 by 256 pixels. The launcher shows it on the mod’s row, and ReSkate shows it on a map’s card and on the cards of the mod’s items.
  • README.md is the mod’s page, on Thunderstore and in the launcher. The launcher shows it as plain text, without pictures or HTML, up to 400 lines.

Categories

Choose the package’s categories when you upload it:
  • Mods: installable from the launcher’s GET MODS. A package in Tools and not in Mods gets a button that opens Thunderstore instead.
  • Maps: needed for a map players can download in multiplayer.
Players filter GET MODS by category. A package marked NSFW, or in a category named NSFW, is never listed in the launcher. A package needs something for the game to load: game data (layout.toc), a map (reskate-levels.json), parks (a parks folder) or a plugin (reskate-plugin.json). A mod pack, with only manifest.json and its dependencies, is fine too: it installs the packages it lists. The launcher refuses a package with none of these.

Dependencies and updates

  • When a player installs your mod, the launcher installs its dependencies first: the newest version of each, unless they already have one at least as new as you ask for.
  • A player with your mod installed from Thunderstore sees UPDATE TO v<version> once you upload a newer version. PLAY asks them first when an enabled mod has an update.
  • Deprecating a package hides it from players who do not have it, and tells those who do that its author no longer supports it.
A mod with game data has to be rebuilt with ReSkate Studio, and uploaded again, for each version of skate. ReSkate supports: one built for another version is left out.

Maps

Upload a map in the Maps category, holding only the map: its reskate-levels.json and the map’s game data, with no other game files. Then players who join a host or a server on it can download it in the game, without leaving the session. See maps in multiplayer. ReSkate Studio’s Publish does not package maps. Put a manifest.json, icon.png and README.md in the map’s folder (Mods\<map ID>), and zip the folder’s contents.

Profiles

Players share sets of mods as profiles: codes and .r2z files, the same ones r2modman makes. A profile names each mod by its package, so mods installed from Thunderstore are the ones a profile can bring along.