Arcadia is a peer-to-peer game distribution platform.
It lets developers package their games into encrypted torrents and lets players download, verify, and launch them with full ownership.
Unlike existing storefronts, Arcadia is decentralized:
- No revenue cut — developers keep 100% of sales.
- No central servers — games are seeded via BitTorrent.
- No gatekeeping — anyone can publish and anyone can play.
-
Developer signs & encrypts
- Build your game into an
.arcpack. - Arcadia generates a developer signature (Ed25519) and per-player license (RSA).
- Output:
.arcmanifest,.license.json,.torrent.
- Build your game into an
-
Game is seeded
- The encrypted pack is seeded over BitTorrent.
- Manifests and licenses can be shared over HTTP or any file channel.
-
Player installs & verifies
- Player runs
arcadia getwith the manifest. - The torrent downloads the encrypted pack.
- The manifest + license are cryptographically verified.
- Player runs
-
Player launches
- Arcadia decrypts the pack into a temporary
.run/folder. - The executable is auto-discovered and launched.
- Decrypted files are removed afterward (unless
--keep-decryptedis set).
- Arcadia decrypts the pack into a temporary
REM Run from project root
test_windows.batThis will:
- Generate dev and player keys (if not already present).
- Pack and encrypt the game from
example/game42/. - Write output to
seeds/:game42-1.0.0.arcmanifestgame42-1.0.0.license.jsongame42-1.0.0.torrent
- Start seeding the torrent and serving the files over HTTP.
./test_linux_client.sh http://<DEV-IP>:8080/game42-1.0.0.arcmanifest http://<DEV-IP>:8080/game42-1.0.0.license.json ~/.arcadia/keys/player_rsa_priv.pemThis will:
- Fetch the manifest and license.
- Verify the developer’s signature.
- Download the encrypted game via BitTorrent.
- Install it into
~/.arcadia/games/game42-1.0.0/. - Decrypt and launch it.
Arcadia is in Phase 2 of development:
- ✅ Encrypted packs (AES-256-GCM)
- ✅ Developer signing (Ed25519)
- ✅ Per-player licenses (RSA)
- ✅ Cross-platform testing (Windows → Linux)
- ⚒️ Work in progress: SQLite library, reproducible builds, structured logging
- SQLite library migration
- Deterministic packaging & reproducible torrents
- Structured logs + doctor++ diagnostics
- Robust networking fallbacks (DHT, NAT)
- Python 3.9+
- libtorrent (Python bindings)
cryptography(installed fromrequirements.txt)