It's a Luanti (minetest) server with additionally included lua libraries.
It is based on [official minetest docker image](https://github.com/minetest/minetest/blob/master/Dockerfile) distributing [by maintainers](https://github.com/minetest/minetest/blob/master/doc/docker_server.md).
Помните, в майнкрафте был мод, позволяющий писать код на питоне и модифицировать мир? Этот мод активно используется в обучательных программах для детей.
То, что я представляю, - мод для Luanti (ex. minetest), нацеленный на тот же результат.
# Как работает?
Поднимается сервер Luanti, в мир подключается мод, и можно подключаться к порту, чтобы творить.
За основу берется официальный сервер Luanti.
# Как установить?
Я не создавал стартеров, которые развернут из коробки все добро, поэтому придется чуть руками:
1. Подготовить папку/директорию для хранения мира (`~/minetest`)
2. Создать сервер `DATA=~/minetest docker compose up -d`
3. Развернуть мир, скачав его из [официальных источников](https://content.luanti.org/packages/?type=game), [дефолтный этот](https://content.luanti.org/packages/Minetest/minetest_game/)
3. Подключить мод в игру `cd /home/bvn13/minetest/games/minetest_game/mods && git clone https://gitea.bvn13.me/luanti-programmable/luanti-mod-network-api.git mineysocket`
4. Дать привелегированные права для мода - в файле `/home/bvn13/minetest/main-config/minetest.conf` добавить/поменять строку `secure.trusted_mods = mineysocket`
5. Указать IP для мода - в файле `/home/bvn13/minetest/main-config/minetest.conf` добавить строку `mineysocket.host_ip = 0.0.0.0`
# Клиент
Писать код на питоне и управлять сервером можно, взяв за основу [проект](https://gitea.bvn13.me/luanti-programmable/luanti-network-api-client).
## Примеры
- Пример 1 - [следит за позицией игрока](https://gitea.bvn13.me/luanti-programmable/luanti-network-api-client/src/branch/master/examples/02_player_locator.py)
- Пример 2 - [создает пончик](https://gitea.bvn13.me/luanti-programmable/luanti-network-api-client/src/branch/master/examples/donut.py)