No description
  • Vue 48.6%
  • Rust 43.4%
  • TypeScript 6.1%
  • JavaScript 1.1%
  • Shell 0.5%
  • Other 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-06-19 09:46:15 +02:00
.vscode Initial setup 2026-05-22 10:21:12 +02:00
guide/images README guide! 2026-06-13 01:37:07 +02:00
packages/arch add libsecret dependency 2026-06-10 20:33:53 +02:00
public Discord RPC! 2026-06-12 22:30:05 +02:00
src make modals a separate folder 2026-06-19 09:46:15 +02:00
src-tauri function to import localStorage (backend) 2026-06-19 09:45:21 +02:00
.gitignore Initial setup 2026-05-22 10:21:12 +02:00
export-localstorage.js tampermonkey script 2026-06-19 08:29:57 +02:00
index.html fix up index.html 2026-05-27 14:27:21 +02:00
latest.json Uodate latest 2026-06-18 09:57:46 +02:00
LICENSE add LICENSE 2026-05-22 10:40:58 +02:00
package.json prepare for merging back into main repo 2026-06-19 08:58:02 +02:00
pnpm-lock.yaml lots of logging 2026-06-16 14:58:48 +02:00
pnpm-workspace.yaml Make window non-resizable 2026-05-22 13:51:39 +02:00
README.md Update README.md 2026-06-13 01:39:41 +02:00
tsconfig.json local PolyProxy :yay: 2026-06-12 21:35:25 +02:00
tsconfig.node.json Initial setup 2026-05-22 10:21:12 +02:00
vite.config.ts Initial setup 2026-05-22 10:21:12 +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

License

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