A cross-platform virtual tabletop for multiplayer card games https://cockatrice.github.io
Find a file
2026-11-03 18:56:41 -07:00
.ci [CI] Make the hdiutil retry wrapper report failure (#7643) 2026-11-02 07:01:55 +01:00
.github [Client] Fix crash when local game commands are sent after shutdown (#7714) 2026-11-02 13:28:23 +01:00
.tx [Translation] Move config into git version control (#7575) 2026-10-18 14:29:51 +02:00
cmake Merge branch 'Cockatrice:master' into feature/continuumatrice-product-migration 2026-11-03 18:56:41 -07:00
cockatrice Merge branch 'Cockatrice:master' into feature/continuumatrice-product-migration 2026-11-03 18:56:41 -07:00
doc Merge branch 'Cockatrice:master' into feature/continuumatrice-product-migration 2026-11-03 18:56:41 -07:00
libcockatrice_card Merge branch 'Cockatrice:master' into feature/continuumatrice-product-migration 2026-11-03 18:56:41 -07:00
libcockatrice_deck_list Import Moxfield signature spells into the deck [skip ci] (#7751) 2026-11-03 10:40:28 +01:00
libcockatrice_filters Merge branch 'Cockatrice:master' into feature/continuumatrice-product-migration 2026-11-03 18:56:41 -07:00
libcockatrice_game Continuumatrice: add Limbo Refuge Oblivion support to player_actions.cpp 2026-11-02 01:52:21 -07:00
libcockatrice_interfaces [Build] Configure AUTOMOC, AUTOUIC and AUTORCC once (#7637) 2026-11-02 07:06:47 +01:00
libcockatrice_models Merge branch 'Cockatrice:master' into feature/continuumatrice-product-migration 2026-11-03 18:56:41 -07:00
libcockatrice_network Merge branch 'Cockatrice:master' into feature/continuumatrice-product-migration 2026-11-03 18:56:41 -07:00
libcockatrice_protocol [Logs] Browse room history without filters with paginated infinite scroll (#7531) 2026-11-02 07:36:49 +01:00
libcockatrice_rng [Build] Configure AUTOMOC, AUTOUIC and AUTORCC once (#7637) 2026-11-02 07:06:47 +01:00
libcockatrice_settings Isolate Continuumatrice URLs, updates, and card artwork sources 2026-11-02 03:03:23 -07:00
libcockatrice_utility Add sixteen server-synchronized Essence resource pools per match player 2026-11-03 16:42:08 -07:00
oracle Translate oracle/oracle_en@source.ts in de (#7767) 2026-11-03 10:31:12 +01:00
servatrice Install only Continuum-Servatrice schema/config across platforms 2026-11-02 05:06:00 -07:00
tests Merge branch 'Cockatrice:master' into feature/continuumatrice-product-migration 2026-11-03 18:56:41 -07:00
tools Align Continuumatrice installer and hosting docs with Continuum-Servatrice server 2026-11-02 05:04:10 -07:00
vcpkg@9eec002df1 [Client] Fix crash when local game commands are sent after shutdown (#7714) 2026-11-02 13:28:23 +01:00
.clang-format Enable RemoveSemicolon & update format.sh (#6896) 2026-05-16 20:26:37 +02:00
.cmake-format.json rework formatting with cmake-format (#4627) 2022-06-08 21:14:26 -04:00
.dockerignore Include git metadata in docker build context (#7393) 2026-10-04 03:48:15 +02:00
.gitignore [Card Database] Improve loading times through binary cache (#7051) 2026-07-27 23:12:53 +02:00
.gitmodules Docs: Use doxygen-awesome-css theme (#6512) 2026-01-24 11:22:43 +01:00
CMakeLists.txt Merge branch 'Cockatrice:master' into feature/continuumatrice-product-migration 2026-11-03 18:56:41 -07:00
docker-compose.yml Docker compose: Link to our GHCR hosted servatrice image (#6728) 2026-03-22 10:28:24 +01:00
docker-compose.yml.windows Docker compose: Link to our GHCR hosted servatrice image (#6728) 2026-03-22 10:28:24 +01:00
Dockerfile [Security] Use a CSPRNG for salts, tokens, and RNG seeding (#7192) 2026-09-04 13:49:18 +02:00
Doxyfile [Docs] Add app logo to main page + cleanup (#7471) 2026-10-10 23:48:37 +02:00
format.sh [CI] Lint only .sh files in the shell formatting pass (#7715) 2026-11-02 07:29:05 +01:00
gcovr.cfg [CI] Publish a gcovr line-coverage report from the test run (#7404) 2026-10-11 15:05:28 +02:00
iwyu.sh [Tooling] Add IWYU Qt6 mapping, generator, and runner script (#7454) 2026-10-08 11:17:01 +02:00
LICENSE update the address of the fsf in the license (#6113) 2025-09-10 18:18:34 -04:00
publish_beta.sh [Tooling] Add publish_beta.sh to automate Development beta tagging (#7505) 2026-10-19 15:01:18 +02:00
qt6.imp [Tooling] Add IWYU Qt6 mapping, generator, and runner script (#7454) 2026-10-08 11:17:01 +02:00
README.md Add sixteen server-synchronized Essence resource pools per match player 2026-11-03 16:42:08 -07:00
shell.nix nix: Add development utilities to shell.nix (#5725) 2025-03-15 19:03:26 +00:00
vcpkg.json bump vcpkg submodule (#7690) 2026-11-01 16:22:51 +01:00

Continuumatrice

Continuumatrice is a standalone, open-source desktop card-game client for Continuum Universes, developed by Continuum Universes Studio and based on the Cockatrice C++/Qt project.

It is not your normal Magic: The Gathering Cockatrice installation. Continuumatrice has an independent executable, application ID, Linux launcher, card database, deck directory, settings, cache, window branding, and URL scheme. It also supports Limbo, Refuge, and Oblivion as additional card piles.

Status: Active fork development. Features and packaging changes in draft pull requests are not released or validated until built and tested.

What's different

  • Front, Support, Command battlefield bands with theme overrides
  • Limbo, Refuge, and Oblivion as real server-backed public piles
  • Independent profile: ~/.local/share/Continuumatrice and ~/.cache/Continuumatrice by default on Linux
  • Independent URL handler: continuumatrice:// (does not claim cockatrice://)
  • Own app icon, name and install identity; regular Cockatrice remains untouched
  • No built-in Magic card import or Scryfall download list by default
  • Card data supplied by your own Cockatrice XML v4-compatible files and images; the XML schema is still inherited from Cockatrice
  • Matching fork client/server required for the three new pile-zone names

Game rules are not automatically enforced by the generic tabletop client. These piles are functional card containers, not an implementation of Continuum Universes rules themselves.

Build on openSUSE Tumbleweed

Install development packages for Qt 6, Protobuf, a C++20 compiler, CMake and Ninja. Refer to Linux installation notes for the dependency setup.

git clone https://github.com/Continuum-Universes-Studio/Continuumatrice.git
cd Continuumatrice

cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release \
  -DWITH_CLIENT=ON -DWITH_SERVER=ON -DWITH_ORACLE=OFF

cmake --build build --target continuumatrice continuum-servatrice --parallel 16
./build/continuumatrice/continuumatrice

The cockatrice CMake target is a backwards-compatible build alias, not the generated executable. An old build/cockatrice/cockatrice binary may still exist if you compiled an earlier version: it is stale, not Continuumatrice.

To install under an appropriate prefix:

cmake --install build

Inspect CMAKE_INSTALL_PREFIX before installing, particularly on a machine that already has Cockatrice. The fork does not install or remove /usr/bin/cockatrice or the upstream cockatrice.desktop.

Card catalogue

The fork accepts XML version 4 for the time being. An empty cards.xml is created on a fresh profile; store your Continuum Universes sets in ~/.local/share/Continuumatrice/customsets/, then reload the card database.

Images live under ~/.local/share/Continuumatrice/pics/. Custom graphics and themed pile icons are supported; no MTG catalogue is required.

Independent product boundary

The fork must not use upstream Cockatrice software-update releases, automatically import Magic card databases, register .cod as its own file type, or interfere with the original Cockatrice installation. A native Continuumatrice card importer and full multi-platform release validation are separate engineering work.

Legacy class names, the cockatrice/ source directory, libcockatrice_* internal libraries, Protobuf protocol, and inherited card XML root element remain for source and wire compatibility; they do not represent the installed product name.

License and upstream attribution

Continuumatrice is derived from Cockatrice, originally developed by the Cockatrice contributors. Existing copyright headers, contribution history and upstream license obligations are retained. See LICENSE. The Continuumatrice modifications are maintained by Continuum Universes Studio.

This is an independent fork, not an official Cockatrice release.

Host Continuum-Servatrice

This repository includes the full dedicated multiplayer server, Continuum-Servatrice, built with the continuum-servatrice CMake target (default WITH_SERVER=ON). Its build output is build/continuum-servatrice/continuum-servatrice. Use the standalone continuum_servatrice MySQL database and the provided server-specific SQL schema/config; do not reuse MTG Servatrice's database or tables.

Dedicated server hosting and database instructions

In-match Essence pools

Each player has a server-authoritative 16-type Essence pool (M S O G E A Q C J B R L V T P N), starting at zero. The match displays all balances beside the battlefield with quick gain/spend/set controls. Essence isn't generated by drawing land cards, and there is no automatic per-turn resource refill or cost spending until actual CCG gameplay rules define those mechanics. Continuum-Servatrice and the local server both use the same counter protocol and state.

In-match Essence resource pools and test checklist