Files
tekton/launcher
..
2025-12-10 23:11:59 +08:00
2026-02-04 16:31:18 +08:00
2026-02-04 16:31:18 +08:00
2025-12-10 02:35:17 +08:00
2025-12-10 23:11:59 +08:00
2025-12-10 02:35:17 +08:00
2025-12-10 02:35:17 +08:00

Tekton Launcher

A custom game launcher for tekton-local with auto-update functionality via itch.io.

Features

  • Version Checking - Automatically checks for game updates on launch
  • Progress Tracking - Visual download progress with percentage
  • Checksum Verification - MD5/SHA256 validation for downloaded files
  • Backup System - Automatic backup before updates with rollback support
  • News Feed - Displays devlog and announcements from itch.io
  • Changelog Display - Shows what's new in each version

Project Structure

launcher/
├── project.godot           # Godot 4.4 project file
├── icon.svg                # Launcher icon
├── scenes/
│   └── launcher.tscn       # Main launcher scene
├── scripts/
│   ├── config.gd           # Global configuration (URLs, colors)
│   ├── launcher_main.gd    # Main orchestration script
│   ├── version_checker.gd  # Version comparison and manifest fetching
│   ├── download_manager.gd # HTTP downloads with progress
│   ├── update_applier.gd   # Backup, install, and rollback
│   └── news_fetcher.gd     # News/devlog fetching
└── server/
    └── version.json        # Example version manifest

Setup

1. Configure itch.io URLs

Edit scripts/config.gd and update:

const ITCH_GAME_URL := "https://your-username.itch.io/tekton-local"
const VERSION_MANIFEST_URL := "https://your-username.itch.io/tekton-local/data/version.json"

2. Host version.json on itch.io

Upload the server/version.json file to itch.io alongside your game files. Update it whenever you release a new version.

3. Export the Launcher

  1. Open launcher/project.godot in Godot 4.4
  2. Go to Project > Export...
  3. Add a Windows Desktop preset
  4. Export as TektonLauncher.exe

4. Creating Game Patches

Use the PowerShell script in the main project:

.\tools\create_patch.ps1 -Version "1.0.0"

This will:

  • Update version.txt in your game
  • Generate checksums for the PCK file
  • Create a JSON snippet to add to version.json

Workflow for Releasing Updates

  1. Make changes to the main game
  2. Update version.txt with the new version number
  3. Export the game as PCK only from Godot
  4. Run create_patch.ps1 to generate checksums
  5. Upload the new PCK to itch.io
  6. Update version.json with the new release entry
  7. Upload updated version.json to itch.io

Players will see the update next time they launch the game!

UI Theme

The launcher features a cyberpunk-inspired dark theme:

  • Primary: Cyan (#00d4ff)
  • Secondary: Magenta (#ff00aa)
  • Background: Dark blue-black (#0a0a1a)

Customize colors in scripts/config.gd.

Cross-Platform Support

The launcher automatically detects the operating system and:

Platform Executable PCK File Launch Method
Windows tekton-local.exe tekton-local-windows.pck Direct process
Linux tekton-local.x86_64 tekton-local-linux.pck chmod +x, then launch
macOS tekton-local.app tekton-local-macos.pck open -a command

Multi-Platform Releases

When releasing for multiple platforms, use platform-specific keys in version.json:

{
  "version": "1.0.0",
  "pck_windows": {
    "url": "https://..../tekton-local-1.0.0-windows.pck",
    "size": 52428800,
    "checksum_md5": "..."
  },
  "pck_linux": {
    "url": "https://..../tekton-local-1.0.0-linux.pck",
    "size": 52428800,
    "checksum_md5": "..."
  },
  "pck_macos": {
    "url": "https://..../tekton-local-1.0.0-macos.pck",
    "size": 52428800,
    "checksum_md5": "..."
  }
}

The launcher will automatically download the correct PCK for the current platform.