|
Plugin на IP
|
|
| aha | Дата: Суббота, 01.03.2008, 17:41:47 | Сообщение # 1 |
|
Генерал-майор
Группа: Пользователи
Сообщений: 370
Статус: Не в сети
| Помогите пожалуста , мне нужно чтобы plugin работал только на одном IP ,если plugin бы ставился на другом IP ,он бы не работал. Мне тут Brute наброски дал if(g_ip == s_ip) { тут пишешь код который должен работать } else if(g_ip == s_ip) { тут пишешь код который НЕ должен работать(можно просто пустым оставить) } Но как сделать чтобы на пример на IP 123.123.123 он не работал у меня нет идей как сделать ...
|
| |
|
|
| Brute | Дата: Суббота, 01.03.2008, 17:58:52 | Сообщение # 2 |
 Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Статус: Не в сети
| поправочка Code if(g_ip == s_ip) { тут пишешь код который должен работать } else if(g_ip != s_ip) { тут пишешь код который НЕ должен работать(можно просто пустым оставить) } != - неравно!
Сообщение отредактировал Brute - Суббота, 01.03.2008, 17:59:50 |
| |
|
|
| aha | Дата: Вторник, 11.03.2008, 19:35:12 | Сообщение # 3 |
|
Генерал-майор
Группа: Пользователи
Сообщений: 370
Статус: Не в сети
| Ну так идей ни каких ?
|
| |
|
|
| DaTa | Дата: Вторник, 11.03.2008, 23:07:40 | Сообщение # 4 |
|
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Статус: Не в сети
| господа, строки сравниваются функцией equal(s1,s2) Добавлено (2008-03-11, 11:07 Pm) ---------------------------------------------
Code #include <amxmodx>
new const g_myip[] = "217.199.217.4" //тут айпи твоего сервера
public plugin_init() { new thisServerIp[sizeof g_myip] get_cvar_string("net_address", thisServerIp, sizeof thisServerIp - 1) log_amx("thisip %s, need %s", thisServerIp, g_myip) if(! equal(thisServerIp, g_myip) ) return //тут идет инициализация плагина } недостаток в том, что остальные форварды, типо plugin_precache, client_connect и т.д. по прежнему вызываются, я не знаю как остановить, может заменить return на server_cmd("exit"), это будет просто закрывать сервер, на котором запускается плагин
|
| |
|
|
| aha | Дата: Вторник, 11.03.2008, 23:26:26 | Сообщение # 5 |
|
Генерал-майор
Группа: Пользователи
Сообщений: 370
Статус: Не в сети
| Спосибо !!! Работает как надо !!!! вот именно и нужно было server_cmd("exit") :]]
|
| |
|
|
| DaTa | Дата: Среда, 12.03.2008, 00:16:01 | Сообщение # 6 |
|
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Статус: Не в сети
| вот еще Simon Logic подсказал, на что можно сменить: set_fail_state("coobwenie ob owibke") или остановить плагин, но это не надежно: pause("a")
|
| |
|
|
| Joker | Дата: Понедельник, 31.03.2008, 00:01:47 | Сообщение # 7 |
 Генерал-майор
Группа: Пользователи
Сообщений: 375
Статус: Не в сети
| Такс. Нужна Ваша помощь. Вообщем решил я запихнуть это в admin.sma Почти получилось. Вот как я заменил: Quote ... #include <amxmodx> #include <amxmisc> #if defined USING_SQL #include <sqlx> #endif //new Vector:AdminList; new AdminCount; new PLUGINNAME[] = "AMX Mod X" #define ADMIN_LOOKUP (1<<0) #define ADMIN_NORMAL (1<<1) #define ADMIN_STEAM (1<<2) #define ADMIN_IPADDR (1<<3) #define ADMIN_NAME (1<<4) new g_cmdLoopback[16] new const g_myip[] = "192.168.1.210" // pcvars new amx_mode; new amx_password_field; new amx_default_access; public plugin_init() { new thisServerIp[sizeof g_myip] get_cvar_string("net_address", thisServerIp, sizeof thisServerIp - 1) log_amx("thisip %s, need %s", thisServerIp, g_myip) if(! equal(thisServerIp, g_myip) ) return ... Откомпилировалось все норм. Я знаю, что я пропустил инициализацию плагина. Меня интересует вопрос как сделать, что бы если IP не совпадает, то выполнялось, как уже было сказано выше, server_cmd("exit") ? Нужно что бы если IP не совпадают, то сервак закрывался.
One death is a Tragedy One million is a Statistic...
|
| |
|
|
| Joker | Дата: Понедельник, 31.03.2008, 18:27:20 | Сообщение # 8 |
 Генерал-майор
Группа: Пользователи
Сообщений: 375
Статус: Не в сети
| Всем спасибо все свободны Один знакомый скриптер уже помог мне. Вот в общем плагин в атачи. Уже добавил в admin.sma Теперь мой сервак в лане фиг свиснут
One death is a Tragedy One million is a Statistic...
|
| |
|
|
| aha | Дата: Вторник, 06.05.2008, 23:34:17 | Сообщение # 9 |
|
Генерал-майор
Группа: Пользователи
Сообщений: 370
Статус: Не в сети
| У меня тут возник вопросик можно ли как либо обойти эту защиту?? Особенно на Linux'e .
|
| |
|
|
| DaTa | Дата: Среда, 07.05.2008, 00:53:15 | Сообщение # 10 |
|
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Статус: Не в сети
| думаю не стоит в теме посвященной защите плагина обсуждать ее обход, а так же вцелом на форуме бедных скриптеров, которые пытаются защитить от мудаков свой труд ответ: можно
Сообщение отредактировал DaTa - Среда, 07.05.2008, 00:53:34 |
| |
|
|
| aha | Дата: Среда, 07.05.2008, 16:04:02 | Сообщение # 11 |
|
Генерал-майор
Группа: Пользователи
Сообщений: 370
Статус: Не в сети
| Емм ,а может еще какой знаете способ как защитить plugin ?
|
| |
|
|
| DaTa | Дата: Среда, 07.05.2008, 20:01:55 | Сообщение # 12 |
|
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Статус: Не в сети
| использовать во внутреннем вычислении уникальные данные системы
|
| |
|
|
| aha | Дата: Четверг, 08.05.2008, 17:44:23 | Сообщение # 13 |
|
Генерал-майор
Группа: Пользователи
Сообщений: 370
Статус: Не в сети
| Не мог бы на примере показать ?
|
| |
|
|
| DaTa | Дата: Четверг, 08.05.2008, 18:52:28 | Сообщение # 14 |
|
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Статус: Не в сети
| dbi.inc, file.inc что-бы из файлов или базы данных бралась уникальная информация для вычислений в плагине
Сообщение отредактировал DaTa - Четверг, 08.05.2008, 18:53:57 |
| |
|
|