Skip to content
forked from lichess-org/lila

♞ lichess.org: the forever free, adless and open source chess server ♞

License

Notifications You must be signed in to change notification settings

joeyksclark/lila

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

It's a free online chess game focused on realtime and simplicity.

It haz a search engine, computer analysis, tournaments, forums, teams,
and a weird monitoring console. The UI is available in 72 languages thanks to the community.

Lichess is written in Scala 2.10, and relies on Play 2.1 for the routing, templating, and JSON. The codebase is fully asynchronous, making heavy use of Scala Futures and Akka 2 actors. Lichess talks to Stockfish using a FSM Actor to handle AI moves and analysis. It uses MongoDB 2.4 to store about 10 million games, which are indexed by elasticsearch 0.90. HTTP requests and websocket connections are proxied by nginx 1.4.

Join us on #lichess IRC channel for more info.

Installation

This is full-stack application, not a library, and it may not be straightforward to get it fully running. I assume you run a Unix with nginx, mongodb, elasticsearch and stockfish installed.

Some steps of the installation will trigger a download of the galaxy. It will take ages.

git clone git:https://github.com/ornicar/lila
cd lila
git submodule update --init
bin/play compile

Configuration

cp conf/application.conf.dist conf/application.conf

application.conf extends base.conf and can override any value. Note that application.conf is excluded from git index.

Websocket proxying and language subdomains

When accessed from the root domaing (e.g. lichess.org), the application will redirect to a language specific subdomaing (e.g. en.lichess.org). Additionally, lichess will open websockets on the socket. subdomain (e.g. socket.en.lichess.org).

Here is my local nginx configuration for l.org, assuming lila is installed in /home/thib/lila and runs on 127.0.0.1:9000 /etc/nginx/l.org.conf

And here is my local /etc/hosts file

Run it

Launch the play console:

bin/play

From here you can now run the application (run).

Credits

Big thanks go to lichess community for the support, inspiration, bug reports, and amazing translation efforts.

Special thanks go to:

Thanks to all players for feeding the database.

About

♞ lichess.org: the forever free, adless and open source chess server ♞

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Scala 67.2%
  • TypeScript 22.1%
  • SCSS 7.3%
  • JavaScript 2.2%
  • Python 0.4%
  • CSS 0.4%
  • Other 0.4%