REST in Pawn

REST in Pawn 1.3.1

Dragokas

Добрая душа
Сообщения
229
Реакции
213
Спасибо.
Можно, если коротко, чем отличается ваш REST in Pawn от SteamTools именно в плане стабильности работы?
P.S. До этого не пользовался ни тем, ни другим.
--- Добавлено позже ---
Поддерживаемые игры:
- Все
На L4d1 не загружается.

Metamod:Source version 1.10.7-dev
Built from: Trigger build against hl2sdk-tf2 update. · alliedmodders/metamod-source@5374982
Build ID: 966:5374982
Loaded As: Valve Server Plugin
Compiled on: Jul 19 2018
Plugin interface version: 15:14
SourceHook version: 5:5
Metamod:Source - News

SourceMod Version Information:
SourceMod Version: 1.9.0.6226
SourcePawn Engine: 1.9.0.6226, jit-x86 (build 1.9.0.6226)
SourcePawn API: v1 = 4, v2 = 12
Compiled on: Feb 15 2018 14:38:32
Built from: Update blacklist.plugins.txt · alliedmodders/sourcemod@2098a36
Build ID: 6226:2098a36
SourceMod: Half-Life 2 Scripting

[SM] Displaying 7 extensions:
[01] Automatic Updater (1.9.0.6226): Updates SourceMod gamedata files
[02] Webternet (1.9.0.6226): Extension for interacting with URLs
[03] SDK Tools (1.9.0.6226): Source SDK Tools
[04] BinTools (1.9.0.6226): Low-level C/C++ Calling API
[05] Top Menus (1.9.0.6226): Creates sorted nested menus
[06] Client Preferences (1.9.0.6226): Saves client preference settings
[07] SQLite (1.9.0.6226): SQLite Driver

Сервер на линуксе.
Набор плагинов и расширений стоковый.
 
Последнее редактирование:

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • Автор ресурса
  • #22
@Dragokas, REST in Pawn, на мой взгляд, слегка проще в плане работы с вебом. И он заточен конкретно на работу с JSON ответами.
А плагины, требующие для работы REST in Pawn, хоть какие-нибудь загружены на сервер? Если нет - создайте пустой файл с названием rip.autoload и перезагрузите сервер. Это принудит его загрузить расширение даже если плагинов, которым он нужен, нет.
 

Dragokas

Добрая душа
Сообщения
229
Реакции
213
Понял. Спасибо за ликбез. Все работает.
Плагин пока не загружал.
[03] REST in Pawn (1.0.6): Provides HTTP and JSON natives for plugins
И отдельно спасибо за громадную работу.
--- Добавлено позже ---
Можете, пожалуйста, подсобить.
Перезапуск сервера
Пример Запроса: https://www.myarena.ru/api.php?query=restart&token=xxx
{
"query": "restart",
"token": "xxx"
}
Пример Ответа:
{
"status": "OK",
"message": "Restarting server"
}

Плагин:
PHP:
#include <sourcemod>
#include <ripext>

public void OnPluginStart()
{
    RegAdminCmd("sm_restart", CmdRestart, ADMFLAG_ROOT, "Restart the server");
}

public Action CmdRestart(int client, int args)
{
    HTTPClient httpClient = new HTTPClient("https://www.myarena.ru/api.php");

    JSONObject todo = new JSONObject();
    todo.SetString("query", "restart");
    todo.SetString("token", "xxx");

    httpClient.Post("todos", todo, OnTodoCreated);
    delete todo;
  
    return Plugin_Handled;
}

public void OnTodoCreated(HTTPResponse response, any value)
{
    if (response.Status != HTTPStatus_Created) {
        PrintToServer("Failed to create todo");
        return;
    }
    if (response.Data == null) {
        PrintToServer("Invalid JSON response");
        return;
    }

    JSONObject todo = view_as<JSONObject>(response.Data);
    char sStatus[32];
    char sMsg[64];
    todo.GetString("status", sStatus, sizeof(sStatus));
    todo.GetString("message", sMsg, sizeof(sMsg));
  
    PrintToServer("Created todo with status: %s, msg: %s", sStatus, sMsg);
}

Ответ: Failed to create todo
И, не совсем понимаю, что значит первый аргумент метода Post ("todos").

Если вставить вручную в адресную строку браузера, то нормально перезагружает.
--- Добавлено позже ---
Через SteamWorks работает.

PHP:
#include <sourcemod>
#include <SteamWorks>

public void OnPluginStart()
{
    RegAdminCmd("sm_restart2", CmdRestart, ADMFLAG_ROOT, "Restart the server");
}

public Action CmdRestart(int client, int args)
{
    Handle HTTPRequest = SteamWorks_CreateHTTPRequest(k_EHTTPMethodPOST, "https://www.myarena.ru/api.php");
    SteamWorks_SetHTTPRequestGetOrPostParameter(HTTPRequest, "query", "restart");
    SteamWorks_SetHTTPRequestGetOrPostParameter(HTTPRequest, "token", "xxx");
   
    //SteamWorks thing, set context value so we know what call we sent for the callback.
    //SteamWorks_SetHTTPRequestContextValue(HTTPRequest, 5);
   
    //Set callback function to get response data
    //SteamWorks_SetHTTPCallbacks(HTTPRequest, getCallback);
   
    //Send the request to the front of the queue
    //SteamWorks_PrioritizeHTTPRequest(HTTPRequest);
   
    SteamWorks_SendHTTPRequest(HTTPRequest);
   
    return Plugin_Handled;
}

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

rus0707

Участник
Сообщения
326
Реакции
43
привет всем на L4D2 не работает

[01] L4DToolZ (1.0.0.9h-unknown) by Ivailosp
[02] SourceMod (1.9.0.6281) by AlliedModders LLC
[03] [L4D2] 8+ Players BugFixes (1.0.5) by V10,
[04] [L4D2] Melee Spawn Control (1.0.0.4) by V10
[05] SDK Tools (1.9.0.6281) by AlliedModders LLC
[06] SDK Hooks (1.9.0.6281) by AlliedModders LLC
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • Автор ресурса
  • #25
Расширение само не загрузится, если никакому плагину оно не нужно. И в meta list оно не отображается, только sm exts list.
 

rus0707

Участник
Сообщения
326
Реакции
43
Расширение само не загрузится, если никакому плагину оно не нужно. И в meta list оно не отображается, только sm exts list.
я установил ядро и модуль

14 <Failed> "[Discord] Core" (1.0.8) by CrazyHackGUT aka Kruzya
15 <Error> "[Discord] Simple Report System" (1.2.2) by CrazyHackGUT aka Kruzya
Сообщения автоматически склеены:

sm exts list
[05] REST in Pawn (1.0.6): Provides HTTP and JSON natives for plugins
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • Автор ресурса
  • #27
Коробка из под бананов обновил(а) ресурс REST in Pawn новой записью:

Обновление до 1.1.0

1.0.7:
  • Добавлен натив JSONObject.HasKey() (спасибо @Rachnus)
  • Расширение пересобрано под SM 1.10.
  • Документированы ошибки JSON.
  • Исправлены утечки памяти, когда Handle не может быть создан (#15).
  • Исправлены проблемы с использованием знака процента в пути к JSON-файлу.
  • Теперь JSONObject.GetString() возвращает false вместо...

Узнать больше об этом обновлении...
 

Nico Yazawa

Бывший MrChester =(
Сообщения
326
Реакции
303
Можно ли получить версию данного расширения для СМ 1.9?
Просто новая версия не запускается с ошибкой:
C-подобный:
L 04/10/2020 - 12:48:43: [SM] Unable to load extension "rip.ext": Could not find interface: ISourceMod
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • Автор ресурса
  • #31
Можно ли получить версию данного расширения для СМ 1.9?
Просто новая версия не запускается с ошибкой:
C-подобный:
L 04/10/2020 - 12:48:43: [SM] Unable to load extension "rip.ext": Could not find interface: ISourceMod
Дистрибутив какой? Дебиан, Убунту, Центос или что-то более экзотическое?
Соберу сегодня под древним дебом.
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
Можно ли получить версию данного расширения для СМ 1.9?
Просто новая версия не запускается с ошибкой:
C-подобный:
L 04/10/2020 - 12:48:43: [SM] Unable to load extension "rip.ext": Could not find interface: ISourceMod
В истории версия 1.0.6 - она работает на 1.9
 

Nico Yazawa

Бывший MrChester =(
Сообщения
326
Реакции
303
Дистрибутив какой? Дебиан, Убунту, Центос или что-то более экзотическое?
Соберу сегодня под древним дебом.
Извини, ни слова не понял( У человека хостинг я так понимаю обычный на MyArena

В истории версия 1.0.6 - она работает на 1.9
Спасибо! Попробую установить и отпишу
Сообщения автоматически склеены:

Не хочет, та же ошибка
 
Последнее редактирование:

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • Автор ресурса
  • #34

Вложения

  • ripext-latest-sm19.zip
    2.9 МБ · Просмотры: 34

counter

Участник
Сообщения
186
Реакции
22
сегодня заметил в логе
L 04/25/2020 - 23:55:30: [SM] Unable to load extension "rip.ext": Could not find interface: ISourceMod
L 04/25/2020 - 23:55:30: [SM] Unable to load plugin "Discord/Core.smx": Required extension "REST in Pawn" file("rip.ext") not running
L 04/25/2020 - 23:55:30: [SM] Unable to load plugin "mf_connect_info.smx": Required extension "REST in Pawn" file("rip.ext") not running
L 04/25/2020 - 23:55:30: [SM] Unable to load plugin "Zabbix.smx": Required extension "REST in Pawn" file("rip.ext") not running

sourcemod-1.10.0-git6484-linux.tar
Сообщения автоматически склеены:

сегодня заметил в логе
L 04/25/2020 - 23:55:30: [SM] Unable to load extension "rip.ext": Could not find interface: ISourceMod
L 04/25/2020 - 23:55:30: [SM] Unable to load plugin "Discord/Core.smx": Required extension "REST in Pawn" file("rip.ext") not running
L 04/25/2020 - 23:55:30: [SM] Unable to load plugin "mf_connect_info.smx": Required extension "REST in Pawn" file("rip.ext") not running
L 04/25/2020 - 23:55:30: [SM] Unable to load plugin "Zabbix.smx": Required extension "REST in Pawn" file("rip.ext") not running

sourcemod-1.10.0-git6484-linux.tar

помогло
 
Последнее редактирование:

Pr[E]fix

Code
Сообщения
171
Реакции
29
Как убрать этот еррор?

block_vk.smx (Block VK): Required extension "REST in Pawn" file("rip.ext") not running

SM 1.8
 
Сверху Снизу