SkillAgentSearch skills...

MapsetVerifier

A modding tool for osu!

Install / Use

/learn @Naxesss/MapsetVerifier
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Mapset Verifier

Mapset Verifier (MV) is a desktop app which tests quantifyable issues in beatmapsets from osu!, such as unsnapped objects and unused files. Many of these issues would otherwise disqualify the map from being ranked. Although mainly aimed at Beatmap Nominators, this can also be used by mapset creators and reviewers to speed up the ranking process.

MV is a successor to the game's built-in AiMod and Sieg's Modding Assistant, providing more features and greater scalability. Some examples include auto-updates, plugin support, and integrated documentation and diff utilities.

This is currently being ported to osu!lazer. You can track its progress here!

Note

Some issues are not easily quantified, especially ones related to metadata and timing; far from everything is covered. Also, false positives and false negatives may occur, as with any similar tool. So always use your own judgement and be critical about what the program points out, especially warnings.

Download

See the latest release. On Windows, get the exe file. On Linux, get the tar.gz / use this package on archlinux.

| Version | Date Released | Windows | Linux | | --- | --- | --- | --- | | 1.8.2 | 2021-09-21 | | | | 1.8.0 | 2021-09-14 | | | | 1.7.2 | 2020-10-07 | | | | 1.7.1 | 2020-10-03 | | | | 1.7.0 | 2020-09-28 | | | | 1.6.6 | 2020-08-04 | | | | 1.6.5 | 2020-07-03 | | |

Common Problems

  • Windows protected pc

    • Solution: More info > Run anyway OR Right click installer > Properties > Unblock
    • Reason: Installer has no signed certificate (costs)
  • Stuck on install screen when reinstalling

    • Solution: Uninstall before reinstalling
    • Reason: Limitation in electron-builder
  • Javascript error ENOENT, no MapsetVerifierBackend.exe in /app/api/win-x86

    • Solution: Uninstall, reinstall, then whitelist this exe in your antivirus before running again
    • Reason: Antivirus false positive, deletes the backend (part that does checks) on first run

Feature Comparison

| Feature | Mapset Verifier | Modding Assistant | AiMod | | --- | --- | --- | --- | | Difficulty Interpretation | ✅ (Option, Name, SR) | ✅ (Name, SR) | ✅ (SR) | | Snapshots | ✅ (Automatic) | ✅ (Manual) | ⬜️ | | Integrated Documentation | ✅ | ✅ (RC Snippets) | ⬜️ | | Timeline Comparison | ✅ | ✅ (Taiko-only) | ⬜️ | | Song folder detection | ✅ | ⬜️ | ✅ | | Automatic Updates | ✅ (Windows-only) | ⬜️ | ✅ | | Verbose Mode | ✅ | ⬜️ | ✅ | | Plugin Support | ✅ | ⬜️ | ⬜️ | | Open Source | ✅ | ⬜️ | ⬜️ | | Difficulty Graph | ✅ | ✅ (Outdated SR) | ⬜️ |

Examples of fixed false positives/negatives

Modding Assistant

  • counting extended break times as drain time.
  • failing to account for minimum SV (0.1x).
  • misinterpreting hit sounds on slider bodies as hit sounds on heads/tails.
  • completely ignoring storyboard variables and animation frames.

AiMod

  • incorrectly detecting unsnaps on slider tails < 2 ms off
  • not accounting for stacking.
  • using a vastly outdated star rating system, saying you need an easy/normal when you already have one.
  • using inaccurate playfield measurements to detect offscreen hit objects.

Plugins

Add check DLLs to %APPDATA%/Mapset Verifier Externals/checks to have them load in just like the default checks. To create these DLLs, have a look at how MapsetChecks was created. This is probably also useful.

Third-party plugins (that I'm aware of):

In general, do be careful about which check plugins you use, as they can be malicious. The plugins are executed by the back end of the application, so they can pretty much do anything the rest of the application can.

Technical Overview

The backend is written in C#/.NET, with a simple ASP.NET Core server. The frontend is an Electron desktop application written in HTML, CSS, and JS/JQuery. The server-client communication is done with SignalR. Upon selecting a mapset, the frontend requests tabs to be rendered, and the backend returns HTML.

Checks (last updated 2021-09-14)

General

| Category | Issue Message | | --- | --- | | Resources | Missing background. | | Resources | Too high or low background resolution. | | Resources | Inconsistent video usage. | | Resources | Overlay layer usage. | | Resources | Too high sprite resolution. | | Resources | Inconsistent video offset. | | Resources | Too high video resolution. | | Metadata | Inconsistent metadata. | | Metadata | Incorrect marker format. | | Metadata | Incorrect marker spacing. | | Metadata | BMS used as source. | | Metadata | Incorrect format of (TV Size) / (Game Ver.) / (Short Ver.) / (Cut Ver.) / (Sped Up Ver.) in title. | | Metadata | Unicode in romanized fields. | | Metadata | Missing genre/language in tags. | | Files | Issues with updating or downloading. | | Files | 0-byte files. | | Files | Unused files. | | Audio | Audio channels in video. | | Audio | More than 20% unused audio at the end. | | Audio | Too high or low audio bitrate. | | Audio | Frequent finish hit sounds. | | Audio | Delayed hit sounds. | | Audio | Incorrect hit sound format. | | Audio | Imbalanced hit sounds. | | Audio | Too short hit sounds. | | Audio | Multiple or missing audio files. | | Audio | Incorrect audio format. |

All Modes

| Category | Issue Message | | --- | --- | | Timing | Concurrent or conflicting timing lines. | | Timing |

Related Skills

View on GitHub
GitHub Stars124
CategoryDevelopment
Updated2d ago
Forks15

Languages

C#

Security Score

85/100

Audited on Apr 1, 2026

No findings