Всем привет, недавно я понял как запустить Minecraft, помогли детские курсы программирования.
И мне пришла идея управлять им из Алисы, но на данный момент я освоил только заполнение блоками, если кто знает больше то пишите в комментариях. Вот что у меня получилось, смотрите на видеоДля повторения этого видео вам понадобится:
- Сервер Minecraft с включенным параметром RCON
- Сайт с поддержкой PHP, желательно на том же хостинге
- Приложения яндекса с Алисой, Колонка, или Яндекс браузер
Сервер 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.