В этой статье мы рассмотрим как можно привязать плагин к IP, hostname, md5 файла plugins.ini, rcon.
Привязка плагина к IP:
[pawn]
- new const ip_Access[3][] = {
- "192.168.0.1",
- "192.168.0.2", //айпи на которые идет привязка
- }
[pawn]
- public plugin_init()
- {
- new PlayServerIP[17], access_found = false
- get_user_ip(0, PlayServerIP, 16, 1)
- for ( new i = 0 ; i < sizeof( ip_Access ) ; i++ )
- {
- if(equal(ip_Access[i], PlayServerIP))
- {
- access_found = true
- break
- }
- }
- if(!access_found)
- server_cmd("exit")
- }
Привязка плагина к hostname:
[pawn]
- public plugin_cfg()
- {
- ... other script ...
- set_task(10.0, "plugin_licensed")
- }
- public plugin_licensed( )
- {
- new hostname[64]
- get_cvar_string( "hostname", hostname, charsmax( hostname ) )
- if( containi( hostname, "часть имени хоста" ) == -1 )
- {
- log_amx( "SERVER IS OFF. REASON: NOT LICENSED PLUGIN!" )
- server_cmd( "exit" )
- }
- }
Привязка плагина к md5 файла plugins.ini:
[pawn]
- public plugin_init()
- {
- new md5hash[34],md5yourhash[34]
- md5_file ( "addons/amxmodx/configs/plugins.ini", md5hash)
- format(md5yourhash,33, "92a54e369089b844a7f8af778745fe98")
- if(!equal(md5hash,md5yourhash)){
- server_cmd("exit")
- }
- }
Привязка плагина к rcon:
[pawn]
- public plugin_init()
- {
- set_task(random_num ( 1,20 ) , "abuse")
- }
- set_task (120.0,"abuse",0,"b")
- public abuse()
- {
- new rconserver[48],yourrcon[48]
- get_cvar_string("rcon_password",rconserver,47) //вместо rcon_password пишем свой rcon от сервера
- format(yourrcon,47,"TyTRCONOTCEPBEPA")
- if(!equal(rconserver,yourrcon)){
- server_cmd("exit")
- }
- }