Инструкция по установке и настройке SourceBans

Johan 76

Участник
Сообщения
5
Реакции
1
Подскажите, что необходимо сделать и где изменить IP-адрес, при переносе установленной базы данных MySQL с одного IP-адреса на другой без полной переустановки Sourcebana.
И возможно ли это в принципе? Не затрется ли база данных?
Или проще сделать бэкап, установить заново Sourceban и подтянуть данные с бэкапа?
Простое изменение IP в файле config.php не помогает.
 
Последнее редактирование:

The Night Fury

Участник
Сообщения
1,300
Реакции
1,395
Johan 76, зачем? Используй дамп БД, создай новую, а старые файлы закинь на новый хост. При условии, что адрес БД = localhost, ты можешь ничего не менять. Если используешь выделенный адрес, то после вставки дампа в новую БД смени у всех серверов и в config.php адрес до сервера с БД.
 

The Slavik

Участник
Сообщения
437
Реакции
49
Может кому интересно будет или кто не знает, то если вы хотите в своем банлисте изменить ссылки (пишутся внизу слева и справа) на свои, то вам нужно будет пройти в папку темы (themes) ваша тема или дефолтная и найти файл - page_footer.tpl - и открыть его обычным notepad++ и изменить сайт на свой.
 

R1KO

fuck society
Сообщения
9,460
Реакции
7,798
А можно сделать в одной СБ разные банлисты на разные сервера ?
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
r1ko, фактически можно, если переписать серверный плагин, чтобы он искал не любой бан, а только бан с нужного сервера или веб-бан. Что-то похожее уже было в SourceComms...
 

R1KO

fuck society
Сообщения
9,460
Реакции
7,798
r1ko, фактически можно, если переписать серверный плагин, чтобы он искал не любой бан, а только бан с нужного сервера или веб-бан. Что-то похожее уже было в SourceComms...

Просто может переделать так, чтобы баны писались в разные таблицы ? Например, sb_bans_<индекс сервера>, а потом так же искались.
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Просто может переделать так, чтобы баны писались в разные таблицы ? Например, sb_bans_<индекс сервера>, а потом так же искались.

Зачем? Там же и так пишется индекс сервера, на котором был выдан бан, если банился на сервере, а не в веб-части. Фактически, в функции
public OnClientAuthorized(client, const String:auth[])
где идет
FormatEx(Query, sizeof(Query), "SELECT bid FROM %s_bans WHERE ((type = 0 AND authid REGEXP '^STEAM_[0-9]:%s$') OR (type = 1 AND ip = '%s')) AND (length = '0' OR ends > UNIX_TIMESTAMP()) AND RemoveType IS NULL", DatabasePrefix, auth[8], ip);
надо изменить запрос, чтобы еще и sid проверялся на соответствие sid'у из конфига, либо если sid=0 (веб-бан).
Я в SQL пока не достаточно разбираюсь, поэтому не могу сказать точно как изменить
 
  • Мне нравится
Реакции: R1KO

R1KO

fuck society
Сообщения
9,460
Реакции
7,798
Vaio, Еще бы с веб разобраться теперь)
 

R1KO

fuck society
Сообщения
9,460
Реакции
7,798
А что разбираться.. Открываешь sourcebans.sp, заменяешь, компилируешь.. Сейчас возможно попозже сам сделаю подобное...

Я про веб говорю)

Чтобы вверху были вкладки на банлисты разных серверов. Как добавлять вкладки я знаю, а вот как это осущестивить... Хотя, в принципе, оно и не нужно.
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Я про веб говорю)

Чтобы вверху были вкладки на банлисты разных серверов. Как добавлять вкладки я знаю, а вот как это осущестивить... Хотя, в принципе, оно и не нужно.

Легко - index.php?p=banlist&advSearch=2&advType=where_banned
advSearch=2 - это ID сервера (2), 0 - web-бан
 
  • Мне нравится
Реакции: R1KO

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Как запилить, например, есть 2 сервера в34 и 4 в77, надо сделать отдельно на в34 и на в77 ?

Если честно, в такой ситуации гораздо проще две разные БД и два веб-интерфейса поставить, ведь админы и баны не пересекаются вообще.. Группые серверов уже реализовывать будет посложнее, там нужно из другой таблицы брать, и то путанница может быть
 
  • Мне нравится
Реакции: R1KO

R1KO

fuck society
Сообщения
9,460
Реакции
7,798
PHP:
FormatEx(Query, sizeof(Query), "
SELECT bid FROM %s_bans 
WHERE ((type = 0 AND authid REGEXP '^STEAM_[0-9]:%s$') OR (type = 1 AND ip = '%s')) 
AND (length = '0' OR ends > UNIX_TIMESTAMP()) 
AND RemoveType IS NULL
AND (sid = '%s' OR sid = 0)
", DatabasePrefix, auth[8], ip, sid);

scripting\sourcebans.sp(331) : error 017: undefined symbol "sid"
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
scripting\sourcebans.sp(331) : error 017: undefined symbol "sid"

Он просто привел пример, и писал для имени в БД а не для плагина. в самом конце измени sid на serverID
(В самом запросе изменять не нужно!)
PHP:
FormatEx(Query, sizeof(Query), "
SELECT bid FROM %s_bans 
WHERE ((type = 0 AND authid REGEXP '^STEAM_[0-9]:%s$') OR (type = 1 AND ip = '%s')) 
AND (length = '0' OR ends > UNIX_TIMESTAMP()) 
AND RemoveType IS NULL
AND (sid = '%s' OR sid = 0)
", DatabasePrefix, auth[8], ip, serverID);
 

R1KO

fuck society
Сообщения
9,460
Реакции
7,798
(В самом запросе изменять не нужно!)

Насчет этого непонял)

Так всё норм скомпилировалось, щас протестирую.
PHP:
FormatEx(Query, sizeof(Query), "
SELECT bid FROM %s_bans 
WHERE ((type = 0 AND authid REGEXP '^STEAM_[0-9]:%s$') OR (type = 1 AND ip = '%s')) 
AND (length = '0' OR ends > UNIX_TIMESTAMP()) 
AND RemoveType IS NULL
AND (sid = '%s' OR sid = 0)
", DatabasePrefix, auth[8], ip, serverID);
 

He11man

Участник
Сообщения
14
Реакции
0
Ребята подскажите как можно сделать чтоб Админка давалась на определенное время допустим на день, неделю, месяц, полгода, год. Или какой плагин это можно сделать?

С помощью какой команды или чего можно посмотреть rate играков, если команда rates не помогает.

p.s. простите я нуб еще в этом))
 
Сверху Снизу