Вы не вошли.
Страницы: 1
Заглянув однажды в базу нового пекса с uuid я сильно ужаснулся.
1) Баг. При смене прификсов они не перезаписываются, а добавляются новые и новые. В итоге у премов стало по овер90 записей префиксов.
Фикс ниже.
prefix.php дописать чистку перет записью префикса.
$q = mysql_query('DELETE FROM ' . $server[$sid]['perm'] . PERMISSIONS . $server[$sid]['suf'] . ' WHERE name="' . $uuid . '" AND permission="prefix"', $cpex);
$q = mysql_query('DELETE FROM ' . $server[$sid]['perm'] . PERMISSIONS . $server[$sid]['suf'] . ' WHERE name="' . $uuid . '" AND permission="suffix"', $cpex);
2) Игроки придумали моду ставить префикс разными китайскими символами.
Фикс ниже
создаем функцию
function normalize_symbol($a) {
return preg_replace("/[^a-zа-я\s\]\[&0-9]/ui","",$a);
}
prefix.php выполняемм ее в .
$pref = mb_substr(normalize_symbol($_REQUEST['pref']), 0, 16);
Вне форума
Вероятно, в вашей базе куда-то уникальные индексы подевались.
Вне форума
Может потому что там и нет уникальности? Ты об этом не думал? Это не моя ошибка уж точно.
Ведь префикс ставится всегда разным, о какой уникальности может идти речь ?
Да и name тоже нельзя назвать уникальным, оно повторяется как минимум 3 раза.
Лучше исправте чтоб у других не возникало проблем. О себе то я уже позаботился.
Мой вариант универсальный и почистит все дубликаты префиксов, если были.
Вне форума
Через phpMyAdmin зайдите пожалуйста в структуру таблицы PermissionEx и проверьте индексы.
Вне форума
Ты будешь так кажного лечить?
У меня таблици из коробки после создания пексом, и лишние телодвижения мне никчему.
Почему бы не зделать как в старом пексе delete.
Вне форума
Когда зарегистрируется более 10000 игроков, сервер не сможет нормально функционировать без индексов, будут зависания в момент выборки привилегий, по этому некоторые администраторы нагруженных серверов не довольны работой PermissionEx и они предлагают использовать .
Вне форума
кстати заметил такое тоже..префиксы не перезаписываются как положено а делаются новые и новые а старые остаются тоже..но когда у пользователя кончилась группа (она же платная)то все префиксы старые и новые то что он наизменял исчезают.я думаю проблема актуальна если дать разрешение менять префиксы всем..тогда мусору будет немерено от стары префиксов.это да
Вне форума
Уникальные индексы в структуре таблицы исправляйте пожалуйста:
CREATE TABLE IF NOT EXISTS `permissions` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`type` tinyint(1) NOT NULL,
`permission` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
`world` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`value` mediumtext COLLATE utf8_unicode_ci 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 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;
Вне форума
Спасибо сейчас все норм работает!получается это проблема у PEX??потому что таблица создается от PEX сама такая без индексов уникальности,и еще и в INNODB
Вне форума
Да, именно из-за отсутствия идексов, когда количество пользователей начинает расти, сервер Minecraft начинает притормаживать и чем больше пользователей, тем заметнее тормоза.
Вне форума
Отправил девелоперам пекса,на доработку вашу копию таблицы пермишн с индексами,может прислушаются.
Вне форума
Страницы: 1