Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Free and adless chess website, trying to scale
PHP JavaScript

This branch is even with ornicar:mongodb

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lichess
src
web
.gitignore
.gitmodules
LICENSE
README.markdown

README.markdown

Very fast Chess game designed to run on a small server and play hundreds of concurrent games. Allows to play with a friend or an Artificial Intelligence. Supports castling, en passant, selective promotion, color selection, check and mate detection, and move validation. Uses only open source languages: PHP 5.3, HTML5, Javascript and CSS. Powered by Symfony2 and jQuery 1.4.

PLAY

http://lichess.org

FEEDBACK

I'm waiting for bug reports and feature requests in GitHub issue tracker

Users can give feedback in Uservoice

INSTALL

Lichess is built on Symfony2, which is under heavy development and has very few documentation at the moment.

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

Get the code

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

Create data folder

mkdir lichess/data

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/lichess.yml
parameters:
    lichess.ai.class: "Bundle\LichessBundle\Ai\Stupid"

TEST

Before doing any modification to the code, you should be able to run the test suite. 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
Something went wrong with that request. Please try again.