Плагин - выгрузить сам себя.

Banana

Участник
Сообщения
892
Реакции
113
Здравствуйте.

Подскажите метод который заставит выгрузить плагин (сам себя) кроме ServerCommand("sm plugins unload plugin.smx"); или SetFailState("disable"); ...

Другими словами нужен аналог SetFailState который не будет спамить в logs ошибку..
 

DeathScore13

пирожок. пирожочек.
Сообщения
740
Реакции
409
без еррора - sm plugins unload через InsertServerCommand
 

Banana

Участник
Сообщения
892
Реакции
113
sg_revival.sp

PHP:
public OnMapStart()
    ServerCommand("sm plugins unload sg_revival.smx");

Вместо того чтоб просто выгрузится - плагин ложит сервер

Консоль:
PHP:
PutClientInServer: no info_player_start on level
**** WARNING: Watchdog timer exceeded, aborting!
PreMinidumpCallback: updating dump comment
crash_20210905181904_1.dmp[2189329]: Uploading dump (out-of-process)
/tmp/dumps/crash_20210905181904_1.dmp
crash_20210905181904_1.dmp[2189329]: Finished uploading minidump (out-of-process): success = no
crash_20210905181904_1.dmp[2189329]: error: libcurl.so: cannot open shared object file: No such file or directory
crash_20210905181904_1.dmp[2189329]: file ''/tmp/dumps/crash_20210905181904_1.dmp'', upload no: ''libcurl.so: cannot open shared object file: No such file or directory''
Aborted
Add "-debug" to the ./srcds_run command line to generate a debug.log to help with solving this problem
Sun 05 Sep 2021 06:21:22 PM MSK: Server restart in 5 seconds

При этом еще 10 плагинов так нормально выгружаются.. ума не приложу почему так?
 

Natasha Heide

Добрая душа
Сообщения
88
Реакции
102
Без понятия че у тебя за плагин, а сервер у тебя помирает потому что нет info_player_start, о чем тебе и говорится:
PHP:
PutClientInServer: no info_player_start on level

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

Banana

Участник
Сообщения
892
Реакции
113
Без понятия че у тебя за плагин, а сервер у тебя помирает потому что нет info_player_start, о чем тебе и говорится:
PHP:
PutClientInServer: no info_player_start on level

Очевидно нужно предусмотреть выгрузку плагина (не просто командой, а вернуть все как было - опять же без понятия что в плагине).
ну если я удалю этот плагин то после PutClientInServer: no info_player_start on level сервер продолжит работу без ошибок... так что мимо.(
 

Young <

Now, finally free
Сообщения
1,263
Реакции
507
Плагин нужно ближе к началу его работы выгружать или именно после старта карты?
 

Banana

Участник
Сообщения
892
Реакции
113
Плагин нужно ближе к началу его работы выгружать или именно после старта карты?
в любой момент после OnPluginStart() нужно его выгрузить
Сообщения автоматически склеены:

Страность в том что еще 10 плагинов нормально выгружаются в OnMapStart ... а вот 11 плагин из 2 строк - в8буется..
 

Young <

Now, finally free
Сообщения
1,263
Реакции
507
Таких вещей, по-типу SetFailState без ошибки и после старта на данный момент в стандарте нет. Похожая вещь в AskPluginLoad2 есть, если вернуть APLRes_SilentFailure, то плагин выгружается без ошибки, но AskPluginLoad2 вызывается до старта плагина (до OnPluginStart).
 
Сверху Снизу