Download the PHP package microwin7/texture-provider without Composer
On this page you can find all versions of the php package microwin7/texture-provider. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download microwin7/texture-provider
More information about microwin7/texture-provider
Files in microwin7/texture-provider
Package texture-provider
Short Description Предосталяет реализацию GravitLauncher TextureProvider и TextureLoader JSON
License GPL-3.0-or-later
Informations about the package texture-provider
GravitLauncher-TextureProvider (JSON)
✔ Выдача по USERNAME, UUID, (id пользователя, хеша sha1 и sha256) из БД.
✔ Поддеркжа выдачи из файловой системы, либо по USERNAME с Mojang
✔ Возможность выдавать рандомный скин пользователям, которые ещё не установили его сами
✔ Выдача скина и плаща по умолчанию, если не обнаружен в файловой системе, Mojang и выключено получение скина из рандомной коллекции скинов
✔ Работает с любыми общепринятыми размерами скинов и плащей
✔ Автоматическое обнаружение SLIM типов скинов (тонкие руки)
✔ Встроенный TextureLoader
Поддерживаемые методы
normal
Отдаёт только из файловой системы, рандомной коллекции скинов (если оное включено), скинов и плащей по умолчанию.mojang
Отдаёт текстуры с Mojang- Использование в вызове скрипта:
&method=mojang
- Использование в вызове скрипта:
hybrid
=normal
+mojang
- Использование в вызове скрипта:
&method=hybrid
- Использование в вызове скрипта:
- ОБЩЕЕ
- Отдача скинов из рандомной коллекции, при отсутствии установленных пользователями. Если включено
- Отдача скинов и плащей по умолчанию. Если включено
Требования
- GravitLauncher 5.2.9+
-
Консольный доступ SSH к хостингу. Для развёртывания библиотек
Если не используете Docker (развернуть)
- PHP 8.3+
- Расширение Multibyte String
php-mbstring
. Пример:sudo apt-get install php8.3-mbstring
- Расширение GD
php-gd
. Пример:sudo apt-get install php8.3-gd
-
Расширения для работы с БД:
- [ MySQL Database ] Если DB_SUD_DB = 'mysql' -
mysql
. Пример :sudo apt-get install php8.3-mysql
- Установка с игнорированием
pgsql
расширения PHP, так как оно не будет использоваться в системе: - [ PostgreSQL Database ] Если DB_SUD_DB = 'pgsql' -
pgsql
. Пример:sudo apt-get install php8.3-pgsql
- Установка с игнорированием
mysql
расширения PHP, так как оно не будет использоваться в системе: - Если вы не используете БД, можете игнорировать расширения:
- [ MySQL Database ] Если DB_SUD_DB = 'mysql' -
- Composer Ссылка на иструкцию по установке Composer
Установка
Установка в Docker контейнер:
- Является более оптимальным вариантом установки, так как все модули и сам php будет установлен в изолированных контейнерах
Предварительная настройка | Установка Docker
-
Выполнение команд от sudo (Перейти в root, если является пользователем не по умолчанию):
- Следующая команда:
- Обновляет зависимости
- Установка утилит
- Скачивает скрипт установки Docker
- Выдача прав запуска скрипта и запуск установки Docker
- Запуск службы
Выбираем где будет располагаться скрипт, лучше всего вне сайта. И устанавливаем texture-provider
Скачивание слоёв, компиляция и запуск контейнеров php-fpm и nginx:
Остановка контейнеров:
Запуск контейнеров / Перезапуск (если изменился файл docker-compose.yml):
Для установки на сайт:
-
Над разделом server {...}
-
А в разделе server {...}
- Изменить APP_URL в
.env
- ссылка на доменДля установки на под-домен:
-
Пример
/etc/nginx/conf.d/textures.conf
: - Изменить ВАШ_ДОМЕН
- Изменить в proxy_set_header App-Url протокол http или https
Настройка публичного ключа доступа для загрузки скинов и плащей из лаунчера:
- Перейдите в папку лаунчсервера, далее в папку
.keys
. Она может быть скрыта - Скопируйте себе на ПК файл
ecdsa_id.pub
- Через сайт [ base64.guru ] преобразуйте файл в строку Base64
- Изменить в proxy_set_header Ecdsa-Id-Pub Base64 строку
Настройка использования API загрузки, установите токен в условии обращения к /api
-
Любой пароль, желательно надёжный
-
Пример использования API:
- API загрузки скина: /api/upload/SKIN
-
API загрузки плаща: /api/upload/CAPE
BEARER_TOKEN
- заменить на указанный в$bearer_token
nginx- Параметр
hd_allow
не обязательный, по умолчанию true, можно переобределить в .env установив HD_TEXTURES_ALLOW=falseСмена скина/плаща по умолчанию через API
- Выполнить запрос
Пример заполненного запроса с моего компьютера на хост:
-
Из полученного ответа скопируйте содержимое digest подписи. Установите новые значения в .env
-
Пример значений по умолчанию:
- Перезагрузите контейнера. Выполнить в папке
texture-provider
:
-
- Подпись домена вы можете выполнить через [ CertBot ]
Перезагрузить NGINX
НАСТРОЙКА СКРИПТА
Описание TextureStorageType's
-
STORAGE
- Локальное файловое хранилище скинов и плащей
- Имеет 5 типов для определения имени хранимого файла, они же StorageType's:
- USERNAME - [username.png] DEPRECATED
- Поиск происходит вне зависимости от регистра, если файл не будет найден
- UUID - [uuid.png] DEPRECATED
- DB_USER_ID - [user_id.png] DEPRECATED
- DB_SHA1 - [sha1.png] DEPRECATED
- DB_SHA256 - [sha256.png] ПО УМОЛЧАНИЮ
- Текущий API работает с базой данных и хешами скинов и плащей, но на получение самих скинов и плащей для сайта, можно использовать в запросе ник или uuid
-
Пример:
- При этом правильной ссылкой остаётся обращение всё же по установленной хеш-сумме к файлу и нагрузка на API меньше
- MOJANG
- Поиск текстур в Mojang по USERNAME
- Для использования только этого типа хранения
- В конце запроса добавьте
&method=mojang
- Для использования этого типа хранения, вместе со всеми другими
- В конце запроса добавьте
&method=hybrid
- Cперва будет поиск по локальному файловому хранилищу, потом Mojang
- COLLECTION
- Выдава скина из коллекции рандомных скинов, созданную администратором.
- Последние 12 символов от UUID переводяться в DEC и деляться на количество скинов в коллекции
- после чего остаток и будет являться номером из коллекции.
- Включение хранилища в
.env
: GIVE_FROM_COLLECTION=true
- DEFAULT
- Выдача скинов и плащей по умолчанию, если не найдены ни в локальном хранилище, ни в Mojang, ни в коллекции скинов.
- Включение в
.env
: GIVE_DEFAULT_SKIN=true и GIVE_DEFAULT_CAPE=true. По умолчанию скины отдаются всегда
Ссылка на скрипт
- Протокол и
ДОМЕН
/IP
.env
константа: APP_URL - Путь от корня домена
.env
константа: SCRIPT_PATH. Сделайть пустой SCRIPT_PATH= если используете под-доменНастройка пути корня до сайта
- Путь до корня сайта или texture-provider'a в конфиге
.env
константа: ROOT_FOLDER. По умолчанию: /var/www/htmlХранилище текстур
-
Хранилище от корня сайта в конфиге
.env
: STORAGE_DIR. По умолчанию: storageЕсли у вас своя папка storage
-
Удалите текущую папку storage
- Создайте ссылку на папку storage. ПРИМЕР для Azuriom:
-
- Пути от корня хранилища в конфиге
.env
: TEXTURE_{ТИП_ТЕКСТУРЫ}_PATH. Примеры есть в.env.example
Для включения поддержки версий 5.2.9-5.4.x
- Включите изменение хеша для старых версий в
.env
: LEGACY_DIGEST
Настройка LaunchServer'a
При использовании в сайте:
При использовании на под-домене:
Настройка публичного ключа доступа для загрузки скинов и плащей из лаунчера:
- Перейдите в папку лаунчсервера, далее в папку
.keys
. Она может быть скрыта - Скопируйте себе на ПК файл
ecdsa_id.pub
- Через сайт [ base64.guru ] преобразуйте файл в строку Base64
- В файле
.env
в корне текстур провидера, выставите переменную, по примеру:
Описание глобальных переменных для настройки скрипта
- Все доступные параметры находятся в
.env.example
- файл пример, с значениями по умолчанию в текстур провидере и библиотеке. За исключением:config/php-utils/^1.7.0/MainConfig.php
в котором осталась:- Настройка баз данных и таблиц с именами столбцов
- Настройка списка серверов (Не требуется для текстур провидера)
- Настройка параметров подключения к бд
config/php-utils/^1.7.0/TextureConfig.php
в котором настраивается:- SKIN_SIZE - доступные размеры для загрузки обычный скинов
- CAPE_SIZE - доступные размеры для загрузки обычный плащей
- SKIN_SIZE_HD - доступные размеры для загрузки HD скинов
- CAPE_SIZE_HD - доступные размеры для загрузки HD плащей
- P.S. При использовании Docker, после изменений конфигов, помимо
.env
выполнитеup -d --build
снова
ПРОЧЕЕ...
Удаление чересстрочной развёртки. И сжатие
Предупреждения:
- (Эти предупреждения связаны с библиотекой libpng, которая используется для работы с изображениями в формате PNG)
libpng warning: Interlace handling should be turned on when using png_read_image
- Это предупреждение говорит о том, что вам следует включить межстрочное сканирование (interlace) при использовании функцииpng_read_image
. Межстрочное сканирование позволяет пошагово загружать изображение, что может быть полезным для оптимизации процесса отображения.
Способ починить:
- Команды приведены от самой долгой по обратоке к самой быстрой
- Вызывать в папке с скинами или плащами
Починка профиля изображения
Предупреждения:
- (Эти предупреждения связаны с библиотекой libpng, которая используется для работы с изображениями в формате PNG)
libpng warning: iCCP: known incorrect sRGB profile
- Это предупреждение указывает на то, что профиль цвета sRGB в изображении не соответствует ожидаемому или считается некорректным. Возможно, изображение содержит нестандартный профиль цвета, и это может повлиять на отображение цветов.
libpng warning: iCCP: cHRM chunk does not match sRGB
- Это предупреждение также связано с профилем цвета и указывает на то, что информация о цветовом пространстве (cHRM chunk) не соответствует ожидаемому для sRGB. Это может также привести к неправильному отображению цветов.
Способ починить:
- Вызывать в папке с скинами или плащами
...БУДЕТ ДОПОЛНЕНО...
- Предположительно команда для использования на PRODUCTION, будет проверяться
- Оптимизирует импорты и кеширует классы автозагрузчика, если включен OpCache composer install -n -v -o -a --no-dev
All versions of texture-provider with dependencies
ext-gd Version *
ext-mbstring Version *
ext-json Version *
microwin7/php-utils Version 1.7.1.3
symfony/console Version ^7.0
sentry/sentry Version ^4.6
firebase/php-jwt Version ^6.10
nesbot/carbon Version ^3.3
guzzlehttp/psr7 Version ^2.6
nikic/fast-route Version ^2.0@dev
symfony/http-foundation Version 7.2.x-dev