A free-and-open-source implementation of Rummikub as an online multiplayer game.
Go to file
Matthew Barnes ee05ce4c38
continuous-integration/drone/push Build is passing Details
Change drone to ci in README
2023-02-12 18:11:01 +00:00
client Removed small debug thing I forgot to take out 2022-01-07 16:57:43 +00:00
docs Added github pages folder 2022-01-07 18:47:59 +00:00
server Added character limit to messages on backend 2022-01-05 14:19:54 +00:00
.drone.yml Changed npm install to ci (better for CI jobs) 2021-10-12 17:45:57 +01:00
.gitignore Setup frontend environment 2021-08-25 18:13:27 +01:00
Dockerfile.client Added docker files for client and server 2022-01-07 16:56:45 +00:00
Dockerfile.server Added docker files for client and server 2022-01-07 16:56:45 +00:00
LICENSE Initial commit 2021-08-20 17:01:32 +00:00
README.md Change drone to ci in README 2023-02-12 18:11:01 +00:00
logo.png Updated readme 2022-01-07 18:39:24 +00:00
ss1.png Updated readme 2022-01-07 18:39:24 +00:00
ss2.png Updated readme 2022-01-07 18:39:24 +00:00
ss3.png Updated readme 2022-01-07 18:39:24 +00:00
ss4.png Updated readme 2022-01-07 18:39:24 +00:00

README.md

gnummikub

Build Status License: AGPL v3

Table of contents

About

Gnummikub is a free-and-open-source online implementation of Rummikub.

Players are free to host and join their own servers. Gnummikub also provides other features such as:

  • Disconnection handling
  • Client-side tile sorting
  • Multi-tile movement by holding shift
  • Chat emotes
  • Personal colours derived from your name

There is also the Gnummikub Wiki, which provides resources such as the WebSocket Protocol that Gnummikub follows, should others wish to create their own servers / clients.

Setup with Docker (recommended)

To host your own server, create an image using the dockerfile ending in .server, then run the image while publishing the port 8080:

docker build -t gnummikub-server -f Dockerfile.server .
docker run -p 8080:8080 gnummikub-server

To host your own client, create an image using the dockerfile ending in .client, then run the image while publishing the port 5000:

docker build -t gnummikub-client -f Dockerfile.client .
docker run -p 5000:5000 gnummikub-client

For more information on setting up a game of Gnummikub, see the Setting up Gnummikub page on the Gnummikub Wiki.

Setup manually

The prerequisites for this project are:

  • Golang
  • Node.js + npm

To set up the server, install dependencies using go build, then either run the server using go run ., or execute test cases using go test ./...

To set up the client, install dependencies using npm ci, then either run the client using npm run dev, or execute test cases using npm run test.

Images

ss1
Main screen
ss2
Server lobby
ss3
In-game
ss4
Server logs