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.
- Play Chess with a friend
- Play Chess with a random player
- Play Chess with the computer
- Real time list of games beeing played
- List of all games
- Game analysis
I'm eagerly waiting for bug reports and feature requests in Lichess Forum
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 lichess/console assets:install web --symlink
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
# lichess/config/config.yml lichess.config: ai: class: Bundle\LichessBundle\Ai\Stupid
It's dumb as hell but it plays :)
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