Перейти к содержимому

Minecraft MySQL JDBC

Актуальный MySQL Connector/J, обёрнутый как универсальная библиотека Forge/Fabric/Bukkit для плагинов вроде Grim.

FabricNeoForgeForgeQuilt
Загрузчики
FabricNeoForgeForgeQuilt
Скачиваний на Modrinth
2,2 тыс.
Подписчиков на Modrinth
0
версии
4
Обновлён
16 октября 202616 окт.
Опубликован
в 2026
Это библиотека — она нужна другим модам и сама ничего не добавляет в игру

Коротко о моде

Библиотека — нужна другим модам
Работает на Fabric, NeoForge, Forge и Quilt
Для Minecraft 1.12.2–26.3
Последняя версия — 26.7.0+2026-07-30 от 16 октября 2026
Лицензия GPL-2.0-only — бесплатно
Где нужен
В игренеизвестноНа серверенеизвестно

Автор не указал, где нужен мод

Версии игры1.12.2–26.3
Описание переведено автоматическиПоказать оригинал (EN)

MySQL Connector/J для Minecraft

Официальный MySQL Connector/J от Oracle, переупакованный как плагин для Bukkit/Spigot/Paper и мод для Fabric/Forge/NeoForge.

На заметку: CraftBukkit/Spigot/Paper тащат MySQL Connector/J в родительском classloader сервера ещё с 1.4 (эпоха «ebeans»). Для стандартного JDBC-пути (Class.forName("com.mysql.cj.jdbc.Driver") / DriverManager.getConnection) побеждает встроенный драйвер — установка этого мода ничего не меняет. Мод в первую очередь полезен на Fabric, NeoForge и форках Bukkit, из которых вырезали встроенный драйвер. Если тебе нужен именно коннектор из этого мода, а не встроенный (например, версия поновее), используй публичный API — см. Использование коннектора из этого мода через публичный API ниже.

Что внутри jar

com.mysql:mysql-connector-j:9.1.0 плюс минимальные заглушки загрузчиков для Spigot, Forge 1.12, Forge 1.13–1.16, Forge 1.17–1.20, NeoForge 1.21+ и Fabric. Без релокации — классы com.mysql.cj.* остаются на канонических путях, так что Class.forName("com.mysql.cj.jdbc.Driver") их находит. META-INF/services/java.sql.Driver сохранён, поэтому драйвер сам регистрируется в DriverManager.

Переименование mysql:mysql-connector-java → com.mysql:mysql-connector-j произошло в connector-j 8.x. Имя класса com.mysql.cj.jdbc.Driver работает и со старыми, и с новыми координатами артефакта, так что рантайм-проба стабильна.

Совместимость

ЗагрузчикВерсии MCПримечания
Bukkit / Spigot / Paper / Folia / Purpur1.8 → текущаяобычно не нужен — драйвер встроен в сервер
Fabric1.16.1 → текущаянужен Fabric Loader 0.14+
Forge1.12 → 1.20универсальный jar, без Mixins
NeoForge1.21 → текущаякидай в mods/

Требуется Java 8+.

Подводные камни строки подключения, о которых стоит знать

Драйверы 5.1.x и 8+ по умолчанию ведут себя так, что для реальных развёртываний почти всегда нужно переопределять настройки:

  • useSSL=true — значение по умолчанию, падает на любом MySQL-сервере без публичного сертификата, подписанного CA. Ставь useSSL=false для открытого текста или добавь verifyServerCertificate=false, если у тебя самоподписанный сертификат.
  • caching_sha2_password (дефолт MySQL 8) требует allowPublicKeyRetrieval=true для аутентификации по незашифрованному каналу, иначе рукопожатие падает с Public Key Retrieval is not allowed.
  • rewriteBatchedStatements=true сворачивает JDBC-батчи INSERT в многострочную форму на проводе. Без него батч-операции всё равно идут N round-trip'ов.

Типичный URL:

jdbc:mysql://host:3306/db?useSSL=false&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true

MariaDB говорит по протоколу MySQL на проводе, так что этот драйвер работает и с MariaDB. Если хочешь нативный коннектор MariaDB — это отдельный драйвер, и здесь он не рассматривается.

Версионирование

Версия jar один в один повторяет connector-j. 9.1.0+2026-04-25 содержит connector-j 9.1.0; суффикс — дата сборки. Запланированный GitHub Action проверяет Maven Central ежедневно и обновляет автоматически.

Использование коннектора из этого мода через публичный API

Если тебе нужен именно коннектор из этого мода, а не встроенный — чтобы обновиться поверх устаревшего драйвера из форка или протестировать новую версию коннектора — твой плагин делает softdepend на этот холдер и вызывает MinecraftMysqlJdbc.connect(url, props):

# в твоём plugin.yml
softdepend: [mysql-jdbc]
Properties props = new Properties();
props.setProperty("user", "grim");
props.setProperty("password", "...");
Connection c;
try {
    c = MinecraftMysqlJdbc.connect("jdbc:mysql://host:3306/db?useSSL=false", props);
} catch (NoClassDefFoundError | ClassNotFoundException notInstalled) {
    c = DriverManager.getConnection("jdbc:mysql://host:3306/db?useSSL=false", props);
}

`MinecraftMysqlJdbc` оборачивает `URLClassLoader` с приоритетом дочернего загрузчика, указывающий на этот jar, с родителем в виде платформенного загрузчика классов, поэтому `com.mysql.cj.*` должны браться из этого jar (а не из встроенной цепочки). Возвращаемый `Connection` — это стандартный `java.sql.Connection` — держите приведения к интерфейсам `java.sql.*`; класс реализации живёт в дочернем загрузчике классов и не приведётся через границу.

Поверхность API (всё статическое):

| Метод | Возвращает |
|---|---|
| `connect(String url)` | открытый `Connection` через этот драйвер |
| `connect(String url, Properties props)` | то же самое с props |
| `driver()` | экземпляр `java.sql.Driver` |
| `driverVersion()` | версия connector-j (например, `"9.1"`) |
| `eagerInit()` | прогреть загрузчик классов при включении плагина |
| `shutdown()` | освободить файловые дескрипторы при отключении плагина |

MySQL-бэкенд Grim Anti-Cheat использует этот API автоматически, когда установлен этот holder.

## Лицензия

GPL-2.0 с [Universal FOSS Exception 1.0](https://oss.oracle.com/licenses/universal-foss-exception/). Исключение делает драйвер совместимым с любым плагином или модом для Minecraft под FOSS-лицензией (это та же лицензия, с которой Oracle поставляет бинарник Connector/J). Тег лицензии на Modrinth показывает GPL-2.0-only, потому что в списке SPDX нет единого идентификатора для комбинации GPL-2 + FOSS Exception — полный текст в [`LICENSE`](https://github.com/Axionize/minecraft-mysql-jdbc/blob/main/LICENSE).

---

Issues, исходники: [GitHub](https://github.com/Axionize/minecraft-mysql-jdbc).

Частые вопросы

Как установить Minecraft MySQL JDBC?

Установите Fabric под свою версию Minecraft, скачайте Minecraft MySQL JDBC под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть Minecraft MySQL JDBC?

У Minecraft MySQL JDBC есть сборки для Minecraft 1.12.2–26.3.

Лицензия и источник
GNU General Public License v2.0 onlyможно использовать и распространять; изменённые версии — под той же лицензией и с исходным кодом
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее