Skip to content

Latest commit

 

History

History
91 lines (59 loc) · 2.58 KB

README.markdown

File metadata and controls

91 lines (59 loc) · 2.58 KB

Very fast Chess game designed to run on a small server and play hundreds of concurrent games.

  • Allows to play with a friend, a random player or an Artificial Intelligence.
  • Supports castling, en passant, selective promotion, color selection, check and mate detection, threefold repetition, and move validation.
  • Chess clock, integrated chat, real time spectator mode and analysis interface available.
  • Chess variants abailable: Standard and Chess960
  • Translated to 23 languages thanks to contributors.
  • Uses only open source languages: PHP 5.3, HTML5, Javascript and CSS. Powered by Symfony2 and jQuery 1.4.

PLAY

FEEDBACK

I'm eagerly waiting for bug reports and feature requests in Lichess Forum

INSTALL

Lichess is built on Symfony2, which is under heavy development at the moment.

It requires APC. It's a free and open opcode cache for PHP.

It uses MongoDB for game storage.

Get the code

git clone git://github.com/ornicar/lichess.git
cd lichess
git submodule init
git submodule update --init --recursive

Check your server requirements

Open your browser at http://myhostname/check.php

You can also run checks from command line, but the results may differ:

php web/check.php

Install assets

php lichess/console assets:install web --symlink

Run

Open your browser at http://myhostname/index_dev.php

Configure Artificial Intelligence

The default AI is crafty, a opensource program written in C.

Install crafty on Debian based distros:

sudo apt-get install crafty

If you can't or don't want to install crafty, you can use a Stupid AI:

# lichess/config/config.yml
lichess.config:
    ai:
        class: Bundle\LichessBundle\Ai\Stupid

It's dumb as hell but it plays :)

TEST

You need PHPUnit 3.5 installed.

Run all unit and functional tests

phpunit -c lichess

To get functional tests passing, you need to enable APC in CLI.

# /etc/php5/cli/conf.d/apc.ini
extension=apc.so
apc.enabled=1  
apc.enable_cli=1
apc.shm_segments=1  
apc.shm_size=64