Помогите Ошибка Mysql Ultrabans Lite v3.1.4

trancefer

Старожил
Пользователь
Баллы
123
Доброво времени суток. Стоит mcpc+ legacy, Ultrabans Lite v3.1.4 (настроен на Mysql)
Подскажите, что за ошибка при старте сервера и как исправить? Попробовал банить - данные в таблицу записываются, но все же ошибка напрягает.
Заранее благодарю.
Код:
2013-06-10 23:17:01 [INFO] [UltrabansLite] Enabling UltrabansLite v3.1.4
2013-06-10 23:17:01 [SEVERE] com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8 ROW_FORMAT=DY' at line 1
2013-06-10 23:17:01 [SEVERE]    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2013-06-10 23:17:01 [SEVERE]    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
2013-06-10 23:17:01 [SEVERE]    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
2013-06-10 23:17:01 [SEVERE]    at java.lang.reflect.Constructor.newInstance(Unknown Source)
2013-06-10 23:17:01 [SEVERE]    at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
2013-06-10 23:17:01 [SEVERE]    at com.mysql.jdbc.Util.getInstance(Util.java:382)
2013-06-10 23:17:01 [SEVERE]    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
2013-06-10 23:17:01 [SEVERE]    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
2013-06-10 23:17:01 [SEVERE]    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
2013-06-10 23:17:01 [SEVERE]    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
2013-06-10 23:17:01 [SEVERE]    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
2013-06-10 23:17:01 [SEVERE]    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
2013-06-10 23:17:01 [SEVERE]    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111)
2013-06-10 23:17:01 [SEVERE]    at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1362)
2013-06-10 23:17:01 [SEVERE]    at com.modcrafting.ultrabans.db.SQL.load(SQL.java:106)
2013-06-10 23:17:01 [SEVERE]    at com.modcrafting.ultrabans.Ultrabans.onEnable(Ultrabans.java:99)
2013-06-10 23:17:01 [SEVERE]    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
2013-06-10 23:17:01 [SEVERE]    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:396)
2013-06-10 23:17:01 [SEVERE]    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
2013-06-10 23:17:01 [SEVERE]    at org.bukkit.craftbukkit.v1_4_R1.CraftServer.loadPlugin(CraftServer.java:306)
2013-06-10 23:17:01 [SEVERE]    at org.bukkit.craftbukkit.v1_4_R1.CraftServer.enablePlugins(CraftServer.java:288)
2013-06-10 23:17:01 [SEVERE]    at net.minecraft.server.MinecraftServer.j(MinecraftServer.java:506)
2013-06-10 23:17:01 [SEVERE]    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:472)
2013-06-10 23:17:01 [SEVERE]    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:418)
2013-06-10 23:17:01 [SEVERE]    at ho.c(DedicatedServer.java:203)
2013-06-10 23:17:01 [SEVERE]    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:613)
2013-06-10 23:17:01 [SEVERE]    at fy.run(ThreadMinecraftServer.java:16)
2013-06-10 23:17:01 [INFO] [UltrabansLite] Loaded. 0 secs.

РЕШЕНИЕ
 
Ошибка связана с неправильным синтаксисом запроса, а в логе даже указали тебе, где примерно произошло.
 
В общем помогло изменение файла SQL.class по пути Ultrabans.jar\com\modcrafting\ultrabans\db\
убрал USING BTREE, ошибка ушла
Исправленный файл прикреплю, может кому пригодится.
(Не знаю насколько это правильно)

При создании таблиц тоже использовал без USING BTREE, иначе ошибка
Код:
CREATE TABLE IF NOT EXISTS `banlist` (
`name` varchar(32) NOT NULL,
`reason` text NOT NULL,
`admin` varchar(32) NOT NULL,
`time` bigint(20) NOT NULL,
`temptime` bigint(20) NOT NULL,
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` int(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=100
DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
CREATE TABLE IF NOT EXISTS `banlistip` (
`name` varchar(32) NOT NULL,
`lastip` tinytext NOT NULL,
PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
 

Вложения

В общем помогло изменение файла SQL.class по пути Ultrabans.jar\com\modcrafting\ultrabans\db\
убрал USING BTREE, ошибка ушла
Исправленный файл прикреплю, может кому пригодится.
(Не знаю насколько это правильно)

При создании таблиц тоже использовал без USING BTREE, иначе ошибка
Код:
CREATE TABLE IF NOT EXISTS `banlist` (
`name` varchar(32) NOT NULL,
`reason` text NOT NULL,
`admin` varchar(32) NOT NULL,
`time` bigint(20) NOT NULL,
`temptime` bigint(20) NOT NULL,
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` int(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=100
DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
CREATE TABLE IF NOT EXISTS `banlistip` (
`name` varchar(32) NOT NULL,
`lastip` tinytext NOT NULL,
PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

Насколько я могу судить по своим скундым данным, BTREE - это особый формат представления данных в виде бинарного дерева, дерева поиска. Ну и по сути ты навряд ли что-то потеряешь, отказавшись от данного представления. С этим, возможно, запросы просиходили бы чуточку быстрее. Но это было бы заметно на больших массивах данных.
 
Данный плагин крайне не адекватен. Кривые сообщения о разбане в бд. Figadmin по лучше будет. И с essentials не конфликтует.
А Essentials типа все используют?
И сколько же придется провозиться с фигадмином, чтобы он в бд заносил кирилицу, а не ????
 
ultrabans не просто плагин банов, ведет статистику заходов, ip.
Крайне мощный инструмент, скажу я вам, но разработчик все никак не исправляет излишнюю прожорливость плагина.
 
Yoda mod=on?
А как же конфликты с Essentials? А как же прожорливость, которая очень часто сильно нагружает сервер?

И вы еще держите сервера?...
Ничего, что в Essentials есть функции для запрета своих команд?
 
Даже на дев'е пишут о несовместимости. Medveds из за этого на коммандбук'е. Данный баг начинается где-то с версии 1.5.1 и последний апдейт плагина.

Используйте либо ultrabans lite либо из dev версии.
В комментариях я писал там.
 
Не имею доступа к компьютеру. За 1500 км от дома на данный момент.
Вот, цитирую с оф дев'а:

Bugs

Conflicts with Essentials.
Has been known to work with it, however use caution.
Please Ticket if you have any issues/suggestions/ and-or comments.
Разработчик пишет, что с версии 4.0, он полностью перепишет. У меня ultrabans 3.1.0(тестировал еще и на lite 3.1.4), Essentials-Pre2.11.1.2, minecraft 1.5.1(помледний билд спайгота на эту версию). И большинство комманд ultrabans не работает. Temp Команды 100% не работают и на баны по ip. По обычным банам не помню. Помню, что еще не разбаниваются.


Ну значит я маг, волшебник, иллюзионист
uX0nxW4H.png
 
Назад
Верх