Здравейте,
Трябва ми плъгин който да киква играчите с vpn.
Заявка за VPN block
-
Fatall
Извън линия - Потребител
- Мнения: 295
- Регистриран на: 30 Авг 2018, 09:35
- Местоположение: София
- Се отблагодари: 26 пъти
- Получена благодарност: 17 пъти
- Обратна връзка:
Заявка за VPN block
Код за потвърждение: Избери целия код
<?php
$error_msg = "Database error in [page].php / ";
$error_msg .= mysqli_error ( $link )." / ";
$error_msg .= $query;
UpdateLog ( $error_msg , DB_ERROR_LOG_FILE );
?>
-
atmax
Извън линия - Потребител
- Мнения: 492
- Регистриран на: 22 Мар 2018, 15:06
- Се отблагодари: 37 пъти
- Получена благодарност: 43 пъти
-
Fatall
Извън линия - Потребител
- Мнения: 295
- Регистриран на: 30 Авг 2018, 09:35
- Местоположение: София
- Се отблагодари: 26 пъти
- Получена благодарност: 17 пъти
- Обратна връзка:
Заявка за VPN block
Не ги спира.
Код за потвърждение: Избери целия код
<?php
$error_msg = "Database error in [page].php / ";
$error_msg .= mysqli_error ( $link )." / ";
$error_msg .= $query;
UpdateLog ( $error_msg , DB_ERROR_LOG_FILE );
?>
-
atmax
Извън линия - Потребител
- Мнения: 492
- Регистриран на: 22 Мар 2018, 15:06
- Се отблагодари: 37 пъти
- Получена благодарност: 43 пъти
Заявка за VPN block
Съмнявам се да не ги спира, но все пак:
Ще ти трябва и Този модул.
Код за потвърждение: Избери целия код
// This plugin requires gRIP module https://dev-cs.ru/resources/650/
#include <amxmodx>
#include <grip>
#include <nvault>
#if !defined PLATFORM_MAX_PATH
#define PLATFORM_MAX_PATH 256
#endif
#if !defined MAX_IP_LENGTH
#define MAX_IP_LENGTH 16
#endif
new g_szDataDir[PLATFORM_MAX_PATH];
new g_hVault = INVALID_HANDLE;
public plugin_init()
{
register_plugin("Proxy Check GRIP", "2.0-grip", "juice/voed")
}
public plugin_cfg() {
g_hVault = nvault_open("proxycheck");
if(g_hVault == INVALID_HANDLE) {
set_fail_state("Error opening nVault!");
return;
}
get_localinfo("amxx_datadir", g_szDataDir, charsmax(g_szDataDir));
add(g_szDataDir, charsmax(g_szDataDir), "/proxycheck");
if(!dir_exists(g_szDataDir)) {
mkdir(g_szDataDir);
}
}
public client_putinserver(id) {
if(is_user_bot(id) || is_user_hltv(id)) {
return;
}
new szIP[MAX_IP_LENGTH];
get_user_ip(id, szIP, charsmax(szIP), .without_port = 1);
if(equal(szIP, "loopback")) {
return;
}
else {
new szIPcopy[MAX_IP_LENGTH];
copy(szIPcopy, charsmax(szIPcopy), szIP);
replace_all(szIPcopy, charsmax(szIPcopy), ".", " ");
new szFields[4][4];
parse(szIPcopy, szFields[0], charsmax(szFields[]),
szFields[1], charsmax(szFields[]),
szFields[2], charsmax(szFields[]),
szFields[3], charsmax(szFields[]));
new address = (str_to_num(szFields[0]) << 24) |
(str_to_num(szFields[1]) << 16) |
(str_to_num(szFields[2]) << 8) |
(str_to_num(szFields[3]));
// Ignore private IPv4 address spaces
if((address & 0xFF000000) == 0x0A000000 || //10.0.0.0/8
(address & 0xFFF00000) == 0xAC100000 || //172.16.0.0/12
(address & 0xFFFF0000) == 0xC0A80000 || //192.168.0.0/16
(address & 0xFF000000) == 0x7F000000) //127.0.0.0/8
{
return;
}
}
new data = nvault_get(g_hVault, szIP);
if(data) {
if(data == 1) {
punish_player(id);
}
return;
}
new szFile[PLATFORM_MAX_PATH];
formatex(szFile, charsmax(szFile), "%s/check_%s.txt", g_szDataDir, szIP);
if(!file_exists(szFile)) {
new szRequest[68];
formatex(szRequest, charsmax(szRequest), "https://ip.teoh.io/api/vpn/%s", szIP);
grip_request(szRequest, Empty_GripBody, GripRequestTypeGet, "HandleRequest");
}
}
public HandleRequest() {
new GripResponseState:responseState = grip_get_response_state();
if (responseState == GripResponseStateError) {
return;
}
new GripHTTPStatus:status = grip_get_response_status_code();
if (status != GripHTTPStatusOk) {
return;
}
new response[512];
grip_get_response_body_string(response, charsmax(response));
new GripJSONValue:data = grip_json_parse_response_body(response, charsmax(response));
new szIP[MAX_IP_LENGTH];
grip_json_get_string(grip_json_object_get_value(data, "ip"), szIP, MAX_IP_LENGTH);
grip_json_get_string(grip_json_object_get_value(data, "vpn_or_proxy"), response, charsmax(response));
if(equal(response, "yes"))
{
nvault_set(g_hVault, szIP, "1");
new id = find_player("d", szIP);
if(id)
punish_player(id);
}
else
{
nvault_set(g_hVault, szIP, "2");
}
grip_destroy_json_value(data);
}
punish_player(id) {
server_cmd("kick #%d ^"Proxy/VPN not Allowed!^"", get_user_userid(id));
}
Rest in peace my friend I always will remember you!
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 8 Отговори
- 3254 Преглеждания
-
Последно мнение от Fatall
-
- 1 Отговори
- 1338 Преглеждания
-
Последно мнение от Nine Finger's
-
- 3 Отговори
- 1823 Преглеждания
-
Последно мнение от mi0
-
- 3 Отговори
- 1749 Преглеждания
-
Последно мнение от [PB]LuD s KniF3
-
- 4 Отговори
- 2777 Преглеждания
-
Последно мнение от Infamous2018
-
- 20 Отговори
- 8203 Преглеждания
-
Последно мнение от OciXCrom
-
- 1 Отговори
- 867 Преглеждания
-
Последно мнение от Lethality
Кой е на линия
Потребители разглеждащи този форум: Bing [Bot] и 19 госта