Установка игрового движка Stockfish и его подключение к PyChess. Linux статьи
Написать статью
Войдите, чтобы писать статьи

Установка игрового движка Stockfish и его подключение к PyChess

17

Установка Stockfish, подключение к PyChess

Материал написан пользователем сайта.

Предисловие

Добрый день, любители шахмат. 

Наверняка когда-то вам приходила мысль развернуть игровой движок Stockfish, который на данный момент является одним из лучших во всём мире, у себя локально на компьютере. Да, вы, конечно, можете спокойно воспользоваться сайтом lichess.org и поиграть с компьютером там, но локальный запуск позволяет легче анализировать и более просто сохранять сыгранные партии. Никто не застрахован от отключения интернета или его временного отсутствия, а запущенному на вашем компьютере движку это помехой не будет, и вы сможете и дальше задвигать коней противнику.

Stockfish, к сведению, распространяется под лицензией GPLv3, так что если вы трепетно относитесь к лицензионной чистоте ПО — здесь всё шито-крыто.

Собственно, сейчас вы узнаете, как легко и просто скачать и успешно использовать движок Stockfish на вашей Linux-машине и даже подключить его к GUI-программе для игр, такой как Pychess и т.д.

1. Установим программу для игры в шахматы

Сам лично использую PyChess. Эта программа существует довольно давно, а точнее уже 17 лет, и выпускается под лицензией GPLv3. Скачать её на различные дистрибутивы можно следующим образом:

Debian/Ubuntu:

sudo apt install pychess

Fedora:

sudo dnf install pychess

Arch/Manjaro/EndeavourOS:

sudo pacman -Sy pychess

Gentoo/Calculate:

sudo emerge -av games-board/pychess

В случае с Gentoo надо будет прописать ~amd64 для eбилда в package.accept_keywords, так как по умолчанию PyChess, по какой-то причине, замаскирован.

2. Выкачиваем Stockfish

Чтобы скачать шахматный движок, нужно перейти на официальный сайт проекта.

Попав на главную страницу, нажмём "Download" или "Скачать" на более знакомом языке:

Главная страница проекта Stockfish

В загрузках пролистайте чуть ниже и вы увидите раздел для скачки под Linux:

Загрузка движка

Разработчики предлагают 2 варианта - AVX2 или POPCNT. Если у вас компьютер не старше 6-8 лет, то смело качайте версию AVX2. Она чуть более быстрая, но требует больше ресурсов центрального процессора. Если компьютер по ресурсам слаб или его возраст довольно велик, то можете скачать версию POPCNT. В любом случае, можете поэкспериментировать и выбрать более подходящий для себя вариант.

После непродолжительной загрузки вы получите архив с нашим движком.

Можете открыть его с помощью любой программы-архиватора, будь то Xarchiver, GNOME File Roller и т.д.

Содержание архива

Извлеките всё содержимое архива в удобную для вас директорию и радуйтесь успешной скачке движка!

3. Подключаем Stockfish к Pychess

Запустим недавно установленную PyChess.

Главный экран PyChess

Далее прожмём Edit, а затем выберем пункт Engines.

Настройка движков

Нажмём "New" в выпавшем меню и укажем бинарный файл Stockfish.

Бинарный файл движка

Прожмём "Open" и увидим следующую картину:

Добавленный движок

Отлично! Мы успешно прицепили Stockfish к нашей программе!

Нажмём "Save" и запустим новую игру на главном экране. Не забудьте в меню "Opponent" поменять PyChess.py на новый движок. Всего доступно 20 уровней сложности — выберите тот, который соответствует вашему уровню подготовки в шахматах.

Процесс игры

Аллилуя! Бот отвечает на наши ходы и даже не принимает Венский гамбит, что очень печально :(

В данной статье мы разобрали установку игрового движка Stockfish на локальный компьютер. Теперь вы можете спокойно тренироваться в игре в шахматы в любых условиях. Надеюсь, этот материал был для вас полезен. Приятного дня и успешных партий!

Лайков: +20
войдите, чтобы ставить лайки

Материалы по теме:

  • Dream Chess — трехмерные шахматы для Linux
  • PyChess — шахматы
17
  • Опубликовано: 13.07.2024
  • vantiki

Комментарии

choice
Активный пользователь
Активный
13.07.2024
11:11
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
"Давненько не брал я в руки ..."
А когда увлекался, то это была Arena. Тогда мне было не до чистоты лицензий, но stockfish уже был и прилагался вместе с другими движками и уже тогда был одним из лучших.
А потом пришли смартфоны. На них быстро появились разные шахматы и когда я ждал дочку откуда-нибудь, то крутил их. Но так напрягаться не всегда хотелось, смотрел и на карточные игры и к своему стыду сейчас, при случае, гоняю преферанс. Но как exuse - это наше приложение, отечественное :-)
vantiki
Активный пользователь
Активный
13.07.2024
13:34
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийchoiceРодительский комментарий
+1
войдите, чтобы ставить лайки
Арену знаю, но давно не смотрел, как они там поживают. Тоже там начинал, но спустя время ушел к PyChess из-за более приятного вида и удобной работы с базой данных партий. Поисковик выдал новый сайт: http://www.playwitharena.de/ вместо прошлого со схожим содержанием, только .com. Последняя бета от 20 года, но отчасти разработчикам и добавлять-то нечего - всё и так хорошо работает.

Тоже имею схожую тенденцию прекращать "набивать" руку в свободные минуты. Раньше всегда залетал в блиц или в пульку, пока ехал в метро до встречи, а сейчас хочется просто посмотреть вокруг и подумать о своём.
origin
Активный пользователь
Активный
13.07.2024
13:04
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Спасибо ! +++ !!!
xKDE
Активный пользователь
Активный
13.07.2024
15:22
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Круто!) Хотя предпочитаю партии тет-а-тет с людьми, но как вариант можно и за ПК!
UserReady
Активный пользователь
Активный
13.07.2024
17:21
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
В шахматы можно играть и в браузере, я играю, правда редко получается выигрывать :(, ставлю самый сложный уровень игры.
LexD
Активный пользователь
Активный
13.07.2024
18:15
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Раньше играл в телефоне. На компьютере нет времени (почему-то ?).
А шахматы как игра, конечно, одна из самых-самых.
+
scorpii
Активный пользователь
Активный
13.07.2024
19:18
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Какой все-таки vantiki красавец! И тема то хорошая и интересная. Прямо на кальке пошел ставить и пробовать играть.
PedroAmor
Активный пользователь
Активный
14.07.2024
01:35
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Наше вам +
моск он такой, он беспокойный
choice
Активный пользователь
Активный
15.07.2024
20:30
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Теперь у меня два объяснения низкой активности:
1. Летом многие отдыхают.
2. Поставили PyChess и играют.
vantiki
Активный пользователь
Активный
15.07.2024
20:50
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийchoiceРодительский комментарий
+1
войдите, чтобы ставить лайки
Пол-сайта отдыхает, а другая часть учит варианты в каталоне :)
julyfox
Активный пользователь
Активный
20.07.2024
05:00
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Ну что хочется сказать: рад, что кто-то ещё уделяет внимание шахматам на linux. Автору плюсую.
В принципе, для искушённых пользователей установить и настроить топовый stockfish труда не составит. Но не все же здесь искушённые.
А вот выбор шахматной программы придётся покритиковать. Нет, программа (pychess) свободная и всё такое, но работала она паршиво. А выражалось это в зависших процессах stock-а, которые невозможно было убить. И работали они в фоне после завершения программы pychess. Причём, если пользовались, то знаете, что настроенные на производительность шахматные движки жрут немалые ресурсы. Наблюдалось это не только на linux, но и на freebsd. НЕОДНОКРАТНО!
Может проблема в том, что прога написана на python (серьёзные люди хают этот язык для написания прикладного ПО), не знаю.
В остальных шахматных оболочках на linux и freebsd зависших процессов stock-a не наблюдалось ни разу.
Советую автору обратить внимание на другие программы - cutechess (есть вариант с appimage, но для debian и fedora сделаны родные пакеты), Arena Chess GUI, Jerry (раньше был в репах pop os, сейчас в виде грёбанного snap). Можете попробовать Scid vs. PC, но это тоже snap, хотя можно скачать deb пакеты.
Лично я пользуюсь SCID (можете почитать мою статью на сайте pingvinus.ru), Arena Chess GUI.
vantiki
Активный пользователь
Активный
20.07.2024
16:06
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийjulyfoxРодительский комментарий
+1
войдите, чтобы ставить лайки
Не знаю, не встречал подобного поведения у PyChess.
Имею версию 1.0.5. Запустил, разыграл пару партий — никаких мёртвых процессов от движка не нашёл, даже после закрытия самой программы.

Arena Chess тоже очень хороша, но мне как-то ближе первый, не знаю. Использовал, работала хорошо, но в итоге пришёл именно к такой связке.

На Scid когда-то натыкался, вашу статью тоже читал. Однако не было крайней необходимости в оной, а потому установлена она не была. Правда, имея такой довольно богатый функционал, уверен, что будет иметь место на компьютере. Да и тестить альтернативы всегда стоит, есть риск найти что-то более приятное и удобное, чем уже имеешь.

А потому, я, наверное, пойду устанавливать, пробовать, а вам спасибо за комментарий.
vantiki
Активный пользователь
Активный
20.07.2024
16:29
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийvantikiРодительский комментарий
+1
войдите, чтобы ставить лайки
О нет, всё таки мертвые стокфишы висят, вы правы. Ещё и едят 800 метров оперативки, собаки. В тоже время PyChess закрыт, так что это поведение странно. Пойду гасить их и, наверное, уж точно уходить на Scid или старую добрую арену.
vantiki
Активный пользователь
Активный
20.07.2024
17:36
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийvantikiРодительский комментарий
+1
войдите, чтобы ставить лайки
Открыл ветку с проблемой на гитхабе PyChess.

Как понял суть проблемы: PyChess запускает процесс Stockfish с началом каждой новой игры. Однако после её окончания не происходит завершение процесса движка, и он продолжает висеть в фоне.

Соответственно, при запуске новой игры создаётся новый процесс и так до бесконечности. Можно, конечно, просто выполнять ps aux | grep stockfish, смотреть PID процесса и через kill -9 убивать оные, но заниматься таким КАЖДЫЙ раз после закрытия программы не хочется.

Надеюсь на внимание разработчиков и скорое исправление проблемы. А пока на Arena Chess, наверное.
julyfox
Активный пользователь
Активный
21.07.2024
04:29
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийvantikiРодительский комментарий
0
войдите, чтобы ставить лайки
Здорово! Удивлён, что у Вас есть силы и возможности открыть проблему на гитхабе. Я так не умею.
Кстати, если любите играть против компьютера, решать различные шахматные тесты, задачи, разыгрывать позиции из практики попробуйте Lucas Chess. Установочные файлы для linux на офф. сайте есть.
julyfox
Активный пользователь
Активный
21.07.2024
04:33
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийvantikiРодительский комментарий
0
войдите, чтобы ставить лайки
А не могли бы Вы дать ссылку, где можно отслеживать статус проблемы на github?
vantiki
Активный пользователь
Активный
21.07.2024
10:52
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийjulyfoxРодительский комментарий
+1
войдите, чтобы ставить лайки
Да, конечно:
https://github.com/pychess/pychess/issues/2242

Судя по прошлым проблемам, их как минимум не игнорируют, так что есть надежда на исправление.

Написать комментарий

Ваше имя:
Текст комментария:
  • Уважать других.
  • Не ругаться.
  • Без оскорблений.
  • Без грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
Правила