Q3 ARENA COMPANION - WINDOWS

This optional companion connects q3arena:// links to your installed game.
It never downloads Quake III, scans the disk or changes game files.

REQUIREMENTS
Windows with Windows PowerShell 5.1 and .NET Framework. No administrator access.
This package contains source code, not a precompiled executable. Setup compiles
Launcher.cs locally with the Windows compiler supplied with .NET Framework.

INSTALL
1. Extract this ZIP into a folder.
2. Inspect Launcher.cs and Install.ps1 if you wish.
3. Right-click Install.ps1 and choose Run with PowerShell.
4. Select an existing game .exe for 1.16 and/or 1.32.
5. Click Save & enable joining. Setup installs into:
   %LOCALAPPDATA%\Q3ArenaCompanion
6. Return to the directory, choose a server and select Launch game.
   Your browser may ask for confirmation to open the companion.

If your Windows policy blocks unsigned scripts, use the in-game /connect
command instead, or ask the administrator of your device about script policy.
This installer does not change PowerShell execution policies.

CHANGE GAME PATHS
Run %LOCALAPPDATA%\Q3ArenaCompanion\Q3ArenaCompanion.exe with no arguments.

UNINSTALL
Open the companion and select Remove URL handler, or run it with --uninstall.
After closing it, delete %LOCALAPPDATA%\Q3ArenaCompanion.
Only the current user's q3arena URL handler and companion settings are removed.
Your game installations are untouched.

URL CONTRACT
q3arena://connect?address=31.214.141.112%3A27968&version=1.16
Versions allowed: 1.16, 1.32. IPv4 and DNS hostnames are supported.
Ports allowed: 1-65535. Exactly two parameters are required; duplicate/unknown
parameters, credentials, fragments and extra paths are rejected.
The selected executable is launched directly without a command shell, with
its directory as the working directory and +connect ADDRESS as arguments.

VERIFICATION LIMITS
The web directory was tested independently. This Windows-specific source
has not been compiled or run on Windows in the build environment.

A server can require additional maps or a mod even when its protocol matches.
