lila/README.md

86 lines
4.6 KiB
Markdown
Raw Normal View History

2017-05-28 10:25:40 -06:00
[lichess.org](https://lichess.org)
==================================
2019-11-13 02:39:01 -07:00
[![Build server](https://github.com/ornicar/lila/workflows/Build%20server/badge.svg)](https://github.com/ornicar/lila/actions?query=workflow%3A%22Build+server%22)
[![Build assets](https://github.com/ornicar/lila/workflows/Build%20assets/badge.svg)](https://github.com/ornicar/lila/actions?query=workflow%3A%22Build+assets%22)
2017-05-28 10:25:40 -06:00
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/lichess/localized.svg)](https://crowdin.com/project/lichess)
2017-07-13 07:58:49 -06:00
[![Twitter](https://img.shields.io/badge/Twitter-%40lichess-blue.svg)](https://twitter.com/lichess)
2020-01-09 11:19:29 -07:00
<img src="https://raw.githubusercontent.com/ornicar/lila/master/public/images/home-bicolor.png" alt="Lichess homepage" title="Lichess comes with light and dark theme, this screenshot shows both." />
2014-12-24 05:18:59 -07:00
2017-01-08 15:45:30 -07:00
Lila (li[chess in sca]la) is a free online chess game server focused on [realtime](https://lichess.org/games) gameplay and ease of use.
2016-06-16 05:24:33 -06:00
It features a [search engine](https://lichess.org/games/search),
[computer analysis](https://lichess.org/ief49lif) distributed with [fishnet](https://github.com/niklasf/fishnet),
[tournaments](https://lichess.org/tournament),
[simuls](https://lichess.org/simul),
[forums](https://lichess.org/forum),
[teams](https://lichess.org/team),
[tactic trainer](https://lichess.org/training),
a [mobile app](https://lichess.org/mobile),
2016-12-07 01:19:11 -07:00
and a [shared analysis board](https://lichess.org/study).
2019-08-20 01:43:12 -06:00
The UI is available in more than [130 languages](https://crowdin.com/project/lichess) thanks to the community.
2016-06-16 05:24:33 -06:00
2019-12-12 13:23:25 -07:00
Lichess is written in [Scala 2.13](https://www.scala-lang.org/),
and relies on the [Play 2.8](https://www.playframework.com/) framework.
2020-09-15 04:54:42 -06:00
[scalatags](https://www.lihaoyi.com/scalatags/) is used for templating.
2019-09-17 04:37:55 -06:00
Pure chess logic is contained in the [scalachess](https://github.com/ornicar/scalachess) submodule.
2020-09-15 04:54:42 -06:00
The server is fully asynchronous, making heavy use of Scala Futures and [Akka streams](https://akka.io).
2019-12-12 13:23:25 -07:00
WebSocket connections are handled by a [seperate server](https://github.com/ornicar/lila-ws) that communicates using [redis](https://redis.io/).
2020-09-15 04:54:42 -06:00
Lichess talks to [Stockfish](https://stockfishchess.org/) deployed in an [AI cluster](https://github.com/niklasf/fishnet) of donated servers.
It uses [MongoDB](https://mongodb.org) to store more than 1.7 billion games, which are indexed by [elasticsearch](https://github.com/elastic/elasticsearch).
HTTP requests and WebSocket connections can be proxied by [nginx](https://nginx.org).
2020-06-29 10:11:44 -06:00
The web client is written in [TypeScript](https://www.typescriptlang.org/) and [snabbdom](https://github.com/snabbdom/snabbdom), using [Sass](https://sass-lang.com/) to generate CSS.
2016-06-16 05:24:33 -06:00
The [blog](https://lichess.org/blog) uses a free open content plan from [prismic.io](https://prismic.io).
2018-11-02 06:50:59 -06:00
All rated games are published in a [free PGN database](https://database.lichess.org).
2018-08-25 02:05:37 -06:00
Browser testing done with [![Browserstack](https://raw.githubusercontent.com/ornicar/lila/master/public/images/browserstack.png)](https://www.browserstack.com).
2020-04-26 05:36:00 -06:00
Proxy detection done with [IP2Proxy database](https://www.ip2location.com/database/ip2proxy).
2020-03-30 11:12:23 -06:00
Please help us [translate Lichess with Crowdin](https://crowdin.com/project/lichess).
2012-04-25 14:15:35 -06:00
2019-09-17 04:37:55 -06:00
See [lichess.org/source](https://lichess.org/source) for a list of repositories.
[Join us on discord](https://discord.gg/hy5jqSs) or in the `#lichess` freenode IRC channel for more info.
2017-05-28 10:25:40 -06:00
Use [GitHub issues](https://github.com/ornicar/lila/issues) for bug reports and feature requests.
2013-06-08 05:25:27 -06:00
2012-06-18 06:36:49 -06:00
Installation
2013-06-08 05:25:27 -06:00
------------
2012-04-25 14:15:35 -06:00
2019-12-13 07:30:20 -07:00
```
./lila # thin wrapper around sbt
run
```
2018-12-12 10:21:07 -07:00
The Wiki describes [how to setup a development environment](https://github.com/ornicar/lila/wiki/Lichess-Development-Onboarding).
2014-02-22 19:24:48 -07:00
2018-12-12 10:21:07 -07:00
HTTP API
--------
2014-05-11 12:02:42 -06:00
2019-09-17 04:37:55 -06:00
Feel free to use the [Lichess API](https://lichess.org/api) in your applications and websites.
2013-12-31 03:45:37 -07:00
2013-06-08 05:25:27 -06:00
Credits
-------
2018-12-12 10:21:07 -07:00
See the [contributors](https://github.com/ornicar/lila/graphs/contributors) on this repository and [lichess.org/thanks](https://lichess.org/thanks).
Supported browsers
------------------
2019-09-17 04:37:55 -06:00
| Name | Version | Notes |
| ----------------- | ------- | ----- |
| Chromium / Chrome | last 10 | Full support |
| Firefox | 55+ | Full support (fastest local analysis since FF 79) |
2019-09-17 04:37:55 -06:00
| Safari | 10.1+ | Reasonable support |
| Opera | 55+ | Reasonable support |
| Edge | 17+ | Reasonable support |
2017-03-19 08:43:16 -06:00
Older browsers (including any version of Internet Explorer) will not work.
2020-04-04 21:01:08 -06:00
For your own sake, please upgrade. Security and performance, think about it!
2017-07-17 10:26:42 -06:00
License
-------
2016-10-12 11:18:08 -06:00
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.