lila/README-upstream.md

81 lines
4.7 KiB
Markdown
Raw Permalink Normal View History

2021-02-06 06:26:05 -07: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." />
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.
[scalatags](https://com-lihaoyi.github.io/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).
2020-10-07 10:52:47 -06:00
WebSocket connections are handled by a [separate 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).
2021-04-24 07:06:29 -06:00
Browser testing done with [Browserstack](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/lichess) 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
2021-02-06 06:26:05 -07:00
## Installation
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
2021-02-06 06:26:05 -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
2021-02-06 06:26:05 -07:00
## Supported browsers
2021-02-06 06:26:05 -07:00
| Name | Version | Notes |
| ----------------- | ------- | ------------------------------------------------- |
| Chromium / Chrome | last 10 | Full support |
2020-10-02 14:07:46 -06:00
| Firefox | 61+ | Full support (fastest local analysis since FF 79) |
2021-02-06 06:26:05 -07:00
| Opera | 55+ | Reasonable support |
| Safari | 11.1+ | 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!
2021-02-06 06:26:05 -07:00
## License
2016-10-12 11:18:08 -06:00
Lila is licensed under the GNU Affero General Public License 3 or any later
2021-04-27 10:37:05 -06:00
version at your choice with an exception for Highcharts. See [copying](https://github.com/ornicar/lila/blob/master/COPYING.md) for
2016-10-12 11:18:08 -06:00
details.
2021-04-25 22:02:05 -06:00
## Credits
2021-04-27 01:14:49 -06:00
See [lichess.org/thanks](https://lichess.org/thanks) and the contributors here:
[![GitHub contributors](https://contrib.rocks/image?repo=ornicar/lila)](https://github.com/ornicar/lila/graphs/contributors)