Search
Write a publication
Pull to refresh

Установка шахматного сервера Lichess на Windows (WSL, Ubuntu)

Lichess это популярный шахматный сервер, созданный французским программистом Тибо Дюплесси, на котором периодически играют известные Топ игроки, в том числе и всем известный Чемпион Мира Магнус Карлсен. Код сервера написан в большей степени на языке scala и является открытым и распространяется под свободной лицензией AGPL.

В данной публикации я расскажу вам, как запустить рабочий сервер Lichess на своём компьютере под управлением Windows (WSL).

Начало

Предполагается, что вы умеете работать с WSL под Windows, где в качестве операционной системы будем использовать Ubuntu 20.04. В случае, если это не так, то на просторах интернета вполне достаточно информации по данной теме. А теперь настроим рабочее окружение!

Visual studio code

Для более удобной разработки на WSL, вам необходимо установить отличный редактор кода Visual studio code и расширение к нему Remote Development. Более подробно процесс настройки редактора описывается по данной ссылке Разработка в WSL.

Путь к данной программе, должен быть прописан в переменной окружения path, что позволит его вызвать из терминала Ubuntu

ubuntu

Запускаем консоль ubuntu и обновляемся, а далее вызываем редактор Visual studio code, командой code .

sudo apt update
sudo apt upgrade
code .

Для более удобной работы, откройте окно терминала в самом редакторе, в котором установим следующие необходимые инструменты

git

sudo apt install git
git --version

jdk

sudo apt update
sudo apt install -y libc6-x32 libc6-i386
wget https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.deb
sudo dpkg -i jdk-18_linux-x64_bin.deb
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-18/bin/java 1
java -version

itzgeek.com

sbt

echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.list
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | 
sudo apt-key add
sudo apt-get updatesudo apt-get install sbt
sbt -version

scala-sbt.org

node (nvm)

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completioncommand -v nvm

Вы можете перечислить доступные версии, используя ls-remote:

nvm ls-remote
nvm install 16.17.0
node --version

nvm

yarn

npm install --global yarn
npm install -g npm@8.19.0

python 2

Установка именно второй версии python рекомендована на официальном сайте разработки Lichess-Development-Onboarding. Но здесь возникает небольшая проблема, которая заключается в том, что работает команда python2, а не python.

sudo apt install python2
python2 -V
python -V

Я пока не знаю, нужно это и нет, но на всякий случае сделаем так, чтобы при вводе команды python у нас определялась 2-я версия python. Через команду which python2 мы узнаём его расположение (у меня /usr/bin/python2), и прописываем в команду alias python="/usr/bin/python2"

which python2
alias python="/usr/bin/python2"
python2 -V
python -V

redis

sudo apt install redis-server
redis-server --version
sudo /etc/init.d/redis-server start
sudo /etc/init.d/redis-server status
redis-cli ping

kontext.tech

mongodb 5

К сожалению mongodb 6 пока не поддерживается (у меня были ошибки), поэтому будем использовать mongodb 5 (как собственно и рекомендуется на сайте Lichess-Development-Onboarding)

Обновите пакеты Ubuntu:

 sudo apt update

Импортируйте открытый ключ, используемый системой управления пакетами MongoDB:

wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

Создайте файл списка для MongoDB:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

Перезагрузите локальную базу данных пакета:

sudo apt-get update

Установите пакеты MongoDB:

sudo apt-get install -y mongodb-org

Подтвердите установку и получите номер версии:

mongod --version

Создайте каталог для хранения данных:

mkdir -p ~/data/db

Запустите экземпляр Mongo:

sudo mongod --dbpath ~/data/db

Убедитесь, что экземпляр MongoDB работает с:

ps -e | grep 'mongod'

Оставьте пока данный терминал открытым, в дальнейшем вы его можете закрыть сочетанием клавиш:

CTRL+C

docs.microsoft.com

Установка вебсокет сервера lichess

Откройте новое окно терминала, создайте рабочую папку и войдите в неё

mkdir mydev
cd mydev

Клонируйте и запустите сервер

git clone https://github.com/lichess-org/lila-ws.git
cd lila-ws
sbt run

Установка основного сервера lichess

Откройте новое окно терминала и войдите в ранее созданную рабочую папку mydev

cd mydev

клонируйте и запустите основной сервер

git clone --recursive https://github.com/lichess-org/lila.git
cd lila
mongosh lichess bin/mongodb/indexes.js # создает индексы базы данных
./ui/build # строит CSS и JS
./lila # запускает консоль SBT

Через некоторое время в консоли появится команда [lila] $

Поочерёдно введите compile

[lila] $ compile

И после небольшого ожидания, команду run

[lila] $ run

Теперь вы можете открыть в разных браузерах localhost:9663, локально зарегистрироваться и поэкспериментировать с игрой в шахматы (и не только!).

telegram

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.