You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Thibault Duplessis 0a4fc3c88d
more unused warnings and code tweaks
15 hours ago
.github Use issue form for bug reports 1 month ago
app more unused warnings and code tweaks 15 hours ago
bin faster insights migration script 3 months ago
conf unused warnings and code tweaks 16 hours ago
modules more unused warnings and code tweaks 15 hours ago
project comment -Wunused:all 22 hours ago
public fix path to font file on oops page 6 days ago
translation New Crowdin updates (#12598) 1 day ago
ui more homepage responsive layout rework 2 days ago
.browserslistrc relocate browsers list 4 years ago
.eslintrc.json fix lint 3 months ago
.git-blame-ignore-revs Add 'Reformat with scalafmt 3.7.1' to .git-blame-ignore-revs 2 months ago
.gitattributes Add .gitattributes 11 months ago
.gitignore rename bleep to build 3 months ago
.gitmodules install jquery-bar-rating from npm (#6323) 3 years ago
.ignore don't ignore translation sources 2 years ago
.prettierignore fix another lint 3 months ago
.prettierrc.json prettier: mirror chessground scripts and more excludes 2 years ago
.sbtopts.default need more stack space to compile 3 years ago
.scalafmt.conf upgrade scalafmt 2 days ago
CONTRIBUTING.md Fix typos/grammer in contributing 7 months ago
COPYING.md update fantasy/spatial, add celtic 3 months ago
FAQ.md Update FAQ.md 2 years ago
LICENSE update some old links 3 years ago
README.md Readme: Scala 3 4 months ago
build.sbt tutor peers rating range using gaussian distribution 2 months ago
crowdin.yml Update Crowdin configuration file 3 years ago
lila Fix logo rendering in bash 3 years ago
package.json tweak npm scripts 2 weeks ago
pnpm-lock.yaml update pnpm lock 2 months ago
pnpm-workspace.yaml rename bleep to build 3 months ago

README.md

lichess.org

Build server Build assets Crowdin Twitter

Lichess 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, tactic trainer, a mobile app, and a shared analysis board. The UI is available in more than 130 languages thanks to the community.

Lichess is written in Scala 3, and relies on the Play 2.8 framework. scalatags is used for templating. Pure chess logic is contained in the scalachess 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. Lichess talks to Stockfish deployed in an AI cluster of donated servers. It uses MongoDB to store more than 1.7 billion games, which are indexed by elasticsearch. HTTP requests and WebSocket connections can be proxied by nginx. The web client is written in TypeScript and snabbdom, using Sass to generate CSS. The blog uses a free open content plan from prismic.io. All rated games are published in a free PGN database. Browser testing done with Browserstack. Proxy detection done with IP2Proxy database. Please help us translate Lichess with Crowdin.

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

Join us on Discord for more info. Use GitHub issues for bug reports and feature requests.

Installation

./lila # thin wrapper around sbt
run

The Wiki describes how to setup a development environment.

HTTP API

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

Supported browsers

Name Version Notes
Chromium / Chrome last 10 Full support
Firefox 63+ Full support (fastest local analysis since FF 79)
Edge 91+ Full support (reasonable support for 17+)
Opera 55+ Reasonable support
Safari 11.1+ 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

Lila 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.

Production architecture (as of July 2022)

Lichess production server architecture diagram

Credits

See lichess.org/thanks and the contributors here:

GitHub contributors

Competence development program

Lichess would like to support its contributors in their competence development by covering costs of relevant training materials and activities. This is a small way to further empower contributors who have given their time to Lichess and to enable or improve additional contributions to Lichess in the future. For more information, including how to apply, check Competence Development for Lichess contributors.