Войти или зарегистрироваться

Туториал Настройка подкл. PermissionsEx v1.22.1 (и выше), к MySql

Ваня555

Активный участник
Пользователь
Баллы
78
Имя в Minecraft
MrNuts
Настройка подключения PermissionsEx v1.22.1 (и выше), к MySql

Всем привет, наверное этот туториал не первый, а может быть и первый. Подобной темы здесь не находил, да и по поиску гугла и яндекса через команду site:rubukkit.org тоже.
Наверняка уже многие столкнулись с проблемой подключения PermissionsEx v1.22.1 к MySql. Вчера я перерыл весь рубагет, и ничего не нашел, пришлось искать все у буржуев.
​

Немного о проблеме подключения:
Начиная с версии v1.22.1, в плагине PermissionsEx изменился способ создания серверных файлов, а именно, теперь подключение пермишенса к MySql идет другим способом, основы такие же.
NON-REVERTIBLE backend schema changes will occur with this release. Once a server is successfully started with version 1.22, previous versions of PEX will not be able to understand the file or SQL schemas.

1.22.1:
- Fix initial creation of file backend data
- Fix referring to offline players by name in commands

Собственно, как теперь подключить этот плагин к MySql?
Все довольно-таки просто:
  1. Скачать плагин PermissionsEx v1.22.1, и выше
  2. Запустить и выключить сервер, чтобы создался config.yml, в папке плагина
  3. Открыть и отредактировать свой config.yml, вот пример готового config'a (указывать порт 3306 необязательно, так как, он автоматически используется, а если надо то по стандарту указать mysql://rubaget.org:1337/databasename)
    Код:
    permissions:
        backend: sql
        backends:
            sql:
                uri: mysql://localhost/databasename
                user: username
                password: password
  4. Включить сервер, и проверить создания трех новых таблиц и столбцов к ним в вашей базе данных:
    Вот такие:
    permissions
    permissions_entity
    permissions_inheritance
  5. После, если вы все правильно сделали, то откройте консоль и введите команду pex import file - эта команда импортирует ваш пермишенс в sql виде, в вашу бд.
  6. Сразу же после этой команды вводим pex reload - чтобы перезагрузить плагин и заполнить бд готовым sql
  7. ????
  8. PROFIT
О команде: pex import file. "file" = permission.yml, весь пермишен импортируется в sql формат, а после импортируется в базу данных
На этом все, для тех кто это знает это все, прошу пройти мимо, гайд для новичков, и для тех кто еще не в курсе этого апдейта. А если это баян, ссылку мне в личку. Сорьки, за мой русский, все-таки в 6 классе учусь. Да и, для тех кто совсем ничего не понял, вот вам ссылка на видео туториал на немецком, удачи ;D
 
Последнее редактирование:
Пойду чтоль для паблика сделаю uuid или может я жид :D
 
Эмм.. Я наверно покажусь нубом, но всё-же.. UUID это что?
UUID (Universally Unique Identifier) — это стандарт идентификации, используемый в создании программного обеспечения, стандартизированный Open Software Foundation (OSF) как часть DCE — среды распределённых вычислений (Distributed Computing Environment (англ.)). Основное назначение UUID — это позволить распределённым системам уникально идентифицировать информацию без центра координации. Таким образом, любой может создать UUID и использовать его для идентификации чего-либо с приемлемым уровнем уверенности, что данный идентификатор непреднамеренно никогда не будет использован для чего-то ещё. Поэтому информация, помеченная с помощью UUID, может быть помещена позже в общую базу данных, без необходимости разрешения конфликта имен. Наиболее распространённым использованием данного стандарта является Globally Unique Identifier (GUID) фирмы Microsoft. Другими значительными пользователями являются Linux(файловая система ext2/ext3, LUKS шифрованные разделы, GNOME, KDE) и Mac OS X — все они применяют реализацию, полученную из библиотеки uuid, находящейся в пакете e2fsprogs.

UUID представляет собой 16-байтный (128-битный) номер. В шестнадцатеричной системе счисления UUID выглядит как:

550e8400-e29b-41d4-a716-446655440000
Общее количество уникальных ключей UUID составляет 2128 = 25616 или около 3,4 × 1038. Это означает, что генерируя 1 триллион ключей каждую наносекунду, перебрать все возможные значения удастся лишь за 10 миллиардов лет.

UUID задокументирован как часть ISO/IEC 11578:1996 «Information technology — Open Systems Interconnection — Remote Procedure Call (RPC)» и позже в ITU-T Rec. X.667 | ISO/IEC 9834-8:2008. IETF опубликовала предлагаемый стандарт RFC 4122, который технически идентичен ITU-T Rec. X.667 | ISO/IEC 9834-8.

UUID со специальным идентификатором может быть преднамеренно использован повторно, для идентификации той же самой сущности в различных контекстах. Например, в Microsoft Component Object Model каждый компонент должен поддерживать стандартный интерфейс «IUnknown». Для этого создан UUID, представляющий «IUnknown». Во всех случаях, когда используется «IUnknown» — при доступе процессов к интерфейсу «IUnknown» в компоненте, или же для реализации поддержки интерфейса «IUnknown» самим компонентом, — всегда происходит отсылка к одному и тому же идентификатору: 00000000-0000-0000-C000-000000000046.
 
Ну для 6 класса ты грамотно излагаешь свои мысли :D
 
Ну, для 8 класса, ты не грамотно расставляешь запятые
Это я знаю. Откуда такая инфа про меня? :О
Ну, для 8 класса, ты не грамотно расставляешь запятые
Кстати, нужна помощь:) Как бы я не пытался подключить плагины к MySQL, у меня ничего не получается. PHP скрипты я могу подключить, а в плагинах, указав верные данные, они просто не коннектятся с бд.Хостинг WebHost1. При этом открыл бд для паблика(надеюсь ты понял:D)
 
Как можно подключить к одной бд 1.7.2 и 1.64 сервера? А то структура разная в пексах
 
Как можно подключить к одной бд 1.7.2 и 1.64 сервера? А то структура разная в пексах
Думаю, тут только переписывать скрипт надо, если ты хочешь чтобы была тесная интеграция - бонусы, баны, время и прочее.
Ну или, переименную таблицы в подключениях, только вот баны разные будут
Например таблица с банами UltraBans будет называться для 1.7.2 - "banned172"
А таблица с банами 1.6.4 пусть называется - "bannde164", а чтобы сделать общий глобальный бан, перепиши скрипт так чтобы, глобальные баны брались из таблицы dle_users, ну или другой таблицы. Также надо будет сделать с таблицами других серверов, с pex все-сложнее как мне кажется
Это я знаю. Откуда такая инфа про меня? :О

Кстати, нужна помощь:) Как бы я не пытался подключить плагины к MySQL, у меня ничего не получается. PHP скрипты я могу подключить, а в плагинах, указав верные данные, они просто не коннектятся с бд.Хостинг WebHost1. При этом открыл бд для паблика(надеюсь ты понял:D)
У тебя в профиле написано =-=
Скорей всего у твоего сервера что-то не так с Ip, или же FireWall все блочит со стороны сервера. Также советую проверить актуальность плагинов.
 
Думаю, тут только переписывать скрипт надо, если ты хочешь чтобы была тесная интеграция - бонусы, баны, время и прочее.
Ну или, переименную таблицы в подключениях, только вот баны разные будут
Например таблица с банами UltraBans будет называться для 1.7.2 - "banned172"
А таблица с банами 1.6.4 пусть называется - "bannde164", а чтобы сделать общий глобальный бан, перепиши скрипт так чтобы, глобальные баны брались из таблицы dle_users, ну или другой таблицы. Также надо будет сделать с таблицами других серверов, с pex все-сложнее как мне кажется

У тебя в профиле написано =-=
Скорей всего у твоего сервера что-то не так с Ip, или же FireWall все блочит со стороны сервера. Также советую проверить актуальность плагинов.
Фаервол это Антивирус? Если да, то у меня его нет, это во первых, а во вторых, сервер на хостинге. Такая шняга даже со сменой хостинга не фиксится. Плагин нормас по версии :D
 
Не подскажите как заставить его хранить префиксы и остальную информацию в бд, а сами permission брать из файла (мне просто надо чтоб на каждом сервере не были одинаковые пермы (пробовал поменять таблицу "permissions" в самом конфиге на например permission_survival, плагин не реагировал и дальше использовал табло по умолчанию - "permission "))
 
Не подскажите как заставить его хранить префиксы и остальную информацию в бд, а сами permission брать из файла (мне просто надо чтоб на каждом сервере не были одинаковые пермы (пробовал поменять таблицу "permissions" в самом конфиге на например permission_survival, плагин не реагировал и дальше использовал табло по умолчанию - "permission "))
попробуй создать другую бд
Такая тема. Все настроил, все импортировалось, кроме групп. Че делать? Заново создавать их? И, расскажи еще о том, как добавлять новые пермишены не через команды, а прям в бд.
 
попробуй создать другую бд
Такая тема. Все настроил, все импортировалось, кроме групп. Че делать? Заново создавать их? И, расскажи еще о том, как добавлять новые пермишены не через команды, а прям в бд.
Тогда сервера будут не обЪеденены, зачем мне это надо.
Насчет базы, возьми очисти таблицы и снова импортни, если опять импортируется не вся информация, то поменяй плагин. Пермы добавляй командами, либо напрямую через mysql редактор в бд, в таблице "permission"
 
Тогда сервера будут не обЪеденены, зачем мне это надо.
Насчет базы, возьми очисти таблицы и снова импортни, если опять импортируется не вся информация, то поменяй плагин. Пермы добавляй командами, либо напрямую через mysql редактор в бд, в таблице "permission"
Окей, спасибо
 
Во общем буду краток.Permission не выдаёт права на сервер игрокам.К бд подключён.Когда покупаешь допустим вип,то он(игрок и какое у него право) заносится в permissions_inheritance,но когда зайдёшь на сервер то ни какого права у тебя нету.Мой ник Xemi на картинке.Но если выдать право через консоль то всё норм работает.
Снимок.PNG
 
большущее спасибо!
Перенес на MySQL, вроде бы все столбцы создались (импортировались из файла), все права появились, но игроки не могут даже землю ломать. хотя префиксы и остальные права работают. странно.. пришлось вернуться к файлу чтобы игроки не жаловались, но это жесть как неудобно, с файлом.
 
По твоему способу после подключения все русские префиксы будут отображаться знаками вопроса.
Допиши uri: mysql://localhost/databasename?useUnicode=true&characterEncoding=utf8
 
Можно ли импортировать пекс из mysql обратно в файл ?
 
Пермишн подключен в бд, все таблицы в норме, все права настроены но почему то на сервере игрокам они не доступны. На пример команда home, хотя разрешение на эту команду у дефолтной группы есть. Как это исправить?
 
Назад
Верх