MCPcopy Index your code
hub / github.com/Sekai-World/sekai-sonolus-server

github.com/Sekai-World/sekai-sonolus-server @1.3.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.3.6 ↗ · + Follow
101 symbols 290 edges 86 files 0 documented · 0% updated 34d ago1.3.6 · 2026-06-04★ 52
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Sekai Sonolus Server

A Sonolus server for Project Sekai: Colorful Stage!.

Deployment

Install Node.js

Install LTS version of Node.js.

Download Release

Download and extract release.

Install Dependencies

npm ci --omit=dev

Configure

Rename config.example.json to config.json and modify its content. Documentation of config can be found below.

Run

node .

Config

port

Server port.

Examples: 8080.

verbose

Enable verbose logging.

Examples: true, false.

updateInterval

Interval between updates, in milliseconds.

Examples: 600000.

sonolus.prefix

Item prefix, should be kebab-case.

Examples: sekai-best.

sonolus.basePath

Base path, should have leading slash but no trailing slash.

Examples: /, /server.

sonolus.address

Address, should have no trailing slash.

Examples: https://my-domain.com, https://my-domain.com/server, http://127.0.0.1:8080/server.

sonolus.fallbackLocale

Fallback locale.

Examples: ja, en.

sonolus.bannerPath

Path to banner image, optional.

Examples: ./path/to/banner.png.

sonolus.packPath

Path to pack, optional. Use @sonolus/pack to prepare a pack.

Examples: ./path/to/pack.

sonolus.description

Server description.

sonolus.post.info.author

Info post author.

sonolus.post.info.description

Info post description.

sonolus.post.engine.*

Engine resources.

sonolusShare.mode

Share mode, can be spa or redirect.

Examples: spa, redirect.

sonolusShare.publicPath

Path to public when using SPA mode.

Examples: ./path/to/public.

sonolusShare.root

Redirect root when using redirect mode, should have no protocol.

Examples: my-domain.com, my-domain.com/server, 127.0.0.1:8080/server.

clients.*.baseUrl

Client base URL.

Examples: https://sekai-world.github.io/sekai-master-db-diff, https://storage.sekai.best/sekai-jp-assets, https://i18n-json.sekai.best.

clients.*.timeout

Client timeout, in milliseconds.

Examples: 30000.

clients.whitelist.enabled

Enable whitelist to remove unusable items due to missing assets.

Examples: true, false.

clients.whitelist.threadCount

Whitelist thread count.

Examples: 5.

Building from Source

npm ci
npm run build

Extension points exported contracts — how you extend this code

PlaylistItemModel (Interface)
(no doc)
src/sonolus/playlist/model.ts
BackgroundItemModel (Interface)
(no doc)
src/sonolus/background/model.ts
LevelItemModel (Interface)
(no doc)
src/sonolus/level/model.ts

Core symbols most depended-on inside this repo

randomize
called by 11
src/utils/math.ts
mapValues
called by 10
src/utils/object.ts
asset
called by 9
src/utils/asset.ts
merge
called by 8
src/repository/utils/merge.ts
resolveEngineResource
called by 8
src/sonolus/utils/engine.ts
toMultiValues
called by 8
src/sonolus/utils/form.ts
fetchMaster
called by 7
src/clients/master/fetch.ts
fetchMasters
called by 7
src/clients/master/fetch.ts

Shape

Function 98
Interface 3

Languages

TypeScript100%

Modules by API surface

src/sonolus/level/details.ts7 symbols
src/sonolus/background/details.ts6 symbols
src/clients/asset/music.ts5 symbols
src/clients/fetch.ts4 symbols
src/sonolus/level/data.ts3 symbols
src/clients/whitelist.ts3 symbols
src/clients/asset/card.ts3 symbols
src/utils/object.ts2 symbols
src/sonolus/utils/meta.ts2 symbols
src/sonolus/utils/i18n.ts2 symbols
src/sonolus/playlist/info.ts2 symbols
src/sonolus/playlist/index.ts2 symbols

For agents

$ claude mcp add sekai-sonolus-server \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page