Доброго времени суток, методами тестов выяснил, что при некоторых обстоятельствах dproto может положить сервер.
Если одновременно кикать игрока (например плагин банов) и проверять стим игрок или нон-стим (lite tranlite, при установки префикса), то сервер крашится.
При этом, плагин, который кикает в plugins.ini должен находится выше, чем плагин, который проверяет стим.
Вот результаты тестов при входе игрока
1) test_kick.amxx и test_check_steam.amxx включены, dproto включен, test_kick.amxx в plugins.ini выше, чем test_check_steam.amxx -
краш2) test_kick.amxx и test_check_steam.amxx включены, dproto включен, test_check_steam.amxx в plugins.ini выше, чем test_check_steam.amxx -
нет краша3) один из плагинов test_kick.amxx или test_check_steam.amxx выключен, dproto включен -
нет краша4) пункты 1, 2 и 3, но при выключенном dproto -
нет краша▼ Логи и информация о сервере при краше versionКод:
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
Exe build: 17:35:12 Jul 5 2017 (7559)
meta versionКод:
Metamod v1.21p37 2013/05/30 (5:13)
by Will Day
http://www.metamod.org/
Patch: Metamod-P (mm-p) v37
by Jussi Kivilinna
http://metamod-p.sourceforge.net/
compiled: May 30 2013, 11:41:16 EET (optimized)
meta listКод:
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] AMX Mod X RUN - amxmodx_mm_i386. v1.8.2 ini Start ANY
[ 2] dproto_EF RUN - dproto_i386.so v0.9.582 ini Start Never
[ 3] CSX RUN - csx_amxx_i386.so v1.8.2 pl1 ANY ANY
3 plugins, 3 running
amxx listКод:
Currently loaded plugins:
name version author file status
[ 1] Admin Base 1.8.2 AMXX Dev Team admin.amxx running
[ 2] Admin Commands 1.8.2 AMXX Dev Team admincmd.amxx running
[ 3] Admin Help 1.8.2 AMXX Dev Team adminhelp.amxx running
[ 4] Slots Reservation 1.8.2 AMXX Dev Team adminslots.amxx running
[ 5] Multi-Lingual System 1.8.2 AMXX Dev Team multilingual.am running
[ 6] Menus Front-End 1.8.2 AMXX Dev Team menufront.amxx running
[ 7] Commands Menu 1.8.2 AMXX Dev Team cmdmenu.amxx running
[ 8] Players Menu 1.8.2 AMXX Dev Team plmenu.amxx running
[ 9] Maps Menu 1.8.2 AMXX Dev Team mapsmenu.amxx running
[ 10] Plugin Menu 1.8.2 AMXX Dev Team pluginmenu.amxx running
[ 11] Admin Chat 1.8.2 AMXX Dev Team adminchat.amxx running
[ 12] Anti Flood 1.8.2 AMXX Dev Team antiflood.amxx running
[ 13] Scrolling Message 1.8.2 AMXX Dev Team scrollmsg.amxx running
[ 14] Info. Messages 1.8.2 AMXX Dev Team imessage.amxx running
[ 15] Admin Votes 1.8.2 AMXX Dev Team adminvote.amxx running
[ 16] NextMap 1.8.2 AMXX Dev Team nextmap.amxx running
[ 17] Nextmap Chooser 1.8.2 AMXX Dev Team mapchooser.amxx running
[ 18] TimeLeft 1.8.2 AMXX Dev Team timeleft.amxx running
[ 19] Pause Plugins 1.8.2 AMXX Dev Team pausecfg.amxx running
[ 20] Stats Configuration 1.8.2 AMXX Dev Team statscfg.amxx running
[ 21] StatsX 1.8.2 AMXX Dev Team statsx.amxx running
[ 22] Test kick 1.0 BaHeK test_kick.amxx running
[ 23] Test check steam 1.0 BaHeK test_check_stea running
23 plugins, 23 running
Данные из консоли перед падением с кваром meta_debug 5Код:
Enabling debug mode
Unable to open tty(/dev/tty) for output
Console initialized.
Using breakpad crash handler
Setting breakpad minidump AppID = 10
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Console initialized.
Base networking initialized.
"sv_cheats" changed to "1"
Initializing deltas
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
Exe build: 14:13:30 Jul 5 2017 (7559)
40.0 Mb heap
STEAM Auth Server
execing valve.rc
execing language.cfg
execing autoexec.cfg
execing violence.cfg
Server IP address 37.230.228.117:27016
Adding: cstrike/addons/metamod/dlls/metamod.so
Metamod version 1.21p37 Copyright (c) 2001-2013 Will Day
Patch: Metamod-P (mm-p) v37 Copyright (c) 2004-2013 Jussi Kivilinna
Metamod comes with ABSOLUTELY NO WARRANTY; for details type `meta gpl'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `meta gpl' for details.
AMX Mod X version 1.8.2 Copyright (c) 2004-2006 AMX Mod X Development Team
AMX Mod X comes with ABSOLUTELY NO WARRANTY; for details type `amxx gpl'.
This is free software and you are welcome to redistribute it under
certain conditions; type 'amxx gpl' for details.
Version 0.9.582 Linux
[DPROTO]: Done.
Dll loaded for mod Counter-Strike
Spawn Server de_dust2
Clearing memory
Using WAD File: halflife.wad
Using WAD File: decals.wad
Using WAD File: cs_dust.wad
Texture load: 7.4ms
Building PAS...
Average leaves visible / audible / total: 133 / 395 / 1202
L 02/15/2018 - 17:50:15: -------- Mapchange to de_dust2 --------
"amxmodx_version" changed to "1.8.2"
"sv_maxspeed" changed to "900"
Cvar_Set: variable room_type not found
GAME SKILL LEVEL:1
Cvar_Set: variable cl_himodels not found
"pausable" changed to "0"
Cvar_Set: variable v_dark not found
0 entities inhibited
[AMXX] Loaded 1 admin from file
"amx_language" changed to "en"
"amx_client_languages" changed to "1"
"amx_nextmap" changed to "de_airstrip"
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
PF_MessageEnd_I: Unknown User Msg 127
"sv_accelerate" changed to "5"
"sv_stopspeed" changed to "75"
32 player server started
execing addons/amxmodx/configs/amxx.cfg
Executing AMX Mod X Configuration File
Scrolling message displaying frequency: 10:00 minutes
execing addons/amxmodx/configs/sql.cfg
execing addons/amxmodx/configs/custommenuitems.cfg
Sys_InitializeGameDLL called twice, skipping second call
execing server.cfg
"sv_aim" changed to "0"
"sv_maxspeed" changed to "320"
"mp_timelimit" changed to "20"
"sv_cheats" changed to "0"
couldn't exec listip.cfg
couldn't exec banned.cfg
Server logging data to file logs/L0215017.log
L 02/15/2018 - 17:50:16: Log file started (file "logs/L0215017.log") (game "cstrike") (version "48/1.1.2.7/Stdio/7559")
Menu item 17 added to Menus Front-End: "Plugin Cvars" from plugin "pluginmenu.amxx"
Menu item 18 added to Menus Front-End: "Plugin Commands" from plugin "pluginmenu.amxx"
Connection to Steam servers successful.
VAC secure mode is activated.
Client BaHeK connected
Adr: 213.141.153.192:27005
L 02/15/2018 - 17:50:20: [DPROTO]: Client 0 - Set AuthIdType 1 [Native]; pClient = 0xb3360f08
L 02/15/2018 - 17:50:20: "BaHeK<1><STEAM_0:1:4275511><>" connected, address "213.141.153.192:27005"
L 02/15/2018 - 17:50:20: [META] (debug:3) Calling dproto_i386.so:ClientConnect()
L 02/15/2018 - 17:50:20: [META] (debug:3) Calling cs.so:ClientConnect()
L 02/15/2018 - 17:50:20: [META] (debug:3) Calling amxmodx_mm_i386.so:ClientConnect_Post()
L 02/15/2018 - 17:50:20: [META] (debug:3) Calling csx_amxx_i386.so:ClientConnect_Post()
Compressing split packet (8158 -> 4409 bytes)
Compressing split packet (19314 -> 8332 bytes)
"BaHeK<1><STEAM_0:1:4275511><>" STEAM USERID validated
L 02/15/2018 - 17:50:20: "BaHeK<1><STEAM_0:1:4275511><>" STEAM USERID validated
Verifying and uploading resources...
Custom resources total 6.15K
Decals: 6.15K
----------------------
ERROR: couldn't open custom.hpk.
Resources to request: 6.15K
L 02/15/2018 - 17:50:22: [META] (debug:3) Calling dproto_i386.so:ClientPutInServer()
L 02/15/2018 - 17:50:22: [META] (debug:3) Calling cs.so:ClientPutInServer()
L 02/15/2018 - 17:50:22: [META] (debug:3) Calling amxmodx_mm_i386.so:ClientPutInServer_Post()
L 02/15/2018 - 17:50:22: Kick: "BaHeK<1><STEAM_0:1:4275511><>" was kicked by "Console" (message ""You are banned"")
Dropped BaHeK from server
Reason: Kicked :"You are banned"
Netchan_Clear() : reliable length not 0, reliable_sequence: 70, incoming_reliable_acknowledged: 0
L 02/15/2018 - 17:50:22: [META] (debug:5) called: meta_command_handler; arg0=dp_clientinfo args='1'
L 02/15/2018 - 17:50:22: [META] (debug:3) Calling csx_amxx_i386.so:ClientPutInServer_Post()
Segmentation fault (core dumped)
BFD: Warning: /home/servers/server1/core.22943 is truncated: expected core file size >= 138518528, found: 1089536.
Cannot access memory at address 0xb779c908
Cannot access memory at address 0xb779c904
Failed to read a valid object file image from memory.
Cannot access memory at address 0xb779c908
Cannot access memory at address 0xb779c904
debug.cmds:4: Error in sourced command file:
Cannot access memory at address 0xbfc54d70
email debug.log to [email protected]
Чт фев 15 17:50:22 MSK 2018: Server Quit
SERVER CRASH!
Чт фев 15 17:50:22 MSK 2018
debug.logКод:
----------------------------------------------
CRASH: Чт фев 15 17:50:22 MSK 2018
Start Line: ./hlds_linux -game cstrike +ip 37.230.228.117 +port 27016 +map de_dust2 +maxplayers 32 +sys_ticrate 1000 -pingboost 3 -norestart -dev -dumplongticks -debug -debuglog cstrike/debug.log -heapsize 2097152 -pidfile hlds.22936.pid
[New LWP 22943]
[New LWP 22969]
[New LWP 22970]
[New LWP 23019]
[New LWP 22972]
[New LWP 22965]
[New LWP 22962]
[New LWP 22971]
[New LWP 22963]
Core was generated by `./hlds_linux -game cstrike +ip 37.230.228.117 +port 27016 +map de_dust2 +maxpla'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xb6f346ec in ?? ()
[Current thread is 1 (LWP 22943)]
#0 0xb6f346ec in ?? ()
Backtrace stopped: Cannot access memory at address 0xbfc54d70
No symbol table info available.
No shared libraries loaded at this time.
Stack level 0, frame at 0xbfc54d74:
eip = 0xb6f346ec; saved eip = <unavailable>
Outermost frame: Cannot access memory at address 0xbfc54d70
Arglist at 0xbfc54d6c, args:
Locals at 0xbfc54d6c, Previous frame's sp is 0xbfc54d74
End of crash report
----------------------------------------------
Исходники плагинов, с которыми проводился тест, прилагаю, так же при краше был создан файл core.22943, его тоже прикрепил.
Возникает данное событие редко и его сложно было отловить.
Я предполагаю, что это просходит при выполнении команды
dp_clientinfo от плагина, в то время, когда игрок вышел