Почистване на стари банове.

Правилата и Новини за psycho-cs.com
Потребителски аватар
2GOOD
The Big Boss
Мнения: 1515
Регистриран: 06.09.2007, 00:31
Мишка: Logitech G5
Местоположение: Panet Mars
Аватарът на 2GOOD
Зареждане…

Почистване на стари банове.

Мнение от 2GOOD »

Здравейте,
След кратка справка стана ясно, че имаме над 13500 бана в базата данни, решихме да поизчистим малко старите банове. И така всички, които са били баннати преди началото на 2011-а година, вече нямат бан. Премахнати са също и банове за реклама и с причина друго, по този начин намалихме общия брой на бановете на 10115, от които около 1/3 активни - 3484 !!!

На печелившите честито :whistle:

Потребителски аватар
aXNJI
CS Admin, Jr.
Мнения: 692
Регистриран: 25.08.2011, 12:11
Ник в CS: aXNJI

Re: Почистване на стари банове.

Мнение от aXNJI »

Ам, честно казано не знам точно как работи системата за бановете, но общо взето трябва да е база данни.

Та предложението ми е следното, няма ли да е по-бързодействащо ако има едба отделна... база /честно казано не съм бачкал с тях вече 2 години и съм забравил терминологията/ в която да стоят изтеклите банове. Така системата ще действа по-бързо като не преглежда всички 10к банове да види дали играча има бан а ще гледа само активните 3.5к. И след изтичане на дадения бан тя автоматично да премества бана отделната база за изтекли банове. Та дори да не ги премества автоматично, един пъм месечно, или на 2 месеца да се мятат изтеклите банове в другата база.
ИзображениеИзображение
The only verdict is vengeance A vendetta held as a votive not in vain
for the value and veracity of such shall one day vindicate the vigilant and the virtuous

Потребителски аватар
2GOOD
The Big Boss
Мнения: 1515
Регистриран: 06.09.2007, 00:31
Мишка: Logitech G5
Местоположение: Panet Mars
Аватарът на 2GOOD
Зареждане…

Re: Почистване на стари банове.

Мнение от 2GOOD »

aXNJI написа:Ам, честно казано не знам точно как работи системата за бановете, но общо взето трябва да е база данни.

Та предложението ми е следното, няма ли да е по-бързодействащо ако има едба отделна... база /честно казано не съм бачкал с тях вече 2 години и съм забравил терминологията/ в която да стоят изтеклите банове. Така системата ще действа по-бързо като не преглежда всички 10к банове да види дали играча има бан а ще гледа само активните 3.5к. И след изтичане на дадения бан тя автоматично да премества бана отделната база за изтекли банове. Та дори да не ги премества автоматично, един пъм месечно, или на 2 месеца да се мятат изтеклите банове в другата база.

Ами те са в една таблица... като има поле активен ли е бана - 1/0 така, че заявката се прави директно по този критерий 1 - активен бан. Вече ако играча няма активен бан се прави втора заявка, който проверява и извежда информация колко предишни бана има играча - така админ знае, че даден играч е потенциален нарушител - няма как да се избегне това.

Потребителски аватар
aXNJI
CS Admin, Jr.
Мнения: 692
Регистриран: 25.08.2011, 12:11
Ник в CS: aXNJI

Re: Почистване на стари банове.

Мнение от aXNJI »

2GOOD написа: Ами те са в една таблица... като има поле активен ли е бана - 1/0 така, че заявката се прави директно по този критерий 1 - активен бан. Вече ако играча няма активен бан се прави втора заявка, който проверява и извежда информация колко предишни бана има играча - така админ знае, че даден играч е потенциален нарушител - няма как да се избегне това.
Да със заявките и флаговете съм наясно, идеята ми е че макар 13500 бана да ни се струват много, ако ги обърнем в проверки са ти не повече от 40-50 милисекунди, зависимост от машината. Моята идея беше, че ако таблицата с активните банове е отделна, ще може да се направи по-бързо проверката и играча да продължи с connect-а към сървъра пък след това да се направи втората проверка дали той има изтекъл бан.

Или другия вариант е да се сравнява бана и като се намери съвпадение да се пусне проверка дали флага за активност е тру, ако е да се киква, ако не е брояча за банванията който ни изписва кой колко пъти е бил бан да се увеличава.

Не знам просто нахвърлям идей за оптимизация, надявам се нямаш против, защото съм виждал разликите, един съученик преди години бачкаше над задачата /като тя излезе/ колко е сбора на всички прости числа от 1 до 10 милиарда. И първата версия на един го обработваше за 8 часа, а друг я направи да обработва за 22ms, което е една значителна разлика :lol:
ИзображениеИзображение
The only verdict is vengeance A vendetta held as a votive not in vain
for the value and veracity of such shall one day vindicate the vigilant and the virtuous

Потребителски аватар
2GOOD
The Big Boss
Мнения: 1515
Регистриран: 06.09.2007, 00:31
Мишка: Logitech G5
Местоположение: Panet Mars
Аватарът на 2GOOD
Зареждане…

Re: Почистване на стари банове.

Мнение от 2GOOD »

Да много е интересно как човечкия мозък решава един и същи проблем по различен начин, стремейки се винаги да опрости нещатата, последно анхито ме изненада положително с едно негово решение за плъгин за нашата верига, обещал съм да си го сложа на тениска... както и да на темата. Винаги съм (сме) отворени за нови неща това което ти предлагаш не е лошо, но трябва да се реши кой да мести бан от едната таблица в другата и кога да го прави това :think:

Относно бързината, тази база е качена на хостинг компания, тамошния сървър се справя доста добре със заявките.

Потребителски аватар
aXNJI
CS Admin, Jr.
Мнения: 692
Регистриран: 25.08.2011, 12:11
Ник в CS: aXNJI

Re: Почистване на стари банове.

Мнение от aXNJI »

Ами.... моето предложение е автоматично преместване. Но за mysql.... мисля че не може да се следи за изтичане на бан, той се проверява чрез заявка от сървъра нали? Така че с таймер не мисля че ще стане.

Другия вариант е при рестарт на сървъра. Плясва се една проверка, всички с флаг фолс за активни банове се мятат в другата таблица. Рестарти пак се правят по-често пък и с атаките към веригата, даже ще ни правят услуга като почистват таблицата от изтеклите банове :lol:
ИзображениеИзображение
The only verdict is vengeance A vendetta held as a votive not in vain
for the value and veracity of such shall one day vindicate the vigilant and the virtuous

Потребителски аватар
2GOOD
The Big Boss
Мнения: 1515
Регистриран: 06.09.2007, 00:31
Мишка: Logitech G5
Местоположение: Panet Mars
Аватарът на 2GOOD
Зареждане…

Re: Почистване на стари банове.

Мнение от 2GOOD »

То може да се направи всяка минута да го преви през cron не е там въпроса ;)

Потребителски аватар
aXNJI
CS Admin, Jr.
Мнения: 692
Регистриран: 25.08.2011, 12:11
Ник в CS: aXNJI

Re: Почистване на стари банове.

Мнение от aXNJI »

Е... да /аз си мислех като кон с капаци само за mysql :D /, но това е само бавене. Банове не се трупат толкова бързо.
Като гледам за днес бановете, 30 бана от които 6 перм. по 24 временни бана на ден, грубо казано 30+-
Така че според мен една проверка или на рестарт на сървъра или да е 1 път месечно е напълно достатъчно.
ИзображениеИзображение
The only verdict is vengeance A vendetta held as a votive not in vain
for the value and veracity of such shall one day vindicate the vigilant and the virtuous

Потребителски аватар
2GOOD
The Big Boss
Мнения: 1515
Регистриран: 06.09.2007, 00:31
Мишка: Logitech G5
Местоположение: Panet Mars
Аватарът на 2GOOD
Зареждане…

Re: Почистване на стари банове.

Мнение от 2GOOD »

неее има банове за 1 час и те са много

Потребителски аватар
minute
Big Boss
Мнения: 827
Регистриран: 06.09.2010, 19:05
Мишка: MSI g-series
Местоположение: Някъде там в северозапада :-)

Re: Почистване на стари банове.

Мнение от minute »

Могат да се разделят, но не виждам смисъл :-). С това само ще си усложним живота :-), за сметка на процесорно време на хостинг компанията за която, честно казано не ми пука, те са си прибрали кинтите следователно ще им мъчим машините :-). Проблем според мен, ще е, че няма да може да се прави справката за изтекли банове от сървърите и ще отпадне това предупреждение, че еди кой си има 6 бана примерно, или поне няма да стане без пренаписване на плъгинга, но дори и тогава ще трябва да се инициализира още една връзка към базата за да се направи проверка по втория критерии за изтекли банове и се повишава степента на грешка. Ако се откажем от предупреждението в сървърите мисля, че другото може да се направи, но ще трябва да се пренапише и WEB приложението което е във форума (не е толкова трудно, но иска време) и ако решим да ъпгрейднем системата до следваща версия ще почнат проблемите :-).

ЕДИТ: Ако искате може да се напише едно скриптче което веднъж месечно да трие бановете за един месец от преди една година, така ще имаме статистика за банове от последната година и ще са горе долу константна цифра, смисъл няма да нарастват кой знае колко бързо.
"Не падай духом, за да не духаш паднал!"
Изображение

Потребителски аватар
aXNJI
CS Admin, Jr.
Мнения: 692
Регистриран: 25.08.2011, 12:11
Ник в CS: aXNJI

Re: Почистване на стари банове.

Мнение от aXNJI »

Както казах не съм наясно как ТОЧНО се правят проверките, но идеята ми беше /ако се правят докато се connect-ва играча/ относно бързината с която той се свързва към сървъра. И без това се правят 2 проверки, само че първата която е за активни банове да се направи по време на свързването и ако няма актовен бан да си влезе в сървъра пък дали старите банове ще се изпишат 5-10 сек след това не виждам какво ще пречи.

Или както казах ако не е в 2 таблици, просто при проверката на IP/Steam ако срещне бан тогава да се провери флага за активност дали е 1 или 0. Ако е 1 ясно, ако е 0 да увеличи брояча за предишните банове. Просто да се направи една заявка по-малко :)
ИзображениеИзображение
The only verdict is vengeance A vendetta held as a votive not in vain
for the value and veracity of such shall one day vindicate the vigilant and the virtuous

Отговори