Интеграция с PermissionEx

PHP скрипт для плагина permissionEx

С помощью CMS Donate Engine Вы сможете организовать мульти-серверную атоматическую продажу игровых привилегий на Ваших серверах Minecraft. Игроки смогут покупать привилегии в любое время и без участия и контроля за покупками администратора. Донат реализован как система продажи, продления и апгрейда привилегий PermissionEx как старых версий без UUID, так и последней сборки.


Вебинтерфейс для плагина permissionEx

Первоначально, стандартный функционал CMS позволял проводить интеграцию с плагином PermissionEx, только для одной базы и в новых обновлениях уже доступна опциональная интеграция для любых серверов Minecraft.


Интеграция с плагином PermissionEx

Личный кабинет может работать как со старыми версиями плагина pEx 1.7, так и с его новыми версиями версиями pEx 1.24+. В новых версих движка, улучшен интерфейс покупок привилегий, игроки получили удобную систему оплаты и опциональную систему скидок на продление покупки привилегий PermissionEx и LuckPerms.


Добавление индексов (для продления привилегий)

Для работы функций покупки и продления привилегий, проверьте наличие индексов в базе данных MySQL (в старых версиях плагина они отсутствуют и их необходимо добавить). Индексы используются движком для вставки новых данных и если запись существует, проводится апгрейд или продление привилегий на сервере.

SQL запрос для добавления индексов:

ALTER TABLE `permissions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique` (`name`,`permission`,`world`,`type`),
  ADD KEY `user` (`name`,`type`),
  ADD KEY `world` (`world`,`name`,`type`);
ALTER TABLE `permissions_entity`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `name` (`name`,`type`),
  ADD KEY `default` (`default`);
ALTER TABLE `permissions_inheritance`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `child` (`child`,`parent`,`type`,`world`),
  ADD KEY `child_2` (`child`,`type`),
  ADD KEY `parent` (`parent`,`type`);

Полный MySQL дамп со структурой таблиц:

CREATE TABLE permissions (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(48) NOT NULL,
  `type` tinyint(1) NOT NULL,
  `permission` varchar(90) NOT NULL,
  `world` varchar(32) NOT NULL,
  `value` mediumtext NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique` (`name`,`permission`,`world`,`type`),
  KEY `user` (`name`,`type`),
  KEY `world` (`world`,`name`,`type`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

CREATE TABLE permissions_entity (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `type` tinyint(1) NOT NULL,
  `prefix` varchar(180) NOT NULL DEFAULT '',
  `suffix` varchar(180) NOT NULL DEFAULT '',
  `default` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `default` (`default`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

CREATE TABLE permissions_inheritance (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `child` varchar(50) NOT NULL,
  `parent` varchar(50) NOT NULL,
  `type` tinyint(1) NOT NULL,
  `world` varchar(32) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `child` (`child`,`parent`,`type`,`world`),
  KEY `child2` (`child`,`type`),
  KEY `parent` (`parent`,`type`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

Скачать PermissionEx: http://dev.bukkit.org/bukkit-plugins/permissionsex/

Gamepedia: http://minecraft-ru.gamepedia.com/PermissionsEX