Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Слетают админские флаги после смены карты...

Статус пользователя biffick
сообщение 28.1.2017, 17:25
Сообщение #1
Стаж: 15 лет

Сообщений: 270
Благодарностей: 28
Полезность: < 0

Слетают админские флаги после смены карты у игроков.
Сразу скажу, что админские флаги выдаются через веб-морду, хранятся с MySQL базе.
Проблема появилась, когда поставил плагин регистрации коннектящихся игроков.
Регистрация игроков также записывается в MySQL базу данных. Там уже порядка 106000 записей. Мне это нужно, поэтому убирать плагин нельзя.

Именно после смены карты флаги админки перестают работать. Если игрок перезайдёт уже через реконнект, то флаги админки будут на месте.
Почему я решил, что это из-за MySQL? Потому что админки, прописанные через users.ini никуда не пропадают и всегда работают.

В общем, нужен человек, который глянет плагин регистрации игроков в БД, мне кажется, что в нём проблема. Возможно, что он как-то подгружается в кеш сервера и переполняет его, хотя подгружать эту кучу записей не нужно, нужно лишь дополнять записи в таблице в БД.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
voed
сообщение 28.1.2017, 17:37
Сообщение #2
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Дай угадаю, Myarena?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя biffick
сообщение 28.1.2017, 17:46
Сообщение #3
Стаж: 15 лет

Сообщений: 270
Благодарностей: 28
Полезность: < 0

Цитата(voed @ 28.1.2017, 18:37) *
Дай угадаю, Myarena?

Нет.
Если ты можешь помочь, то давай в лс обсудим это дело.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя energydance
сообщение 28.1.2017, 17:51
Сообщение #4


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

biffick, не помню есть ли команда перезагрузки админов через MySQL
если есть то можно сделать чтоб при каждой смене карты сервер вызывал команду для перезагрузки админов как на примере от плагина admin.amxx
amx_reloadadmins


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя biffick
сообщение 28.1.2017, 18:46
Сообщение #5
Стаж: 15 лет

Сообщений: 270
Благодарностей: 28
Полезность: < 0

Цитата(energydance @ 28.1.2017, 18:51) *
biffick, не помню есть ли команда перезагрузки админов через MySQL
если есть то можно сделать чтоб при каждой смене карты сервер вызывал команду для перезагрузки админов как на примере от плагина admin.amxx
amx_reloadadmins

Согласен. Решение как одно ИЗ.
Но раньше такого не было, пока таблица в базе не стала иметь много записей...
Я сейчас выставил плагин с админами подгружаться перед плагином регистрации посещений игроками. Посмотрю, может получится победить эту беду...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя biffick
сообщение 28.1.2017, 21:22
Сообщение #6
Стаж: 15 лет

Сообщений: 270
Благодарностей: 28
Полезность: < 0

Ну кто-нибудь поможет за денежку то? :-)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя coca-cola :)
сообщение 28.1.2017, 21:27
Сообщение #7


Иконка группы

Стаж: 12 лет
Город: Москва

Сообщений: 1306
Благодарностей: 1031
Полезность: 1247

Меценат Меценат

biffick,
Цитата
Проблема появилась, когда поставил плагин регистрации коннектящихся игроков.
Регистрация игроков также записывается в MySQL базу данных. Там уже порядка 106000 записей. Мне это нужно, поэтому убирать плагин нельзя.

А что если сделать удаление старых записей? Не думаю, что тебе 106к записей необходимы.

Отредактировал: coca-cola :), - 28.1.2017, 21:28
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 28.1.2017, 21:46
Сообщение #8


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

biffick, в целом не должно мешать никак, amx_reloadadmins помогает?


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя biffick
сообщение 28.1.2017, 22:06
Сообщение #9
Стаж: 15 лет

Сообщений: 270
Благодарностей: 28
Полезность: < 0

Цитата
А что если сделать удаление старых записей? Не думаю, что тебе 106к записей необходимы.

Так вот стоит удаление старых записей. Плагином и удаляется (unix-time). Может это и влияет на работу админок.

Цитата(mazdan @ 28.1.2017, 22:46) *
biffick, в целом не должно мешать никак, amx_reloadadmins помогает?

Если честно, я не проверял команду. Но я знаю, что:
а) флаги доступа не работают только сразу после смены карты. Они восстанавливаются у игрока, если он сделает реконнект;
б) админки из users.ini работают всегда исправно.

P.S. MySQL настраивал даже так, чтобы лимиты были просто занебесные, чтобы проверить, поможет это или нет. Не помогло.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя biffick
сообщение 29.1.2017, 0:11
Сообщение #10
Стаж: 15 лет

Сообщений: 270
Благодарностей: 28
Полезность: < 0

Всё. Я удалил плагин регистрации заходов и флаги доступа больше не слетали ни разу за вечер.
Надо походу из плагина регистраций удалить функцию удаления старых записей и сделать это через cron. Сервер не справляется с таким количеством записей.
Кто поможет с плагином? :-)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 29.1.2017, 0:20
Сообщение #11


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

biffick, скорее всего просто не успевает amxbans данные по админкам получить до того как админ вошёл на сервер
в phpmyadmin просто удалите старые, если в плагине делать удаление на ежедневной основе, то ничего ему не станет. Да и так даже, если там асинхронные запросы. Воткните там LIMIT 5000 или 1000, за 1 карту если, то норм и 1000, я думаю
Уж 5К срок то удалит база, просто это вряд ли поможет, если у вас там нет индексов, то вставка столько же будет примерно занимать как и занимала.


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя biffick
сообщение 29.1.2017, 14:49
Сообщение #12
Стаж: 15 лет

Сообщений: 270
Благодарностей: 28
Полезность: < 0

mazdan, у меня нет AmxBans. Система админ-вип-выдачи самопальная. Система банов advanced_bans допиленная. Список банов в месяц набирает в себя не более 30 записей (записи старше 30ти дней очищаются автоматически).

Отредактировал: biffick, - 29.1.2017, 14:49
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя biffick
сообщение 29.1.2017, 15:00
Сообщение #13
Стаж: 15 лет

Сообщений: 270
Благодарностей: 28
Полезность: < 0

mazdan, ты в ICQ бываешь онлайн? Я добавил там, здесь не очень удобно переписываться...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя georgeml
сообщение 29.1.2017, 15:00
Сообщение #14
Стаж: 12 лет

Сообщений: 1467
Благодарностей: 439
Полезность: 423

Кажется, мы нашли в чем проблема
Цитата(biffick @ 29.1.2017, 22:49) *
Система админ-вип-выдачи самопальная.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя biffick
сообщение 29.1.2017, 15:47
Сообщение #15
Стаж: 15 лет

Сообщений: 270
Благодарностей: 28
Полезность: < 0

georgeml, ага, сто процентов. 4 года отрабатывала без сбоев, а тут сбоить стала на ровном месте.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя filip
сообщение 29.1.2017, 16:31
Сообщение #16


Стаж: 13 лет

Сообщений: 418
Благодарностей: 332
Полезность: 779

Цитата(biffick @ 29.1.2017, 16:47) *
georgeml, ага, сто процентов. 4 года отрабатывала без сбоев, а тут сбоить стала на ровном месте.

Ничего удивительного если только вы не предусмотрели при разработке своей системы все нюансы (без обид, но это сложно даже маститым скриптерам сделать).
Знаю точно, что права, выданные через set_user_flags, слетают, если изменить никнейм (например). Т.е. если менять поле setinfo, слетают флаги. Возможно у вас именно эта проблема (плагин регистрации заходов каким-то образом меняет поле setnifo), от того и слетают флаги.

А советы georgeml не игнорируйте, он знает, что говорит.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя biffick
сообщение 29.1.2017, 18:03
Сообщение #17
Стаж: 15 лет

Сообщений: 270
Благодарностей: 28
Полезность: < 0

Ок.
Давайте так :-)

Отключаю плагин регистрации заходов на сервер - ничего ни у кого не слетает, включаю - слетает после смены карты у всех до реконнекта на сервер.
Тут и ежу ясно, что просто БД не успевает очередь заданий отработать по удалению старых записей, потому сервер затупливает и не получает вовремя данные об админках, випах (проще говоря, о флагах доступов игроков).
Пока в БД было < 20k записей, всё было нормально.
Пока в БД было < 50k записей, флаги доступов пропадали через раз после смены карты.
Когда в БД стало > 100k записей, флаги стали пропадать почти после каждой смены карты.
Думаю, что когда записей станет > 200k, то пропадать будут флаги всегда после смены карты.
Предположительно, в будущем, будет в базе до 500k записей, тогда что? Откладывать подгрузку флагов на минуту после смены карты? Это бред.

Отредактировал: biffick, - 29.1.2017, 18:05
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя georgeml
сообщение 29.1.2017, 18:11
Сообщение #18
Стаж: 12 лет

Сообщений: 1467
Благодарностей: 439
Полезность: 423

biffick, Ответ от БД (при таком кол-ве записей, да и от организации индексов зависит) приходит позже захода игрока- игрок остался без флагов. Предусматривайте присвоение флагов после получения ответа от БД. Это все, чем могу помочь
п.с. Вообще, для этого отладка существует. Ставите логирование на коннект и на момент присвоения флагов и смотрите, что и когда срабатывает

Отредактировал: georgeml, - 29.1.2017, 18:19
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя biffick
сообщение 29.1.2017, 22:02
Сообщение #19
Стаж: 15 лет

Сообщений: 270
Благодарностей: 28
Полезность: < 0

Цитата(georgeml @ 29.1.2017, 19:11) *
biffick, Ответ от БД (при таком кол-ве записей, да и от организации индексов зависит) приходит позже захода игрока- игрок остался без флагов. Предусматривайте присвоение флагов после получения ответа от БД. Это все, чем могу помочь
п.с. Вообще, для этого отладка существует. Ставите логирование на коннект и на момент присвоения флагов и смотрите, что и когда срабатывает

Вопрос уже помог решить Mazdan.
Пока сбоев не наблюдаю, но надо потестить пару вечеров.
Проблема была действительно в плагине подгрузки админов из БД.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: