Skip to content

Repository files navigation

Draconis icon

Draconis

A native macOS launcher for Titanfall 2 + Northstar, built with SwiftUI and the Liquid Glass design system.

macOS Tahoe 26+ Swift 5.10 Xcode 26+ GPL-3.0


Draconis is not a Wine front-end of its own — it's a polished native launcher that drives CrossOver underneath. If you already have a CrossOver bottle with Titanfall 2 installed, Draconis detects it and just launches the game. If you don't, the onboarding wizard sets one up end-to-end.

⚠️ Opening Draconis for the first time

Draconis is not notarised by Apple, so the first time you launch it macOS will refuse with one of these:

"Draconis" cannot be opened because Apple cannot check it for malicious software.

"Draconis" is damaged and can't be opened. You should move it to the Trash.

Normal for any open-source macOS app without an Apple Developer ID. Pick whichever route is easiest:

Option A — System Settings

  1. Try to launch Draconis normally (it gets blocked).
  2. Open System Settings → Privacy & Security.
  3. Scroll to the Security section — there's a line "Draconis was blocked from use…" with an Open Anyway button.
  4. Click it and confirm.

Option B — Terminal (if Gatekeeper says "damaged")

xattr -dr com.apple.quarantine /Applications/Draconis.app

Then launch normally.


Features

  • One-click launch for both Northstar and vanilla Titanfall 2 from any detected CrossOver bottle.
  • Guided onboarding wizard that picks up where you left off — detects existing bottles, lets you reuse them or create new ones, and walks you through whichever step is missing.
  • Four install sources: Maxima (direct EA download), EA app, Steam, or Epic Games (coming soon). Pick one — Draconis handles the rest.
  • Automatic EA authentication via Maxima-Draconis. No need to keep EA Desktop running while you play.
  • Steam CEG fix — Steam-installed Titanfall 2 binaries are DRM-signed in a way that doesn't run cleanly under Wine. Draconis swaps just the two affected files (~3 MB) so the rest of your Steam install — save games, Northstar mods, the full ~30 GB — stays untouched.
  • Northstar auto-updater on every launch.
  • Thunderstore mod browser with install / enable / disable / uninstall.
  • Server browser backed by the Northstar masterserver.
  • Native Liquid Glass UI using macOS Tahoe's .glassEffect() — no fake blur.

Requirements

  • macOS Tahoe (26) or later.
  • CrossOver installed at /Applications/CrossOver.app.
  • A legal copy of Titanfall 2 on any of:
    • Steam (needs the CEG fix Draconis applies for you)
    • EA app
    • EA library directly — purchased on EA, or your Steam/Epic account linked + synced at least once. Draconis can download the game itself via Maxima.
    • Epic Games (coming soon)

How it works

The wizard adapts to what's already on your Mac:

  1. No bottles yet → pick an install source → Draconis creates a fresh win10_64 bottle, installs the launcher you picked, and waits for Titanfall 2 to arrive in it.
  2. Existing bottle detected → choose to reuse it or create a new one. If you reuse, Draconis scans what's inside and skips ahead to the first missing piece.
  3. Maxima route specifically → Draconis installs Maxima into the bottle, then drives the OAuth login + game download from inside Maxima's UI. You only have to sign into EA in your browser. Draconis watches the install and advances when it's truly done.

Once the bottle is ready, the Play screen detects whether Northstar is installed and lets you launch either mode. Launches go through CrossOver's cxstart so the bottle environment is set up correctly.

Steam CEG fix

Steam ships Titanfall 2's Titanfall2.exe and Titanfall2_trial.exe signed with CEG (Custom Executable Generation) per-user DRM. On macOS/CrossOver the DRM check fails and the game shows:

Engine Error: File corruption detected

Nothing's actually corrupted — the DRM just can't verify itself under Wine. CEG only touches those two binaries; every other file in the Steam install matches the EA original.

Draconis fixes it by replacing just those two files with EA's originals via Maxima (~3 MB download, under a minute). Your Steam library entry, save games, Northstar mods, and the rest of the install stay untouched. The wizard offers this as a one-click step when it detects a Steam install + Maxima in the same bottle.

Maxima authentication

Maxima-Draconis is an open-source replacement for EA Desktop / Origin that runs inside the CrossOver bottle. Draconis bundles its host-side helper (MaximaHelper.app) and downloads the bottle-side installer (MaximaSetup.exe) on demand.

When Maxima is installed in a bottle, Draconis routes launches through it for EA authentication — no need for EA Desktop to be open. The installed Maxima version is tracked; an Update Maxima button appears in Settings when a newer release is published.

If your Titanfall 2 EA license isn't linked to your EA account (Steam-only owners), Maxima can't see the game in your library. Linking accounts at ea.com resolves this — takes about 30 seconds.

Privacy & error reporting

On first launch Draconis presents a Privacy & Data Notice you must accept before the app opens. This acceptance is stored in ~/Library/Preferences/org.draconis.launcher.plist and is remembered permanently — you will not be asked again unless you delete that file or run defaults delete org.draconis.launcher.

What's collected:

  • Crash reports and handled errors via Sentry (EU servers)
  • Bottle state (which components are installed), app version, CrossOver availability
  • Last 60 lines of console output when you submit a bug report (home-directory path replaced with ~)
  • Optional: display name and contact handle you enter yourself in a bug report

Third-party services — each governs their own data:

Service What it handles Privacy policy
Sentry Crash / error telemetry and bug feedback sentry.io/privacy
GitHub Source code, releases, public issues GitHub Privacy Statement
Electronic Arts / Maxima EA authentication and game downloads (if using Maxima) ea.com/legal/privacy-policy
Northstar master server IP visibility when connecting to community servers northstar.tf

Draconis does not run its own remote database. To withdraw consent, delete your preferences (defaults delete org.draconis.launcher) — the notice will reappear on next launch.

Reporting a bug: use Help → Report a Bug… (⌘⌥B) or the Report a Bug button in Settings → About. Your last 60 console lines and bottle state are bundled automatically; description is required, name and contact are optional.

Building

# Generate the Xcode project + open it
./bootstrap.sh --open

# Or build from the command line
xcodebuild -project Draconis.xcodeproj \
           -scheme Draconis \
           -configuration Release \
           -derivedDataPath build

Output: build/Build/Products/Release/Draconis.app. See BUILD.md for the full build + signing + notarisation walkthrough, and CLAUDE.md for the architecture deep dive.

Contributors

Made with contrib.rocks.

Credits

License

GPL-3.0-or-later. Draconis is a derivative work in spirit — but not in code — of the Viper launcher, which carries the same licence.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages