No description
  • Vue 49.3%
  • Rust 42.7%
  • TypeScript 5.1%
  • JavaScript 2.3%
  • Shell 0.4%
  • Other 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-09 11:42:40 +02:00
.forgejo/workflows fix font in titlebar and artifact names 2026-09-21 20:47:13 +02:00
.vscode Normalize line endings per .gitattributes 2026-07-24 19:19:47 +02:00
guide/images README guide! 2026-06-13 01:37:07 +02:00
packages/arch Normalize line endings per .gitattributes 2026-07-24 19:19:47 +02:00
public Use PolyGlyphs in Titlebar 2026-07-29 14:40:52 +02:00
src Functional settings frontend!!!! 2026-10-09 11:42:40 +02:00
src-tauri remove port from config 2026-10-07 22:11:59 +02:00
.gitattributes Update workflow 2026-07-24 19:19:33 +02:00
.gitignore Initial setup 2026-05-22 10:21:12 +02:00
CREDITS.md Normalize line endings per .gitattributes 2026-07-24 19:19:47 +02:00
export-localstorage-bookmarklet.js update bookmarklet extension 2026-06-26 22:30:27 +02:00
export-localstorage.js Normalize line endings per .gitattributes 2026-07-24 19:19:47 +02:00
index.html Normalize line endings per .gitattributes 2026-07-24 19:19:47 +02:00
latest.json update latest.json 2026-09-21 22:38:49 +02:00
LICENSE Normalize line endings per .gitattributes 2026-07-24 19:19:47 +02:00
package.json bump version and reenable deb and rpm 2026-09-21 18:35:30 +02:00
pnpm-lock.yaml Proper CEF implementation 2026-09-21 15:51:35 +02:00
pnpm-workspace.yaml Normalize line endings per .gitattributes 2026-07-24 19:19:47 +02:00
README.md Update README.md 2026-09-24 10:14:41 +02:00
Roadmap.md update roadmap 2026-10-06 22:16:00 +02:00
tsconfig.json Normalize line endings per .gitattributes 2026-07-24 19:19:47 +02:00
tsconfig.node.json Normalize line endings per .gitattributes 2026-07-24 19:19:47 +02:00
vite.config.ts Normalize line endings per .gitattributes 2026-07-24 19:19:47 +02:00

PolyLauncher

An unofficial work-in-progress launcher for PolyTrack that lets you launch different versions of PolyTrack easily

Usage

The Menu

When you first open PolyLauncher you will be greeted by the play screen.
At first it will be pretty empty, since no profile is created yet.
This guide will walk you through creating a profile.

Aquiring versions

Before we can launch the game, we first need to aquire some game versions. To do this, open the sidebar by clicking the little hamburger button in the left of the titlebar, next to the < > buttons.
Then click on Versions. This will take you to the Versions page, where you can download the game.
In the top right you will be able to switch between PolyModLoader, PolyTrack and CWCTrack.
The launcher will automatically fetch the available versions and display them in a list (it might take a few seconds to load depending on internet speed and rate limits). Now you can download a version by clicking the Download button.

Creating a localStorage

Now we need to create a LocalStorage. The LocalStorage is what stores your game data (Account, Tracks, Settings, Mods etc.).
To create a LocalStorage, open the sidebar again and navigate to Storages. Then click Create and give your LocalStorage a name (names cannot contain special characters).

Creating a Profile

Now we can create a Profile. To do this, open the sidebar again and navigate to Profiles.
Click on Create, give your Profile a name, select an edition (PML, PT, CWCTrack), then select the version you just downloaded. Then select the LocalStorage you just created in the LocalStorage dropdown.
Click on Create to create the profile

Playing the game! :yay:

Now that we have made a Profile we can return to the Play menu by opening the sidebar and clicking on Play.
Now the dropdown next to the big Launch button should already have your newly created Profile and you should be ready to play the game! To launch the game, just click on Launch! If you click the quit button ingame or click return to Launcher in the titlebar it will return to the launcher. If you close the launcher via the X button in the titlebar it will close the game and the launcher.

Important files:

  • src-tauri/src/*.rs: app backend code
  • src-tauri/resources/editions/*.json: the built-in editions
  • public/*: images and assets bundled with the launcher's frontend
  • src/App.vue: the main code for the vue frontend
  • src/types.ts: types for the frontend code
  • src/components/*.vue: the vue components for the different launcher pages

Data path layout:

app_data_dir/
├── profiles/
│   ├── pml1/
│   │   ├── profile.json
│   │   └── mods.json
│   ├── cwctrack3/
│   │   └── profile.json
│   └── polytrack1/
│       └── profile.json
├── versions/
│   ├── polymodloader/
│   │   ├── v0.6.0-1.asar
│   │   └── v0.5.2-3.asar
│   ├── cwctrack/
│   │   ├── v1.2.2.asar
│   │   └── v1.1.1.asar
│   └── polytrack/
│       ├── v0.6.1.asar
│       ├── v0.5.2.asar
│       └── v0.3.1.asar
├── localStorage/
│   ├── localStorage1/
│   │   ├── storage.json
│   │   └── localStorage.enc
│   └── localStorage2/
│       ├── storage.json
│       └── localStorage.enc
└── config.toml
app_cache_dir/
└── extracted/
    ├── polymodloader/
    │   └── v0.6.0-1/
    │       ├── main.bundle.js
    │       ├── index.html
    │       ├── PolyModLoader.js
    │       └── ...
    ├── cwctrack/
    │   └── v1.2.2/
    │       ├── main.bundle.js
    │       ├── index.html
    │       └── ...
    └── polytrack/
        └── v0.6.0/
            ├── main.bundle.js
            ├── index.html
            └── ...

localStorage.enc is the file that contains the per-profile localStorage data (mods, tracks, settings, account token). It will be stored encrypted for security reasons using a key stored in the device keychain

TOS

PolyLauncher is in no way affiliated with or endorsed by Kodub or Crazy Games. No code from PolyTrack is included in PolyLauncher's code.

License

PolyLauncher is licensed under the GLPv3 license. For more info, see LICENSE