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

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

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

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

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

Раздел для общения на любые темы, для которых не нашлось места в остальных разделах. Если Вашу тему можно отнести по смыслу к другому разделу, лучше создайте её там, иначе Вас накажут.

В данном форуме немного понижены требования к Общим правилам форума, а именно:
1. Информативность темы
2. Отходить от первоначального смысла темы

!
В разделе запрещено создавать темы связанные с раскруткой игровых серверов
2 страниц V   1 2

Войти на сервер

Статус пользователя Vasabla
сообщение 17.5.2014, 23:19
Сообщение #1


Стаж: 14 лет

Сообщений: 97
Благодарностей: 35
Полезность: 276

Буду премного благодарен, если вы зайдёте на сервер connect cstest1.sho0ter.info
Это не пиар проекта, сервер тестовый с ботами, нужно просто заполнить базу данных по максимуму для разработки Unique ID Provider
Играть не обязательно, хватит просто зайти, побыть на нём 10 сек. и выйти
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 4 раз
   Цитировать сообщение
Статус пользователя Mikasa
сообщение 17.5.2014, 23:45
Сообщение #2
Стаж: 12 лет

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

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

Убило, ахах.

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Vasabla
сообщение 17.5.2014, 23:45
Сообщение #3


Стаж: 14 лет

Сообщений: 97
Благодарностей: 35
Полезность: 276

Цитата(TouchDev1l @ 18.5.2014, 0:45) *
Убило, ахах.


Ну ведь надо же длинные причины банов проверить?)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Mikasa
сообщение 17.5.2014, 23:46
Сообщение #4
Стаж: 12 лет

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

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

Цитата(Vasabla @ 18.5.2014, 0:45) *
Ну ведь надо же длинные причины банов проверить?)

Действительно. crazy.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Justmw
сообщение 18.5.2014, 0:01
Сообщение #5
Стаж: 12 лет

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

Некоторых побаним, надеюсь вы не против :D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Adrenal1n4ik
сообщение 18.5.2014, 0:23
Сообщение #6


Стаж: 12 лет

Сообщений: 379
Благодарностей: 178
Полезность: 348

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

А что это за веб часть, можно ссылочку на неё
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Justmw
сообщение 18.5.2014, 0:30
Сообщение #7
Стаж: 12 лет

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

Цитата(Adrenal1n4ik @ 18.5.2014, 1:23) *
А что это за веб часть, можно ссылочку на неё

В первом посте есть же
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Adrenal1n4ik
сообщение 18.5.2014, 0:32
Сообщение #8


Стаж: 12 лет

Сообщений: 379
Благодарностей: 178
Полезность: 348

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

Цитата(Justmw @ 18.5.2014, 1:30) *
В первом посте есть же

Ясно, ну прикольная мне нравится
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 18.5.2014, 6:08
Сообщение #9
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Забань меня
Код
_uip                2z@y~Lhy
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 18.5.2014, 8:39
Сообщение #10
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Цитата(UIP)
нет, это не супербан номер 2, это нечто иное, без тележки костылей

Вместо тележки появился целый вагон.

Код
[Unknown] "disconnect; connect 188.226.224.20:27015 2008096217": Blocked
[Unknown] "Connect": Block
[Unknown] "setinfo "_gm" ""; setinfo "_src" ""; setinfo "ah" ""; setinfo "_ah" ""; setinfo "_dm" ""; setinfo "src" ""; setinfo "model" ""; setinfo "sig" ""; setinfo "_uip" "2z@y~Lhy"": Blocked

Для всех команд используется метод STUFFCMD Острога, который уже заблочен в новых протекторах.

Код
[Unknown] ScanList: Invalid string hash.
[Unknown] "": Not blocked
Redirecting connection to 217.12.206.217:28015; setinfo "uip" "1

Без палева прям.

Цитата(UIP)
нет, это не супербан номер 2

Да ладно? Как и SuperBan, эта штука использует куки. Куки задаются через MOTD, но если заблокать MOTD играть на сервере не дадут.

Для обхода нужно очищать куки в Internet Explorer, менять ник, steamid и CDKey.

Код
UIP > NAME > STEAMID > CDKEY > IP > COOCKIES

2z$&|Y8# Overseer STEAM_2:0:758795495 cfa6665cbb46f499c1b8e918202a61e7 89.146.72.131
    Set-Cookie: uip_id=_W; expires=Tue, 19-Jan-2038 03:14:07 GMT; Max-Age=747089676
    Set-Cookie: uip_pass=%3DM%3AqWws%26w%5CQiFkrUP%2BBFjR.5yad%286zNix%26u8%3A%3AEM; expires=Tue, 19-Jan-2038 03:14:07 GMT; Max-Age=747089676
2z${?ZGS Jim Raynor STEAM_2:0:101458754 624fc2ed662a36aa4f6252a9523dffda 89.146.72.131
    Set-Cookie: uip_id=_X; expires=Tue, 19-Jan-2038 03:14:07 GMT; Max-Age=747089471
    Set-Cookie: uip_pass=%3Da%5E3vIqm%7E%21%232CKuM%2A%21D5%3BCjc%3CB%3FWFSxZ3tZq4%7Egs; expires=Tue, 19-Jan-2038 03:14:07 GMT; Max-Age=747089471
2z$.~&wt Kerrigan STEAM_2:0:794298129 a1495c958c1bf6e2118eebb3168694b5 89.146.72.131
    Set-Cookie: uip_id=_Y; expires=Tue, 19-Jan-2038 03:14:07 GMT; Max-Age=747089345
    Set-Cookie: uip_pass=Gvd%3D%2BN%7C%5EKZ_Q2hO-8tOMg.Q%7D%24b%40k%60eD%26QeNMX%7E%7C; expires=Tue, 19-Jan-2038 03:14:07 GMT; Max-Age=747089345
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Johnny
сообщение 18.5.2014, 10:33
Сообщение #11


Стаж: 13 лет

Сообщений: 2470
Благодарностей: 1086
Полезность: 515

Цитата(serfreeman1337 @ 18.5.2014, 10:39) *
Для обхода нужно очищать куки в Internet Explorer, менять ник, steamid и CDKey.

Тут то и весь сыр, скорее всего.
Не каждый будет это делать, просто пойдет на новый сервер.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Vasabla
сообщение 18.5.2014, 11:57
Сообщение #12


Стаж: 14 лет

Сообщений: 97
Благодарностей: 35
Полезность: 276

serfreeman1337,
А еще менять менять место жительства, а лучше вообще свалить из страны. Могу специально для тебя выдать бан только по IP. Или не по комбинации индентификаторов, а по каждом отдельно. Еще могу засрать тебе кофиг. А если не дашь засрать -- бужет кикать из сервера. Или может подсадить DLLку, которая будет генерировать уникальный ID по HWID? Возможно, для таких как ты и реализуем такое.
P.S. SVC_BAD не словил, когда заблочил connect?
P.S.2. Банс получился побочным продуктом. Основная цель (по крайней мере было) -- авторизировать нонстимовцев, чтобы можно было хранить различные данные по уникальным ID.

Отредактировал: Vasabla, - 18.5.2014, 12:02
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 18.5.2014, 16:31
Сообщение #13
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Цитата(Vasabla @ 18.5.2014, 14:57) *
P.S. SVC_BAD не словил, когда заблочил connect?

Каждый 2ой коннект выбивало.

svc_bad
Код
Last 32 messages parsed.
20082 4615 svc_lightstyle
20082 4618 svc_lightstyle
20082 4621 svc_lightstyle
20082 4624 svc_lightstyle
20082 4627 svc_lightstyle
20082 4630 svc_lightstyle
20082 4633 svc_lightstyle
20082 4636 svc_lightstyle
20082 4639 svc_lightstyle
20082 4642 svc_lightstyle
20082 4645 svc_lightstyle
20082 4648 svc_lightstyle
20082 4651 svc_lightstyle
20082 4654 svc_lightstyle
20082 4657 svc_lightstyle
20082 4660 svc_lightstyle
20082 4663 svc_lightstyle
20082 4666 svc_lightstyle
20082 4669 svc_lightstyle
20082 4672 svc_lightstyle
20082 4675 svc_lightstyle
20082 4678 svc_lightstyle
20082 4681 svc_lightstyle
20082 4684 svc_lightstyle
20082 4687 svc_lightstyle
20082 4690 svc_lightstyle
20082 4694 svc_setangle
20082 4701 svc_choke
20082 4702 svc_setangle
20082 4709 svc_clientdata
20082 4710 StatusText
BAD:  4716:svc_bad
Host_Error: CL_ParseServerMessage:


Цитата(Vasabla @ 18.5.2014, 14:57) *
Основная цель (по крайней мере было) -- авторизировать нонстимовцев, чтобы можно было хранить различные данные по уникальным ID.

Есть же SteamID. Добавим соли и он будет уникальным.

Цитата(Johnny @ 18.5.2014, 13:33) *
Тут то и весь сыр, скорее всего.
Не каждый будет это делать, просто пойдет на новый сервер.


Ну так и не каждый будет менять SteamID. Обычному читеру это и не нужно - "просто пойдет на новый сервер".
Если игрок реально хочет поднасрать серверу, то он найдет способ обойти бан.

Отредактировал: serfreeman1337, - 18.5.2014, 16:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Vasabla
сообщение 18.5.2014, 16:40
Сообщение #14


Стаж: 14 лет

Сообщений: 97
Благодарностей: 35
Полезность: 276

Цитата(serfreeman1337 @ 18.5.2014, 17:31) *
Каждый 2ой коннект выбивало.

svc_bad
Код
Last 32 messages parsed.
20082 4615 svc_lightstyle
20082 4618 svc_lightstyle
20082 4621 svc_lightstyle
20082 4624 svc_lightstyle
20082 4627 svc_lightstyle
20082 4630 svc_lightstyle
20082 4633 svc_lightstyle
20082 4636 svc_lightstyle
20082 4639 svc_lightstyle
20082 4642 svc_lightstyle
20082 4645 svc_lightstyle
20082 4648 svc_lightstyle
20082 4651 svc_lightstyle
20082 4654 svc_lightstyle
20082 4657 svc_lightstyle
20082 4660 svc_lightstyle
20082 4663 svc_lightstyle
20082 4666 svc_lightstyle
20082 4669 svc_lightstyle
20082 4672 svc_lightstyle
20082 4675 svc_lightstyle
20082 4678 svc_lightstyle
20082 4681 svc_lightstyle
20082 4684 svc_lightstyle
20082 4687 svc_lightstyle
20082 4690 svc_lightstyle
20082 4694 svc_setangle
20082 4701 svc_choke
20082 4702 svc_setangle
20082 4709 svc_clientdata
20082 4710 StatusText
BAD:  4716:svc_bad
Host_Error: CL_ParseServerMessage:

Тадааам

Цитата(serfreeman1337 @ 18.5.2014, 17:31) *
Есть же SteamID. Добавим соли и он будет уникальным.

Цитата
Топ 5 эмуляторов (по данным 200 игроков):
RevEmu (49.50%)
Steam (42.50%)

Все остальные презрительно посмотрели в твою сторону. (На самом деле игроков со STEAM ID сгенерированном по IP больше).
P.S. А если у тебя дома 2 компа?

Отредактировал: Vasabla, - 18.5.2014, 16:47
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 18.5.2014, 16:48
Сообщение #15
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Всё решается небольшой настройкой dproto.
Код
# for p.47 clients that do not support unique id generation (default is STEAM_ID_LAN [8] )
cid_NoSteam47 = 5

# for p.48 clients that do not support unique id generation (default is VALVE_ID_LAN [10] )
cid_NoSteam48 = 5

На нормальных серверах уже давно запретили вход без эмулятора, а некоторые из них еще и предлагают игроку обновится с его устаревшей сборки.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Vasabla
сообщение 18.5.2014, 16:51
Сообщение #16


Стаж: 14 лет

Сообщений: 97
Благодарностей: 35
Полезность: 276

Цитата(serfreeman1337 @ 18.5.2014, 17:48) *
Всё решается небольшой настройкой dproto.
Код
# for p.47 clients that do not support unique id generation (default is STEAM_ID_LAN [8] )
cid_NoSteam47 = 5

# for p.48 clients that do not support unique id generation (default is VALVE_ID_LAN [10] )
cid_NoSteam48 = 5

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

А некоторые (т.е. мы) позволяем им играть. Или ты думаешь, что каждый игрок вообще соображает что такое эмулятор? О скачал какую-то кс через гугл и играет.

И вопрос без ответа: P.S. А если у тебя дома 2 компа? RevEmu генерит по HWID.

Отредактировал: Vasabla, - 18.5.2014, 16:52
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 18.5.2014, 16:56
Сообщение #17
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Цитата(Vasabla @ 18.5.2014, 19:51) *
А некоторые (т.е. мы) позволяем им играть. Или ты думаешь, что каждый игрок вообще соображает что такое эмулятор? О скачал какую-то кс через гугл и играет.
И вопрос без ответа: P.S. А если у тебя дома 2 компа? RevEmu генерит по HWID.


В гугле как раз на первых позициях всякие бусты и раскрутки, которые используют 48 протокол в своих сборках.
И насчет 2х компов - это скорее всего минус. Я часто играю с батей в кс 1.6 и не очень бы хотел чтобы у нас была общая стата.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Vasabla
сообщение 18.5.2014, 17:01
Сообщение #18


Стаж: 14 лет

Сообщений: 97
Благодарностей: 35
Полезность: 276

Цитата(serfreeman1337 @ 18.5.2014, 17:56) *
В гугле как раз на первых позициях всякие бусты и раскрутки, которые используют 48 протокол в своих сборках.
И насчет 2х компов - это скорее всего минус. Я часто играю с батей в кс 1.6 и не очень бы хотел чтобы у нас была общая стата.

1. Сейчас? Да. У некоторых стоят сборки 200Х годов. Или ты эти года пропустил? У меня даже сейчас стоит на компе КС с 21 патчем.
2. У вас и не будет общей статы, если он хотя бы 1 раз заходил на сервер до того, как ты зашёл с его компа.
А вот у меня, к примеру, есть и комп и ноут, с обеих играю только я. STEAM IDы разные с RevEmu.

Отредактировал: Vasabla, - 18.5.2014, 17:02
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 19.5.2014, 5:15
Сообщение #19
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Апать нельзя.

serfreeman1337 дело говорит good.gif
Vasabla, не вижу смысла в твоей затее, но тебе решать, на что тратить время good.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Vasabla
сообщение 19.5.2014, 11:29
Сообщение #20


Стаж: 14 лет

Сообщений: 97
Благодарностей: 35
Полезность: 276

Цитата(Developer @ 19.5.2014, 6:15) *
Vasabla, не вижу смысла в твоей затее, но тебе решать, на что тратить время good.gif

Прост люди смотрят слишком узко. Это ведь не просто банс. Это связка модулей (сейчас их 8) которые предоставляют API для других плагинов.
Чтобы стало понятноее что это, опишу модули:
MySQL: Управляет подключением в MySQL, ничего особенного.
API
Код:
/*
* Вызывается при изменении стотояния MySQL
*
* Параметр Handle tuple Данные для подключения к MySQL
* Параметр Handle connection Подключение к MySQL
* Параметр bool is_available Доступна ли сейчас база данных
*
* Возвращаемые значение игнорирует
*/
forward uip_mysql_status_changed(Handle:tuple, Handle:connect, bool:is_available);

/*
* Проверяет возможность подключения к MySQL и записывает ошибку Thread-запроса в лог
*
* Параметр Handle:query Указатель на запрос
* Параметр string error_text Текст ошибки
* Параметр int error_code Код ошибки
* Параметр int fail_sate Причина ошибки (см. sqlx.inc)
* Параметр string module Названия модуля
*
* Ничего не возвращает
*/
native uip_mysql_thread_error(Handle:query, const error_text[], error_code, fail_state = TQUERY_QUERY_FAILED, const module[]);

/*
* Проверяет возможность подключения к MySQL и записывает ошибку Execute-запроса в лог
*
* Параметр Handle:query Указатель на запрос
* Параметр string module Названия модуля
*
* Ничего не возвращает
*/
native uip_mysql_execute_error(Handle:query, const module[]);

/*
* Добавляет данные в статистику запросов
*
* Параметр int count Количество запросов
* Параметр Float seconds Затраченное время
*
* Ничего не возвращает
*/
native uip_mysql_push_stats(count, Float:seconds);

/*
* Callback-функция для Thread-запросов, которые не требуют обработки результата
*/
public uip_mysql_callback(fail_state, Handle:query, const error_text[], error_code, const data[], size, Float:seconds) {
if(fail_state) {
uip_mysql_thread_error(query, error_text, error_code, fail_state, __UIP_MODULE_NAME__);
} else {
uip_mysql_push_stats(1, seconds);
}
}


Lang: управляет языками и переводами. Все переводы лежат в MySQL, можно редактировать через веб-сайт. Менюшка выбора языка для игроков (т.е. замена multilingual)
API
Код:
/*
* Запрашивает загрузку перевода
* Перевод должен лежать в файле %data%/lang/uip/%module%.lng или в базе данных
*
* Параметр string module Название модуля
*
* Ничего не возвращает
*/
native uip_lang_load(const module[]);


Config: управляет настройками модулей. Все настройки, опять же, лежат в MySQL, можно редактировать через веб-сайт. Делает бекап в файл, позвоялет изменять на лету.
API
Код:
/*
* Вызывается, когда конфиг загружен
* Советую использовать этот форвард для конфигурации модулей
* Поскольку функции set/get медленные
*
* Параметр string module Модуль, для которого предназначена конфигурация
* Параметр string key Ключ
* Параметр string value Значение
*
* Позвращаемые значения игнорирует
*/
forward uip_config_loaded(const module[], const key[], const value[]);

/*
* Запрашивает загрузку конфигурации модуля
* Конфиг должен иметь путь %configs%/uip/%module%.cfg либо храниться в базе данных
*
* Параметр string module Название модуля
*
* Ничего не возвращает
*/
native uip_config_load(const module[]);

/*
* Проверяет существует ли конфигурация
*
* Параметр string module Название модуля
* Параметр string key Ключ, можно не указывать, чтобы проверить загружена ли вообще конфигурация для модуля
*
* Возвращает bool true или false
*/
native bool:uip_config_exists(const module[], const key[] = "");

/***** !!! ВАЖНО !!! *****

uip_config_(get/set)_*() сделаны "на всякий случай" и работают сравнительно медленно!
get еще терпимо, но к set нужно относиться очень осторожно, особенно к параметру save
Предпочтительно кэшировать настройки у себя в модуле из uip_coinfig_loaded()

***** !!! ВАЖНО !!! *****/

/*
* Получает числовое значение настройки
*
* Параметр string module Название модуля
* Параметр string key Ключ
*
* Возвращает int Значение настройки
*/
native uip_config_get_int(const module[], const key[]);

/*
* Получает значение настройки с плавающей запятой
*
* Параметр string module Название модуля
* Параметр string key Ключ
*
* Возвращает Float Значение настройки
*/
native Float:uip_config_get_float(const module[], const key[]);

/*
* Получает значение настройки в виде строки
*
* Параметр string module Название модуля
* Параметр string key Ключ
* Параметр string value Переменная, куда сохранить строку
* Параметр int len Максимальная длинна строки
*
* Возвращает int Длинна настройки
*/
native uip_config_get_string(const module[], const key[], value[], len);

/*
* Задает числовое значение настройки
*
* Параметр string module Название модуля
* Параметр string key Ключ
* Параметр int value Значение
* Параметр int save Как сохранить изменение? (см. Начало файла)
* Параметр int global Как глобально сохранить изменение? (см. Начало файла)
* Параметр bool pending Отложить сохранение настройки до вызова uip_config_save()
*
* Ничего не возвращает
*/
native uip_config_set_int(const module[], const key[], value, save = UIP_CONFIG_SAVE_NONE, global = UIP_CONFIG_GLOBAL_SAME, bool:pending = true);

/*
* Задает значение настройки с плавающей запятой
*
* Параметр string module Название модуля
* Параметр string key Ключ
* Параметр Float value Значение
* Параметр int save Как сохранить изменение? (см. Начало файла)
* Параметр int global Как глобально сохранить изменение? (см. Начало файла)
* Параметр bool pending Отложить сохранение настройки до вызова uip_config_save()
*
* Ничего не возвращает
*/
native uip_config_set_float(const module[], const key[], Float:value, save = UIP_CONFIG_SAVE_NONE, global = UIP_CONFIG_GLOBAL_SAME, bool:pending = true);

/*
* Задает значение настройки строкой
*
* Параметр string module Название модуля
* Параметр string key Ключ
* Параметр string value Значение
* Параметр int save Как сохранить изменение? (см. Начало файла)
* Параметр int global Как глобально сохранить изменение? (см. Начало файла)
* Параметр bool pending Отложить сохранение настройки до вызова uip_config_save()
*
* Ничего не возвращает
*/
native uip_config_set_string(const module[], const key[], const value[], save = UIP_CONFIG_SAVE_NONE, global = UIP_CONFIG_GLOBAL_SAME, bool:pending = true);

/*
* Сохраняет отложенные изменения настроек
*
* Не принимает параметров
*
* Ничего не возвращает
*/
native uip_config_save();


Server: авторизирует сервер, выдаёт через API уникальный идентификатор, по которому можно хранить различные данные в MySQL (напр. мониторинг)
API
Код:
/*
* Сервер авторизировался
*
* Параметр int id Индекс сервера в базе данных
* Параметр string salt Уникальная соль сервера для хэш-функций
*
* Возвращаемое значение игнорирует
*/
forward uip_server_authorized(id, const salt[]);

/*
* Вызывается, когда сервер де-авторизировался
* В нормальных условиях вызов идет из plugin_end()
*
* Не передает параметров
*
* Возвращаемое значение игнорирует
*/
forward uip_server_unauthorized();


Players: авторизирует игроков, выдаёт уникальный идентификатор, по которому можно хранить различные данные в MySQL.
API
Код:
/*
* Игрок прислал пакет подключения
*
* Параметр string name Имя игрока
* Параметр string cdkey CD-Key
*
* Позвращаемые значения игнорирует
*/
forward uip_player_connection(const name[], const cdkey[]);

/*
* CD-Key присвоен игроку
*
* Параметр int id Индекс игрока
* Параметр string cdkey CD-Key
*
* Позвращаемые значения игнорирует
*/
forward uip_player_cdkey(id, const cdkey[]);

/*
* Игрок прошёл авторизацию
*
* Параметр int id Индекс игрока
* Параметр int account Номер аккаунт
*
* Позвращаемые значения игнорирует
*/
forward uip_player_authorized(id, account);

/*
* Игрок вышел с аккаунта
* В нормальных условиях вызывается из client_disconnect()
*
* Параметр int id Индекс игрока
*
* Позвращаемые значения игнорирует
*/
forward uip_player_unauthorized(id);

/*
* Игрока не удалось авторизировать
*
* Параметр int id Индекс игрока
*
* Позвращаемые значения игнорирует
*/
forward uip_player_failed(id);

/*
* Возврашает номер аккаунта игрока
*
* Параметр int id Индекс игрока
*
* Возвращает int Номер аккаунта или 0
*/
native uip_get_player_id(id);


Privileges: Привилегии пользователей. Замена понятия "админка" на "привилегия". Выдаёт флаги доступа пакетами (т.е. пресетами) на определённое время (снимает прям на сервере). Можно выдавать несколько привилений на 1 аккаунт с разным временем действия (будут скомбинированные флаги). Можно активировать/продлевать привилегии ключами. Можно выдавать глюбально/локально. Есть бекап в файл.
API
Код:
/*
* Игрок получил привилегии
*
* Параметр int id Индекс игрока
* Параметр bool cache Авторизирован из кэша?
*
* Возвращаемое значение игнорирует
*/
forward uip_privilege_authorized(id, bool:cache);

/*
* У одной из привилегий закончился срок действия
*
* Параметр int id Индекс игрока
*
* Возвращаемое значение игнорирует
*/
forward uip_privilege_expired(id);

/*
* Игрок активировал привилегию
*
* Параметр int id Индекс игрока
*
* Возвращаемое значение игнорирует
*/
forward uip_privilege_activated(id);

/*
* Получает остаток времени флагов
*
* Параметр int id Индекс игрока
* Параметр int flags Флаги (можно несколько, учитываються все сразу!)
*
* Возвращает int Секунды или UIP_PT_INFINITE
*/
native uip_get_flags_timeleft(id, flags);

/*
* Получает остаток времени флагов в виде остатка времени
*
* Параметр int id Индекс игрока
* Параметр int flags Флаги (можно несколько, учитываються все сразу!)
* Параметр int lang Индекс игрока, для которого форматировать остаток (LANG_* или id)
* Параметр string output Переменная, куда сохранить вывод
* Параметр int len Максимальная длинна результата
*
* Возвращает int Длинна результата
*/
native uip_get_flags_timeleft_length(id, flags, lang, output[], len);

/*
* Пере-авторизирует игрока
*
* Параметр int id Индекс игрока
*
* Ничего не возвращает
*/
native uip_privileges_force_reauth(id);


Servers: мониторинг серверов, менюшка редиректа. Умеет редиректить с полного сервера. Есть возможность ожидания слота/включения сервера. Есть возможность задать приоритет выбора сервера для редиректа.
API
Код:
// Статус сервера
#define UIP_SI_SERVER_FULL -1 // Переполнен
#define UIP_SI_SERVER_OFFLINE -2 // Выключен
#define UIP_SI_SERVER_THIS -3 // Этот
#define UIP_SI_SERVER_INVALID -4 // Ошибка
#define UIP_SI_SERVER_PASSWORDED -5 // Под паролем

// Ячейки информации о сервере
enum uip_serverinfo_cell {
UIP_SI_QNUIQUE_ID, // Уникальный индекс
UIP_SI_PLAYERS, // Количество игроков
UIP_SI_SLOTS, // Количество слотов
UIP_SI_ONLINE // Включен ли он?
};

enum uip_serverinfo_string {
UIP_SI_NAME, // Имя
UIP_SI_IP, // IP
UIP_SI_MAP, // Карта
UIP_SI_PASSWORD // Пароль
}

/*
* Игрок будет перенаправлен на другой сервера
*
* Параметр int id Индекс игрока
* Параметр int server Локальный индекс сервера
* Параметр bool manual Игрок сам перенаправил себя?
* Параметр int uid Уникальный индекс сервера
*
* Прерывается на UIP_STOP
*/
forward uip_servers_redirecting(id, server, bool:manual, uid);

/*
* Список серверов обновлён
*
* Параметр int count Количество серверов
*
* Возвращаемое значение игнорирует
*/
forward uip_servers_updated(count);

/*
* Игрок был перенаправлен сюда с другого сервера
*
* Параметр int id Индекс ирока
* Параметр int server Локальный индекс сервера
* Параметр int uid Уникальный индекс сервера
*
* При возврате UIP_STOP меню возврата не будет отображено
*/
forward uip_servers_redirected_from(id, server, uid);

/*
* Получает cell-значение информации о сервере
*
* Параметр int id Индекс сервера
* Параметр uip_serverinfo_cell column Ячейка информации
* Параметр bool uid Передан уникальный индекс сервера?
*
* Возвращает cell Значение или 0
*/
native any:uip_get_server_info_cell(id, uip_serverinfo_cell:column, bool:uid = false);

/*
* Получает строковое значение информации о сервере
*
* Параметр int id Индекс сервера
* Параметр uip_serverinfo_string column Ячейка информации
* Параметр string output Переменная, куда сохранить значения
* Параметр int len Максимальная длинна значения
* Параметр bool uid Передан уникальный индекс сервера?
*
* Возвращает int Размер значения
*/
native uip_get_server_info_string(id, uip_serverinfo_string:column, output[], len, bool:uid = false);

/*
* Устанавливает cell-значение информации о сервере
*
* Параметр int id Индекс сервера
* Параметр uip_serverinfo_cell column Ячейка информации
* Параметр any value Значение
* Параметр bool uid Передан уникальный индекс сервера?
*
* Возвращает bool true или false
*/
native bool:uip_set_server_info_cell(id, uip_serverinfo_cell:column, any:value, bool:uid = false);

/*
* Устанавливает строковое значение информации о сервере
*
* Параметр int id Индекс сервера
* Параметр uip_serverinfo_string column Ячейка информации
* Параметр string value Значение
* Параметр bool uid Передан уникальный индекс сервера?
*
* Возвращает bool true или false
*/
native bool:uip_set_server_info_string(id, uip_serverinfo_string:column, const value[], bool:uid = false);

/*
* Получает статус сервера
*
* Параметр int id Индекс сервера
* Параметр bool uid Передан уникальный индекс сервера?
*
* Возвращает int Статус сервера или локальный индекс (>= 0)
*/
native uip_get_server_status(id, bool:uid = false);

/*
* Получает локальный индекс сервера
*
* Параметр int uid Уникальный индекс сервера
*
* Возвращает int Локальный индекс сервера или UIP_SI_SERVER_INVALID
*/
native uip_get_server_id(uid);

/*
* Обновляет список серверов
*
* Не принимает параметров
*
* Ничего не возвращает
*/
native uip_force_servers_update();

/*
* Перенаправляет игрока на другой сервер
* Может быть прервано в uip_servers_redirecting()
*
* Параметр int id Индекс игрока
* Параметр int server Индекс сервера
* Параметр bool manual Игрок сам перенаправил себя?
* Параметр bool uid Передан уникальный индекс сервера?
*
* Возвращает bool true или false
*/
native uip_force_client_redirect(id, server, bool:maunal = false, bool:uid = false);


Bans: Система банов. Ввод/выбор времени и причины. Можно ограничить время бана и причины по флагам. Можно банить как на одном так и на всех серверах. Меню откоючённых игроков. Скриншот. Компактное и расширенное (пошаговое) меню.
.inc файл еще не слепил.

Всё это уже написано, сейчас делаем веб-морду.

P.S. А для любителей солёных стимидов - всё это задумывалось, когда солей в дпрото еще и впланах не было.

Отредактировал: Vasabla, - 19.5.2014, 12:28
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: