diff --git a/doc/continuumatrice-product-migration.md b/doc/continuumatrice-product-migration.md index 699cbb8fa..949694ce2 100644 --- a/doc/continuumatrice-product-migration.md +++ b/doc/continuumatrice-product-migration.md @@ -7,7 +7,7 @@ This is a **product fork**, not a renamed Cockatrice binary. The upstream Cockat | Component | Continuumatrice | | --- | --- | | CMake target / installed binary | `continuumatrice` | -| Linux build output | `build/cockatrice/continuumatrice` (source folder remains upstream named) | +| Linux build output | `build/continuumatrice/continuumatrice` (source folder remains upstream named) | | Linux app launcher | `continuumatrice.desktop` | | Qt application | `Continuumatrice` | | Qt organization | `Continuum Universes Studio` | @@ -17,12 +17,12 @@ This is a **product fork**, not a renamed Cockatrice binary. The upstream Cockat | Deep-link scheme | `continuumatrice://` | | Card XML root (native) | `continuumatrice_carddatabase` version `4` | | Card XML root (import compatibility) | `cockatrice_carddatabase` version `4` | -| Fork server executable (when built) | `continuumatrice-server` | -| Fork server config | `continuumatrice-server.ini` | +| Fork server executable (when built) | `continuum-servatrice` | +| Fork server config | `continuum-servatrice.ini` | Both `` and `` load, but new XML saved by the fork uses the new root. The parser format and gameplay features still derive from the Cockatrice codebase; this change is not an automatic rules engine. -The source directory `cockatrice/`, common `libcockatrice_*` targets, and historical class names are left as *internal* implementation details to avoid needless churn and protocol breakage. They do not identify the installed product. +The source directories `cockatrice/` and `servatrice/`, common `libcockatrice_*` targets, and historical class names are left as *internal* implementation details to avoid needless churn and protocol breakage. They do not identify the installed product. ## Card data @@ -49,9 +49,9 @@ The Windows and macOS installers are **not yet verified**. Source and packaging ```bash cmake -S . -B build --fresh -G Ninja \ - -DCMAKE_BUILD_TYPE=Release -DWITH_CLIENT=ON -DWITH_SERVER=OFF -DWITH_ORACLE=OFF -cmake --build build --target continuumatrice --parallel 16 -./build/cockatrice/continuumatrice + -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 ``` An internal compatibility target `cockatrice` still depends on `continuumatrice` to accommodate older CI invocations, but never emits a `cockatrice` executable. Previously compiled copies of `build/cockatrice/cockatrice` are stale. @@ -59,7 +59,7 @@ An internal compatibility target `cockatrice` still depends on `continuumatrice` ## Release checklist - [ ] Configure and compile Continuumatrice with openSUSE Qt 6 using a clean CMake cache. -- [ ] Confirm `build/cockatrice/continuumatrice` runs and the app name and original SVG icon appear. +- [ ] Confirm `build/continuumatrice/continuumatrice` runs and the app name and original SVG icon appear. - [ ] Confirm old `/usr/bin/cockatrice`, `~/.local/share/Cockatrice` and MTG card images remain untouched. - [ ] Open both clients simultaneously; confirm distinct sockets, settings, card databases, decks and caches. - [ ] Load both legacy and new-root XML and verify custom images and Front/Support/Command mapping. @@ -72,3 +72,11 @@ An internal compatibility target `cockatrice` still depends on `continuumatrice` - [ ] Verify GPL requirements, notice retention and upstream attribution. **Status:** Committed source changes; no completed Qt compilation, package build, or runtime validation in the assistant environment. Release is blocked pending these tests. + +## Continuum-Servatrice dedicated server + +CMake uses `add_subdirectory(servatrice "${CMAKE_BINARY_DIR}/continuum-servatrice")`, retaining the inherited source files but placing generated build files and the executable in their own product folder. `WITH_SERVER=ON` is the default; `WITH_SERVER=OFF` is a deliberate opt-out for client-only builds. + +The MySQL schema `servatrice/continuum-servatrice.sql` uses `continuum_servatrice_` table prefixes, paired with `servatrice/continuum-servatrice.ini.example`. Default listening ports are 4757/4758. Existing Servatrice implementations, account/room/networking functionality and extended Limbo/Refuge/Oblivion game zones are retained. + +The fork server should be hosted against an **independent MySQL database**, not an existing upstream MTG Servatrice database. See [hosting instructions](continuum-servatrice-hosting.md).