Skip to content

RaviharaV-bot/Liantichess

 
 

Repository files navigation

Nodejs-CI

Liatomic

Liatomic is a free, open-source antichess server designed to play antichess variants.

Currently supported games are:

Additionally you can check Chess960 option in for Antichess Chess960 castling rules

For move generation, validation, analysis and engine play it uses

On client side it is based on chessgroundx fork of chessground

liatomic is a free server and it will remain free forever.

Installation

Prerequisites

Project setup

pip3 install -r requirements.txt --user // Install python requirements
yarn install                            // Install node requirements
yarn dev                                // Compile typescript files to javascript
yarn md                                 // Compile md files to html

Start server

python3 server/server.py

Open the repo in GitPod

GitPod lets you configure one off initializing tasks and tasks that should be run on each startup.

The project comes with the necessary GitPod config files that instruct GitPod to install dependencies for the first time, and on every startup start MongoDb and the dev server.

You can open the repo in GitPod by attaching the repo url to https://gitpod.io/#. For this concrete fork the url would be:

https://gitpod.io/#https://github.com/easychessanimations/Liantichess

For the first time the server won't start as the installation will be still ongoing. So wait for the installation to finish and in the Run Server terminal tab type . startserver.sh or simply bring back this command with the up arrow and now the server will start ok.

You can also set the server URI in https://gitpod.io/variables . Create a variable LIATOMIC_URI and set it to the web page url as opened by GitPod for the server, without the trailing slash and change protocol to http. The startserver script will export this variable as URI so that redirect for oauth will be correct.

Example LIATOMIC_URL:

http://8080-amber-reindeer-qu3afegt.ws-eu25.gitpod.io

Deploy to Heroku

Create a Heroku app ( in the example we will assume the app name is atomiconly ). Then issue the following commands in Heroku CLI to set the necessary buildpacks

heroku buildpacks:set heroku/python --app atomiconly
heroku buildpacks:add --index 1 heroku/nodejs --app atomiconly

In Heroku UI set config var URI to the app url without trailing slash ( http://atomiconly.herokuapp.com in our case ) and set MONGO_HOST to a MongoDb connect URI that has credentials included.

Heroku config vars

URI set it to your app url example: http://atomiconly.herokuapp.com MONGO_HOST set it to your mongo database url DEV set it false to remove dev FERNET_KEY setup this if you want fishnet ADMINS set it to names of the players that you want to make tournaments example:Raviharav SriMethan TOURNAMENT_DIRECTORS set it to the names of players that that can make special games like host a game for others

How to give titles to players

go to your mongodb database page and click on browse Collections Screenshot 2022-01-08 152659

  • now click on user
  • now click edit icon on the players name that you want to add title
  • now add title:"the title you want to give" example title:"AGM"
  • now click on update document
  • now go to your heroku page and restart all dynos done!

Packages

 
 
 

Languages

  • TypeScript 36.8%
  • Python 28.6%
  • CSS 24.5%
  • HTML 9.8%
  • Shell 0.2%
  • JavaScript 0.1%