/lila

Primary LanguageScalaGNU Affero General Public License v3.0AGPL-3.0

Build server Build assets

Playstrategy homepage

Lila (li[chess in sca]la) is a free online chess game server focused on realtime gameplay and ease of use.

It features a search engine, computer analysis distributed with fishnet, tournaments, simuls, forums, teams, and a shared analysis board. The UI is available in more than 130 languages.

Playstrategy is written in Scala 2.13, and relies on the Play 2.8 framework. scalatags is used for templating. Pure chess logic is contained in the strategygames submodule. The server is fully asynchronous, making heavy use of Scala Futures and Akka streams. WebSocket connections are handled by a separate server that communicates using redis. Playstrategy talks to Stockfish deployed in an AI cluster of donated servers. It uses MongoDB to store games. HTTP requests and WebSocket connections can be proxied by nginx. The web client is written in TypeScript and snabbdom, using Sass to generate CSS. Proxy detection done with IP2Proxy database.

See playstrategy.org/source for a list of repositories.

Join us on discord for more info (coming soon...). Use GitHub issues for bug reports and feature requests.

Installation

./lila # thin wrapper around sbt
run

The Lichess Wiki describes how to setup a development environment, which is the same process as PlayStrategy.

Swiss tournaments pairings require to have a running https://github.com/cyanfish/bbpPairings and set the correct path value for the key swiss.bbpairing in conf/application.conf.

HTTP API

Feel free to use the Playstrategy API in your applications and websites.

Supported browsers

Name Version Notes
Chromium / Chrome last 10 Full support
Firefox 61+ Full support (fastest local analysis since FF 79)
Opera 55+ Reasonable support
Safari 11.1+ Reasonable support
Edge 17+ Reasonable support

Older browsers (including any version of Internet Explorer) will not work. For your own sake, please upgrade. Security and performance, think about it!

License

Playstrategy is licensed under the GNU Affero General Public License 3 or any later version at your choice with an exception for Highcharts. See copying for details.

Credits

This code is forked from, and exists because of ornicar, and the whole Lichess project.

playstrategy.org currently supports the Mind Sports Olympiad.