Хранилище
Общие
С помощью BlueMap вы можете определить одно или несколько хранилищ, в которых вы хотите хранить свои карты. Теоретически вы могли бы хранить каждую карту в отдельном хранилище.
Для настройки хранилищ вы можете использовать папку storages
в вашей папке конфигурации. Так же, как и в случае с картами, имя этого конфигурационного файла (без расширения .conf
) определяет идентификатор хранилища. Это означает, что вы также можете добавлять и удалять хранилища. Затем в настройках вашей карты вы можете использовать параметр storage
, чтобы выбрать хранилище, в котором должна храниться эта карта.
Например: Если у вас есть конфигурационный файл storages/mystorage.conf
, то в настройках вашей карты вы можете установить storage: "mystorage"
, чтобы эта карта использовала его.
Файловое хранилище
Файловое хранилище используется по умолчанию. Это просто папка, в которой BlueMap будет хранить фрагменты карты в виде отдельных файлов. Именно так, как этого ожидает веб-приложение. Обычно эта папка находится в корневом каталоге вашего веб-приложения: ./bluemap/web/maps
. Но вы можете изменить эту папку, как вам нравится , используя параметр root
.
MySQL, MariaDB & Postgres
Чтобы использовать базу данных MySQL, MariaDB или Postgres, вы можете использовать шаблон sql.conf
и ввести в него информацию о вашей базе данных.
Connection-URL
Параметр url-адрес подключения
- это то, где вы определяете большинство параметров, таких как, например, хост (url/адрес/ip) вашей базы данных и порт. Это делается в виде JDBC-строки. Точный синтаксис этой строки зависит от используемого вами драйвера базы данных. Но обычно это выглядит примерно так: jdbc:[driver]://[host]:[port]/[database][?properties]
Вот несколько примеров:
jdbc:mysql://localhost:3306/bluemap?permitMysqlScheme
jdbc:mariadb://db.myhost.com/my-database
jdbc:postgres://127.0.0.1:3306/bluemap
И вот еще немного документации для mysql, mariadb и postgres.
Свойства подключения
Конфигурация connection-properties
- это просто набор пользовательских свойств, которые вы можете передать своему драйверу базы данных при создании нового подключения. Обычно это используется для аутентификации с помощью свойств “user” и “password”, подобных этому:
connection-properties: {
user: "root",
password: "pA55w0rd"
}
Пользовательский JDBC-драйвер
BlueMap не включает в себя какой-либо драйвер базы данных, это означает, что вам нужно будет каким-либо образом предоставить свой собственный драйвер для Java Runtime:
Paper уже включает в себя драйвер MySQL, так что вам не нужно ничего делать, если вы находитесь на сервере Paper и хотите использовать MySQL/MariaDB.
Для Spigot, Fabric and Forge есть несколько модов/плагинов которые добавляют такой драйвер.
В качестве альтернативы вы также можете вручную загрузить JDBC-драйвер по вашему выбору и настроить BlueMap для его загрузки:
Загрузите jar-файл драйвера (например, mariadb-java-client.jar) и поместите его в папку ./bluemap
. Затем установите driver-jar: "bluemap/mariadb-java-client.jar"
и driver-class: "org.mariadb.jdbc.Driver"
, чтобы указать BlueMap, где найти файл jar и какой класс из него загружать. (Не забудьте убрать символ #
, чтобы раскомментировать настройки)
Sqlite
Настройка Sqlite в основном такая же, как и в MySQL, MariaDB и Postgres, просто используйте JDBC-драйвер для sqlite и настройте правильный connection-url
следующим образом: jdbc:sqlite:[путь к файлу базы данных]
. Если файл базы данных не существует, он будет создан.
Инфо:
Рекомендуется установить значениеmax-connections
равным1
при использовании sqlite, чтобы избежать проблем с блокировкой базы данных!
Вот простой способ настроить ваше sqlite-хранилище:
- Установите плагин/мод
- Установите
connection-url
в вашемsql.conf
наconnection-url: "jdbc:sqlite:bluemap/sqlite.db"
- Установите
max-connections
на1
- Измените
storage
в каждой конфигурации карты (./maps/xxx.conf
) наstorage: "sql"
Готово :)
Сжатие
Все типы хранилищ имеют параметр compression
. Он определяет, как сжимается каждый файл перед сохранением.
По умолчанию рекомендуется использовать сжатие GZIP
, поскольку браузеры могут получать сжатые файлы и распаковывать их на лету
.
Поддерживаемые параметры сжатия следующие:
setting | description |
---|---|
compression: NONE | Без сжатия фрагменты карты будут сохранены в обычном формате json. * Размер несжатых файлов увеличится примерно в 20 раз!* |
compression: GZIP | GZip . Рекомендуется. |
compression: DEFLATE | Deflate. |
compression: ZSTD | Zstandard. Такое сжатие не поддерживается некоторыми браузерами. BlueMap может потребоваться повторно сжимать файл в формате gzip каждый раз перед отправкой клиенту! (Очень медленно!) |