Coder Social home page Coder Social logo

maxdzyubak / lila Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lichess-org/lila

0.0 0.0 0.0 476.29 MB

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

Home Page: https://lichess.org

License: GNU Affero General Public License v3.0

Shell 0.11% JavaScript 2.09% Ruby 0.02% Python 0.39% Java 0.40% Scala 66.90% TypeScript 21.51% CSS 0.35% HTML 0.28% Batchfile 0.01% SCSS 7.95%

lila's Introduction

Build server Build assets Crowdin Twitter Discord

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 140 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 4.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. 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 67+ Full support (fastest local analysis since FF 79)
Edge 91+ Full support (reasonable support for 79+)
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.

lila's People

Contributors

ornicar avatar niklasf avatar benediktwerner avatar schlawg avatar isaacl avatar kraktus avatar scala-steward avatar lenguyenthanh avatar clarkerubber avatar thomas-daniels avatar brollin avatar unihedro avatar happy0 avatar 370417 avatar yafred avatar aimorris avatar allanjoseph98 avatar konstantinos07 avatar flugsio avatar brandone avatar dignissimus avatar veloce avatar fitztrev avatar greg-finley avatar ddugovic avatar antma avatar superuser-does avatar lakinwecker avatar trevorbayless avatar m-dinhhoangviet avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.