> For the complete documentation index, see [llms.txt](https://gensyn-cis.gitbook.io/cis/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gensyn-cis.gitbook.io/cis/nody/blockassist.md).

# BlockAssist

**BlockAssist** — это AI-бот, который учится у вас в Minecraft. Изначально он «глупый», но становится умнее по мере вашей игры.

**Шаги:**

1. Следуйте инструкциям по установке ниже
2. Играйте в эпизоды Minecraft и заполняйте индикатор прогресса строительства
3. Отслеживайте своё участие на таблице лидеров

<figure><img src="/files/7ttx3MI4aKarylzVMBTV" alt=""><figcaption></figcaption></figure>

**Требования к оборудованию**

* Минимум 8 ГБ оперативной памяти (рекомендуется 16 ГБ)
* Многоядерный процессор
* 100 ГБ свободного места на диске

**Окружение**

**Локальные системы (рекомендуется, лучший игровой опыт):**

* **Linux или Mac:** этот гайд предназначен для пользователей Linux. Пользователи Mac могут ознакомиться с [официальным руководством](https://github.com/gensyn-ai/blockassist/tree/main) для Mac.
* **WSL:** информация будет обновлена позже.
* **Ubuntu на Windows через VirtualBox (тяжеловато):** подробное руководство по установке [Ubuntu на Windows через VirtualBox](https://github.com/0xmoei/blockassist/blob/main/ubuntu-virtualbox.md).

**Cloud GPUs (Desktop-GUI включен, VNC Desktop)**

Этот метод запускает Minecraft внутри VNC Desktop. Игра идёт медленнее, но установка достаточно прямолинейная.

* **Vast Linux Desktop Template:**\
  Арендуйте GPU с моим кастомным [**Moei Linux Desktop Container template**](https://cloud.vast.ai/?ref_id=228875\&creator_id=228875\&name=Moei%20Linux%20Desktop%20Container) (кодек видео nvh264enc), затем перейдите на страницу **Instances** и дождитесь развертывания GPU.

**Доступ к GPU Desktop:**

1. **Vast preserved desktops (рекомендуется):**
   * Нажмите **Open** (синяя кнопка), чтобы перейти на панель управления GPU
   * Доступ к рабочему столу через:
     * **Selkies Low Latency Desktop** (рекомендуется, самая высокая производительность). При низкой скорости интернета снизьте битрейт видео, нажав на маленький круг в правой части рабочего стола
     * **Apache Guacamole Desktop** (низкая производительность)
2. **Локальный VNC-клиент (низкая производительность, сложнее):**
   * Нажмите **Open** (синяя кнопка) на панели управления GPU
   * Доступ к терминалу через **Jupyter Terminal**
   * Найдите пароль рабочего стола:

     ```
     echo $OPEN_BUTTON_TOKEN
     ```

* На странице **Instances** нажмите на IP GPU и найдите сопоставленный host:port к порту 5900/tcp, например: `70.45.225.15:18483`
* Установите [**RealVNC**](https://www.realvnc.com/en/connect/download/viewer/)
* Введите host:port и при запросе пароля используйте найденный токен
* Для установки браузера Chrome см. \[[VNC (Linux Desktop) Full Guide](https://github.com/0xmoei/Install-VNC-Linux-Desktop/)]

**Примечание:**\
Установка экспериментальная и может быть сложной для пользователей не-Linux или Mac. Команда также представила **Sunshine + Moonlight** для удалённого Linux, где обучение проходит на VPS, а игра — на вашем локальном ПК. Этот метод тоже сложен, пробуйте только если уверены в своих действиях.\
\
Так же если будете арендовать сервер на Vast для игры, рекомендую арендовать сервер с видеокартой RTX3090, она лучше себя всего показывает в обучении.

***

#### <mark style="color:red;">**Установка**</mark>

Step 1: Установка зависимостей

```
sudo apt update
sudo apt install -y \
  make build-essential gcc \
  libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
  libsqlite3-dev libncursesw5-dev xz-utils tk-dev \
  libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev \
  curl git unzip \
  libxi6 libxrender1 libxtst6 libxrandr2 libglu1-mesa libopenal1
```

Step 2: Клонирование репозитория и переход в директорию

```
git clone https://github.com/gensyn-ai/blockassist.git
cd blockassist
```

Step 3: Установка Node.js

Проверьте версию Node.js (если версия 20, шаг можно пропустить):

```
# Verify version
# Skip the whole step if version 20
node --version
npm --version

# Remove existing Node.js
sudo apt remove -y nodejs npm

# Install NodeSource repository for Node.js 20
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

# Install Node.js 20
sudo apt install -y nodejs
```

Step 4: Установка Yarn

```
curl -o- -L https://yarnpkg.com/install.sh | bash
export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"
```

Step 5: Установка Java

```
./setup.sh
exec $SHELL
```

Step 6: Установка pyenv

```
curl https://pyenv.run | bash
```

```
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
```

Step 7: Установка Python

```
pyenv install 3.10
pyenv global 3.10
```

Step 8: Установка зависимостей проекта

```
pip install --upgrade pip

pip install -e . --no-cache-dir
pip install "mbag-gensyn[malmo]" --no-cache-dir

pip install psutil readchar
```

***

#### <mark style="color:red;">**Запуск BlockAssist**</mark>

1. Запустите Minecraft

```
cd blockassist

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"

python run.py
```

Hugging Face Token

Вас попросят ввести **Hugging Face API token**.\
Создайте **Access Token** с правами **Write** \[[здесь](https://huggingface.co/settings/tokens)] и сохраните его.

Gensyn Testnet login

Вам будет предложено войти через браузер:

* Откройте веб-браузер, перейдите на <http://localhost:3000> и войдите в свой аккаунт Gensyn
* Если вы уже входили ранее, этот шаг будет пропущен

<figure><img src="/files/6lmFDjLMgM8YXYVXN7Ft" alt=""><figcaption></figcaption></figure>

#### **Игра в Minecraft**

1. Дождитесь открытия **двух окон Minecraft**
2. Нажмите **ENTER** в терминале
3. Перейдите в первое окно Minecraft — игра и карта должны запуститься автоматически, создавать их вручную не нужно
4. **Примечания для VNC-пользователей:** чтобы активировать клавиши внутри игры, нажмите **ENTER** в окне игры
5. **Примечания для VirtualBox-пользователей:** чтобы включить управление мышью в виртуальной машине, откройте VM окно → **Input → Mouse Integration**, затем переключите Off/On с помощью **Right Ctrl**
6. Стройте здания, чтобы увеличить прогресс (чем больше прогресс — тем лучше обучается AI)
   * Левый клик киркой — разрушение блоков
   * Левый клик по Dirt на красных плитках
   * Правый клик по камню, стеклу и плейсхолдерам
7. Вернитесь в терминал и нажмите **ENTER**, чтобы завершить сессию

<figure><img src="/files/kYkeCSxz07kDnqbS9SWu" alt=""><figcaption></figcaption></figure>

Примечания:

* Обязательно проверьте раздел [Ошибки](#oshibki), если возникли ошибки
* Даже если вы не завершите эпизод до конца и закроете его, ваш прогресс будет засчитан для участия в таблице лидеров

**Обучение**

Теперь начнётся обучение модели, которая будет отправлена на **Hugging Face** и в смарт-контракт **Gensyn**.

**Проверка**

Если на этом этапе в окне логов вы видите транзакцию в блок-эксплорере, значит отправка прошла успешно.

Пример успешного лога обучения:<br>

<figure><img src="/files/VNo1rxMYa337OuZjv9RD" alt=""><figcaption></figcaption></figure>

#### **Leaderboard**

Войдите на [**BlockAssist leaderboard**](https://dashboard.gensyn.ai/), чтобы проверить количество ваших очков за участие.

**Configuration**

Вы можете изменить настройки в файле `src/blockassist/config.yaml` или переопределить их с помощью аргументов командной строки:

* `episode_count` — задаёт количество эпизодов. Если `episode_count` больше 1, новый эпизод будет запускаться каждый раз, когда вы нажимаете **ENTER** во время записи сессии.
* `num_training_iters` — задаёт количество итераций обучения для всех записанных эпизодов.

***

### <mark style="color:red;">**Ошибки**</mark>

#### 1) cuDNN / CUDA на Ubuntu 24.04 (CUDA 12.x)

Если вы не в папке с проектом то переходим с помощью команды

```jsx
cd blockassist
```

И запускаем эти команды

```bash

sudo rm /etc/apt/sources.list.d/cudnn-local.list

sudo apt-get install libcudnn9-cuda-12 libcudnn9-dev-cuda-12
```

#### 2) Второе окно Minecraft долго не появляется

```bash
sed -i 's#python -m malmo.minecraft launch#python -m malmo.minecraft launch --timeout 300#' scripts/run_malmo.sh

```

#### 3) Переключение окон и «бешеная» мышь в VNC/Selkies

* В Minecraft: Options → Controls → Mouse:
  * **Sensitivity**: 120–140%
  * **Raw Input**: Off
  * **Cinematic Camera**: Off
  * **Fullscreen**: On или просто разверните окно
* В Ubuntu можно снизить скорость курсора: Settings → Mouse & Touchpad (или через `xinput`).

***

#### <mark style="color:red;">**Получение роли Block в Discord**</mark>

Перейдите по указанной [ссылке](https://discord.com/channels/852932483691577395/1397909075685146804/1403436609583579146) и следуйте инструкциям.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gensyn-cis.gitbook.io/cis/nody/blockassist.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
