This tool provides a simple API to fetch and serve all download links for every Vintage Story version, using Elysia.js and TypeScript. It parses the official Vintage Story account downloads page and returns structured download URLs for Windows, Mac, Linux, and server packages.
- Fetches all available Vintage Story versions and their download links.
- Returns links for Windows, Mac, Linux, Windows Server, and Linux Server.
- Prefers CDN links when available.
- Robust parsing for both stable and unstable releases.
- Easy to run locally with Bun.
Once running, the API exposes:
GET /
Returns a JSON object mapping each version to its download links.
Example response:
{
"1.21.0": {
"windows": "https://cdn.vintagestory.at/vs_install_1.21.0.exe",
"mac": "https://cdn.vintagestory.at/vs_mac_1.21.0.zip",
"linux": "https://cdn.vintagestory.at/vs_archive_1.21.0.tar.gz",
"windows_server": "https://cdn.vintagestory.at/vs_server_win-x64_1.21.0.zip",
"linux_server": "https://cdn.vintagestory.at/vs_server_linux-x64_1.21.0.tar.gz"
},
...
}- Bun installed
- Vintage Story account (to access the downloads page)
- Clone this repository.
- Install dependencies:
bun install
- Set up environment variables (see below).
The API requires two session cookies to access the downloads page:
PHPSESSIDVS_WEBSESSIONKEY
- Log in to https://account.vintagestory.at/.
- Open your browser’s Developer Tools (usually F12 or right-click → Inspect).
- Go to the Network tab.
- Refresh the page.
- Click on any request to
account.vintagestory.at(e.g., the main document or an XHR request). - In the request details, find the Cookies section.
- Copy the values for
PHPSESSIDandvs_websessionkey.
Alternatively, in Chrome/Firefox:
- Go to the Application/Storage tab in DevTools.
- Under Cookies, select
account.vintagestory.at. - Find and copy the values for
PHPSESSIDandvs_websessionkey.
Create a .env file in the project root:
PHPSESSID=your_php_session_id_here
VS_WEBSESSIONKEY=your_vs_websessionkey_here
Start the server:
bun run src/index.tsThe API will be available at http://localhost:3000/.
MIT