Алиса открывает двери в Mайнкрафте

Всем привет, недавно я понял как запустить Minecraft, помогли детские курсы программирования.

И мне пришла идея управлять им из Алисы, но на данный момент я освоил только заполнение блоками, если кто знает больше то пишите в комментариях. Вот что у меня получилось, смотрите на видео

Для повторения этого видео вам понадобится:

Сервер Minecraft

Я использовал этот Docker контейнер на виртуалке, там же разместил виртуальный сервер с php.

Прметр docker-compose.yml


version: '3'
services:
  minecraft:
    image: itzg/minecraft-server
    ports:
      - "25565:25565"
      - "127.0.0.1:28016:28016"
    volumes:
      - "./data:/data"
    environment:
      EULA: "TRUE"
      ENABLE_RCON: "true"
      RCON_PASSWORD: "testing"
      RCON_PORT: 28016
      # enable env variable replacement
      REPLACE_ENV_VARIABLES: "TRUE"
      # define an optional prefix for your env variables you want to replace
      ENV_VARIABLE_PREFIX: "CFG_"
      VERSION: "1.12.2"
      TYPE: "FORGE"
    restart: always

Но я надеюсь вы гуру в Minecraft`e и у вас уже есть свой сервер, или вы знаете как включить на своем локальном компьютере rcon.

Сайт для отправки комманд в Minecraft

Если у вас нету своего хостинга, то можно воспользоватся хостингом за 9 рублей в месяц, тариф для лэндинга после регистрации вы получите имя сайта примерно такого вида name_1232323.lh.parking.ru, его и нужно будет вставить в URL правила, то есть будет так:

На сайте размещаете скрипт index.php c кодом:


include './vendor/autoload.php';
$host = 'localhost'; //  IP адрес сервера Minecraft
$port = 28016;    // Порт rcon
$password = 'testing'; // rcon.password setting set in server.properties
$timeout = 3;  // How long to timeout.

use Thedudeguy\Rcon;

$rcon = new Rcon($host, $port, $password, $timeout);

if ($rcon->connect())
{
    if($_GET['value']==1){
        # Выполняется, когда поступила команда открыть, подставляем ваши координаты блоков
        $rcon->sendCommand('/fill 21 72 329 21 74 327 minecraft:air replace');
    }else{
        # Выполняется, когда поступила команда закрыть, подставляем ваши координаты блоков
        $rcon->sendCommand('/fill 21 72 329 21 74 327 minecraft:stone replace');
    }
}else{
    echo 'Ошибка авторизации, или соединения';
}

Скачать скрипт можно здесь, со всеми библиотеками

Настройка Яндекс Алисы

Теперь у вас все готово,после настройки приложения и кузи , вы сможете управлять Minecraft, как настроить смотрите в видео

назал в раздел smarthome

Вс 03 Май 2020.