explaingit

lilmuff2/bsml

13KotlinAudience · developerComplexity · 4/5Setup · moderate

TLDR

An Android app that lets Brawl Stars players load visual and data mods into the game without rooting their device, by intercepting game network traffic through a local VPN and serving modified game files from the device itself.

Mindmap

mindmap
  root((BSML))
    What It Does
      Android mod loader
      No root required
      Local VPN intercept
    How It Works
      Fingerprint replace
      File redirect
      Local web server
    Tech Stack
      Kotlin
      Jetpack Compose
      Android VPN API
    Use Cases
      Apply visual mods
      Mod distribution
      Game file testing
    Audience
      Modders
      Android developers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Load custom visual mods into Brawl Stars on Android without modifying game installation files or rooting the device.

USE CASE 2

Intercept and redirect game network traffic on Android to serve locally modified game assets to the game client.

USE CASE 3

Build and distribute mod files in the BSML archive format for Supercell games compatible with this loader.

Tech stack

KotlinJetpack ComposeAndroid

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Android 7.0 or higher, no root needed, but the app will request VPN permission to intercept game traffic.

In plain English

BSML stands for Brawl Stars Mod Loader. It is an Android application that lets players apply visual and data modifications to the mobile game Brawl Stars without modifying the game's installation files and without needing root access on the device. The README is written in Russian with a note that an English version exists in a separate file. The central technical challenge the project solves is that the game verifies its own files before connecting to the server. If those files have been changed, the game normally refuses to connect. BSML works around this by acting as a local intermediary between the game and the server. It sets up a local VPN tunnel on the device, which lets it intercept the network traffic the game sends to Supercell's servers. When the game sends its initial connection message containing a fingerprint of its current files, BSML replaces that fingerprint with a modified version. The server then responds by telling the game to download updated files, and BSML intercepts that response too, redirecting the download address to a small web server running on the device itself. When the game then requests its game files, BSML's local server returns the modded versions for any files that have been changed and returns the original files for everything else. Mods are distributed as archive files with a custom extension. BSML reads the mod files, merges any data table changes precisely into the originals, compresses the result in the exact format the game expects, and serves them to the game on demand. When the user turns off mods, BSML sends the game's original file fingerprint, lets the game download and restore all original files from the local cache, and then shuts down the VPN to reduce battery use. The tool runs on Android 7.0 and above. The interface is built with Jetpack Compose, a modern Android UI toolkit. The project uses Kotlin as its primary language. All file handling, including the compressed data table format the game uses internally, is done locally on the device with no external service required. The README notes this is intended for Brawl Stars and other compatible Supercell games. No details about what specific visual or gameplay changes a given mod would make are described in the README itself, as that depends on the mod file being loaded.

Copy-paste prompts

Prompt 1
I want to load a BSML mod file into Brawl Stars using the BSML app. Walk me through installing BSML on Android 10 and loading a mod archive for the first time.
Prompt 2
How does BSML intercept Brawl Stars network traffic using a local VPN? Explain the fingerprint replacement and local file redirect flow in plain terms.
Prompt 3
I want to create a mod file for BSML. What file format and folder structure does BSML expect for its mod archives?
Prompt 4
How does BSML merge data table changes into original Brawl Stars game files before serving them to the game? Explain the compression step.
Open on GitHub → Explain another repo

← lilmuff2 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.