PDA

View Full Version : Как удалить руки конкретного игрока из ба



Olaf
03-20-2011, 08:00 PM
Погуглил - основная масса ответов - никак.


Purging не предлагать, не подходит, т.к там нет функции - "Удалить только игрока ХХХ"

Зачем мне это? Имеется 2 компа. Играю то там неделю, то там. При этом пользуюсь майнингом, и он вместе с остальными руками, естественно, закачивает на каждый из компов мои руки, сыгранные на другом компе. Естественно, майнинг искажает статистику + показывает только руки, которые дошли до Шоудауна. Вот эти намайненные руки, за определенный период времени мне и нужно прибить.

1)Вариант 1 - В REPORTS выделяем руки - Delete All hands - в моем случае, через полчаса дрочилова ХМ выдает ошибку. Можно удалять кусками, на удаление 200-300 рук может уйти 5 минут. Если выделять >1000 рук сразу - ХМ однозначно выдаст ошибку, и это после получаса активной работы винта. А если мне нужно прибить 30К рук?


ПРОСЬБА РУССКИМ АДМИНАМ!

Возможно, приведенный мною самый простой способ когда-нибудь станет реально рабочим, вы можете поинтересоваться у разработчиков?

Почему есть надежда? Да потому что многие, как я это видел по сообщениям форума, в свое время намучились с Экспортом рук в файлы. У многих экспорт шел со скоростью ~ 1000 рук в 2 минуты. 30К рук экспортировалось за час.
ХМ саппорт, тот же Фоззи, отвечал что это траблы юзеров с Постгре и т.д и т.п
Прошли годы :), я установил 1.11.06 - и, О ЧУДО, экспорт идет секунды! Ставлю старую версию - опять можно ждать часами!

Может и в случае удаления рук разработчики что-нибудь родят?

2) Пока это не возможно, можно ли это сделать посредством Постгре, - правильного запроса в Фильтре?
Типа "Имя базы -> Схемы -> public -> Таблицы -> players -> Просмотр данных -> Просмотр отфильтрованных данных - НАШ ЗАПРОС в фильтре, по возможности с временными рамками>выделяем все -> Жмем Del?

Sarek
03-21-2011, 06:05 AM
"Вот эти намайненные руки, за определенный период времени мне и нужно прибить" - вот как раз это Purge делать умеет, только наоборот: НЕ удалять руки, в которых участвовал некий игрок. И получится, что именно майнинг, то есть, руки, в которых нужный игрок отсутствует, и будет удален.
Что касается оптимизации, то программисты без дела не сидят. Просто недоделанную работу, как известно, лучше не показывать... потерпи.

Olaf
03-21-2011, 07:38 AM
"Вот эти намайненные руки, за определенный период времени мне и нужно прибить" - вот как раз это purge делать умеет, только наоборот: НЕ удалять руки, в которых участвовал некий игрок. И получится, что именно майнинг, то есть, руки, в которых нужный игрок отсутствует, и будет удален.


Бзззз.... только наоборот, как раз и не нужно.
Может я не до конца понял твой ответ, но мне как раз нужно удалить
намайненные МОИ (т.е руки сыгранные МНОЮ на другом компе), а все остальные майнинг руки оставить. Т. е не удалить все руки кроме рук героя, а удалить намайненные руки героя, оставив все остальные.

Ситуации такие возникают постоянно, если человек играет не на одном компьютере, и при этом использует покупной майнинг, или несколько игроков хотят объединить свои результаты в один Allias, и при этом они пользуются майнингом.

Если нормального решения ситуации нет, просьба админам указать на проблему разработчикам.

И еще вопрос - RVG, еще занимается ХМ? Просто раньше он часто отвечал на вопросы, а сейчас у него много помощников?

Sarek
03-21-2011, 08:13 AM
Да, действительно, мы по-разному толковали слово "майнинг". Обычно под этим термином подразумеваются руки, в которых игрок НЕ участвовал.
Чтобы корректно поставить вопрос для программистов, надо бы его четко сформулировать. Попробуй еще раз, без неоднозначностей. Последовательно. Что пользователь делает и что хочет в итоге получить.
А что касается Роя, то в форуме он появляется редко, ибо других задач хватает, а команда с тех пор значительно разрослась, с разделением функций.

Olaf
03-21-2011, 08:53 AM
Спасибо, что пытаешься разобраться, а не футболишь :)



Да, действительно, мы по-разному толковали слово "майнинг". Обычно под этим термином подразумеваются руки, в которых игрок НЕ участвовал.
Чтобы корректно поставить вопрос для программистов, надо бы его четко сформулировать. Попробуй еще раз, без неоднозначностей. Последовательно. Что пользователь делает и что хочет в итоге получить.


Хе-хе :) Сформулировать.

Для начала четко проблему:

У меня два игровых компа - Ноутбук и Десктоп. На одном я играю неделю (когда в разъездах), потом на втором неделю. При этом я пользуюсь услугами майнинга - т.е покупаю руки. Я поиграл неделю на Десктопе, "пересел" на Ноут - закачал туда майнинг. Но среди закачанных мною на Ноут майненых рук ЕСТЬ руки которые играл я, т.е ХИРО на Десктопе на протяжении предыдущей недели. ПОнимаешь? Но, поскольку это МОИ руки, НО, полученные посредством майнинга, то, как ты сам понимаешь, выглядят они не так, как выглядят на компе на котором я эти руки играл - т.е 1) Не все - ведь никто не гарантирует 100% майнинг 2)Видны только МОИ руки дошедшие до Шоудауна. Все остальные мои руки неизвестны - ведь они получены посредством майнинга, и никто не знает, что у меня было в руках.

В итоге, посредством майнинга я закачиваю свои же руки с искаженной/неполной информацией. А т.к в базе каждого моего компьютера должны быть только "Чистые" мои руки, то эти закачанные из майнинга МОИ руки, сыгранные на другом компе, мне нужно удалить.

Как это кратко сформулировать? Посредством примера я описал проблему и дал понять, что в принципе она далеко не уникальна. Разрешение проблемы довольно просто:

1) Или сделать нормальное удаление рук в Reports - а не то, глючное, крайне медленное, которое я описал в первом посте

ИЛИ

2)В функции Purging помимо функции "Удалить все руки кроме игрока ХХХХ" добавить функцию "Удалить игрока ХХХХ, оставив все остальные руки"

Самый простой и естественный - первый вариант, но что мешает разработчикам ХМ уже пару лет сделать нормальное удаление рук через Reports, я не знаю. Это ведь одна из самых базовых функций, почему она слабофункциональна - непонятно :(

Sarek
03-21-2011, 01:23 PM
Вот теперь понятнее. Но:
Я сейчас попробовал удалить 6 тысяч рук сразу через репорты - на что ушло секунд 5-7 и никаких ошибок. Список в итоге пуст. Так что оно вполне работает. И ответ от программеров предсказуем: глюк не воспроизводится, чинить нечего.
А про вставить в Purge удаление рук, сыгранных игроком NNN - послано. Когда будет ответ - процитирую.

Olaf
03-21-2011, 05:55 PM
Вот теперь понятнее. Но:
Я сейчас попробовал удалить 6 тысяч рук сразу через репорты - на что ушло секунд 5-7 и никаких ошибок. Список в итоге пуст. Так что оно вполне работает. И ответ от программеров предсказуем: глюк не воспроизводится, чинить нечего.
А про вставить в purge удаление рук, сыгранных игроком nnn - послано. Когда будет ответ - процитирую.

Дал ты пищу к размышлениям. В чем может быть дело? У меня 8.3 Постгре, считаешь ли ты необходимым обновление? Какое Постгре у тебя?. В форумах читал что 8.3 самая стабильная версия, и особой надобности в обновлениях нет. ХМ 1.11.06 Может у тебя база только твоей игры, и никакого майнинга, соответственно база маленькая? Сейчас я сделаю - Бекап/Рестор и посмотрю, что изменится.

Sarek
03-21-2011, 06:05 PM
Версия Postgre у меня стоит 8.4 - кстати, официально именно она входит в полный дистрибутив ХМ. А пробовал я на разных базах - и в которых есть майнинг, и в которых нету. На последней версии ХМ.

colanah
09-19-2011, 11:10 AM
заходишь через pgadmin
ищешь таблицу players
ищешь там ник того кого надо удалить
выделяешь всю стоку и жмешь del
после этих действий запускаешь оптимизицию\вакуумизацию как там она правильно называется
делаешь ее к той базе где был этот игрок
после нового запуска инфы об игроке не остается не в сессиях не во вкладке players

Sarek
09-19-2011, 12:59 PM
Теоретически - должно сработать. Вопрос только в том, что это нужно технически правильно исполнить.