Предисловие
Данный плагин был написан полностью мной.
Про существование похожих плагинов я знаю. У меня были свои мотивы написать данный плагин с нуля.
Насчёт оптимизации скажу, что в данном проекте она была не сильна мне нужна
Цвета на карте были частично взяты с обычных ванильных карт и небольшого кода на питоне.
Описание:
Данный плагин сделает фотографию вашей карты на сервере. В соотношении 1 к 1.
Запуск
Первый запуск
Первый запуск
Часть скриптов для запуска плагина написана на python.
Поэтому для работы скрипта нужно установить библиотеку Pillow
-
apt install pip
-
pip install Pillow
Далее устанавливаем .zip файл как обычный плагин
Остальные 3 файла копируем в root
Запуск
Чтобы запустить плагин достаточно просто загрузить его на сервер
Он сам включится после перезагрузки!
После окончания работы в терминале нужно будет прописать команду
- python3 map.py
Советую почитать примечания
Примечания
Примечания
Данный плагин не приспособлен для использования обычными людьми
Есть множество аспектов, которые вы должны знать перед использованием плагина
-
По стандарту будет прогружаться карта 2048 на 2048, на 1024 блока от нулевых координат
-
Данный плагин будет использовать все ресурсы сервера. Поэтому во время его использования сервер будет не доступен
-
У плагина отсутствует фишка с удалением бесполезной оперативной памяти. Поэтому советую заранее ограничить ее использование в pocketmine.yml
-
В связи с отсутствием удаления оперативной памяти сервер должен будет постоянно перезагружаться. Так что советую сразу прописать ./start.sh -l
-
По стандарту плагин будет брать дефолтный мир. Для тех кто хочет указать свой, советую заранее кодом прогружать его
-
Файл map.png должен иметь разрешение немного больше чем количество прогруженных координат
-
Для изменения координат прогрузки вам нужно будет изменить их в плагине и в map.py. При изменении координат в map.py нужно будет дописать +(то число которое нужно чтобы при сложении самой маленькой координаты в сумме давало 1). К примеру по стандарту стоит +1025 с самой маленькой координатой -1024
-
В среднем на карту 10к на 10к блоков уходит 4 часа и 1,5-2 гигабайт памяти
Остальное находится во вкладке Кто заинтересовался
Примеры
Фотографии:
Вот одна из фотографий, которые воспроизвёл данный плагин
Данная фотография имеет разрешение примерно 2048 на 2048 и показывает 1024 блока в каждую сторону от нулевых координат
Вот все исходники без потери качества
Кто заинтересовался
Кто заинтересовался
Как вы наверное поняли в использовании данного скрипта нужно выполнять кучу нюансов. Но думаю для более менее опытного кодера все будет понятно. Хотя наверное думаю что похожие плагины будут удобнее
-
При прогрузке большой карты библиотека PIL может жаловаться на слишком большую фотографию. Это можно исправить стерев лимит фотографии в самой библиотеке
-
Скрипт на python работает довольно быстро хотя для больших карт нужно создавать screen
По поводу оптимизации
Плагин был написан на скорую руку и поэтому я могу предложить пару идей для оптимизации.
-
Немного подправить сам код
-
Запустить сразу несколько серверов с одной и той же картой (нужно немного подправить плагин)
-
Данные которые записываются на файл можно спокойно сократить. Думаю можно просто оставить id блока (Поменяв естественно map.py)
-
Написать скрипт или плагин который будет самостоятельно подчищать оперативную память
Проверялось на Genisys версия 0.14
PhotoMap.zip (2.9 КБ)