Launcher and server browser for Selene worlds, using Tauri.
This project is part of the Selene project.
The launcher supports two build-time modes:
generic: the default Selene launcher with home plus server browserdedicated: a branded single-server launcher with a focused main screen
Generic builds use the built-in defaults:
pnpm tauri devDedicated builds are configured through a brand JSON file passed at build time:
pnpm tauri dev -- --brand ./brands/example-worlds.jsonThe same flag works for plain Vite builds:
pnpm build -- --brand ./brands/example-worlds.jsonThe pnpm tauri ... wrapper generates a temporary Tauri config so product name, window title, dedicated-mode bundle icons, and the nested pnpm dev/pnpm build calls all use the same brand file.
Brand file shape:
{
"mode": "dedicated",
"appName": "Example Worlds",
"windowTitle": "Example Worlds Launcher",
"productName": "Example Worlds Launcher",
"communityLabel": "Discord",
"communityUrl": "https://discord.gg/S7maQVRRa9",
"authBrokerUrl": "https://auth-broker.seleneworlds.com",
"discovery": {
"featuredUrl": "https://telescope.seleneworlds.com/featured",
"serversUrl": "https://telescope.seleneworlds.com/servers"
},
"dedicated": {
"tauriIconDir": "icons/example-worlds",
"tagline": "Your gateway into the live world.",
"server": {
"name": "Example Server",
"address": "play.example.com",
"port": 8147,
"apiUrl": "https://play.example.com/api",
"description": "Jump straight into the main world."
},
"updates": [
{
"label": "Hello World",
"title": "Launch this week",
"body": "Preview the new region and create your character."
}
]
}
}If mode is omitted it defaults to generic. For dedicated builds, dedicated.server is required. If dedicated.updates is omitted, the launcher falls back to the built-in sample cards.
pnpm install
pnpm tauri devIcons for Tauri can be generated from the source SVG. This step must be done when changes are made to the logo.
pnpm tauri icon ./src/assets/selene.svgFor dedicated launches, you can generate a separate icon set into a subdirectory under src-tauri and point dedicated.tauriIconDir at it. Any files present in that directory override the default Selene assets; missing files fall back to src-tauri/icons. A complete dedicated set can include:
32x32.png64x64.png128x128.png128x128@2x.pngicon.pngicon.icnsicon.icoStoreLogo.pngSquare30x30Logo.pngSquare44x44Logo.pngSquare71x71Logo.pngSquare89x89Logo.pngSquare107x107Logo.pngSquare142x142Logo.pngSquare150x150Logo.pngSquare284x284Logo.pngSquare310x310Logo.png