/Cockatrice

A cross-platform virtual tabletop for multiplayer card games

Primary LanguageC++GNU General Public License v2.0GPL-2.0


Table of Contents    Cockatrice | Downloads | Get Involved | Community | Translation | Building | Running | License



If you're getting started ⇢ view our webpage
If you're trying to get support or suggest changes ⇢ file an issue (How?)

Cockatrice

Cockatrice is an open-source multiplatform supported program for playing tabletop card games over a network. The program's server design prevents any kind of client modifications to gain an unfair advantage in a game. The client also has a built in single-player mode where you can brew without being connected to a server. This project is written in C++ and is using the Qt5 libraries.

Downloads Cockatrice Eternal Download Count

We offer downloads for all full releases (recommended) and the latest development versions. Full releases are checkpoints with major feature or UI enhancements between them, but currently we don't have a set schedule for releasing new updates. The development version contains the most recently added features and bugfixes, but can be more unstable. Downloads for development versions are updated automatically with every change.

  • Latest full release (recommended): Download from GitHub Releases Download Count on Latest Release

  • Latest development version: Download from GitHub Pre-Releases

    • Development builds may not be stable and/or contain several bugs.
    • If you'd like to be a Cockatrice Beta Tester, use this version.
    • More information can be found here

Get Involved Gitter Chat

Chat with the Cockatrice developers on Gitter. Come here to talk about the application, features, or just to hang out. For support regarding specific servers, please contact that server's admin or forum for support rather than asking here.

If you'd like to contribute code to the project, please review the guidelines. We maintain a tag for "easy" changes on our issue tracker: issues tagged in this way provide a simple way to get started. Issues tagged as Easy Changes

Check our long-term project roadmap with some visions here.

We try to be very responsive to new issues. We'll try to give you advice on how a feature should be implemented / advice on places the codebase is doing something similar before you get too far along with a PR.

Community Resources

Translation Status Cockatrice on Transiflex

Cockatrice uses Transifex for translations. You can help us bring Cockatrice and Oracle to your language or just edit single wordings right from within your browser by simply visiting our Transifex project page.

Cockatrice Oracle
Cockatrice Translation Status Oracle Translation Status

Check out our Translator FAQ for more information about contributing!

Building Travis Build Status - master Appveyor Build Status - master

Detailed compiling instructions are on the Cockatrice wiki under Compiling Cockatrice

Dependencies:

Oracle can optionally use zlib to load zipped files:

To compile:

mkdir build
cd build
cmake ..
make

You can then run

make install

to get a cockatrice installation inside the release folder, or:

make package

to create a system-specific installation package.

The following flags can be passed to cmake:

  • -DWITH_SERVER=1 Whether to build the server (default 0 = no).
  • -DWITH_CLIENT=0 Whether to build the client (default 1 = yes).
  • -DWITH_ORACLE=0 Whether to build oracle (default 1 = yes).
  • -DCMAKE_BUILD_TYPE=Debug Compile in debug mode. Enables extra logging output, debug symbols, and much more verbose compiler warnings (default Release).
  • -DUPDATE_TRANSLATIONS=1 Configure make to update the translation .ts files for new strings in the source code. Note: Running make clean will remove the .ts files (default 0 = no).
  • -DTEST=1 Enable regression tests (default 0 = no). Note: needs googletest, will be downloaded on the fly if unavailable. To run tests: make test.

Running

Cockatrice is the game client
Oracle fetches card data
Servatrice is the server

Servatrice Docker container

A Dockerfile is provided to run Servatrice (the Cockatrice server) using Docker.

You just need to create an image from the Dockerfile
cd /path/to/Cockatrice-Repo/ docker build -t servatrice .
And then run it
docker run -i -p 4747:4747/tcp -t servatrice:latest

Please note that running this command will expose the TCP port 4747 of the docker container
to permit connections to the server.

More infos on how to use Servatrice with Docker can be found in our wiki.

License GPLv2 License

Cockatrice is free software, licensed under the GPLv2.