[HL][CS 1.6] Query - status : offline
r4sas opened this issue · 12 comments
GameAP, демон и игровой сервер стоят на одной тачке.
Используется предустановленный шаблон ReHLDS, далее сам руками доставлял reunion.
В настройках сервера в ПУ rcon прописан, он совпадает с рконом на сервере.
Query и RCON порт в настройказ указан тот же, что порт самого сервера (например 27015 во всех полях).
Некоторые параметры из reunion.cfg:
AuthVersion = 1
ServerInfoAnswerType = 0
FixBuggedQuery = 1
EnableQueryLimiter = 0
AllowSplitPackets = 0
IPClientsLimit = 5
При всём этом, в ПУ общий статус корректно работает, а query говорит offline.
Проблема такая наблюдается на GoldSource серверах. Причину выяснить ещё не удалось. Проблема скорее всего связана с GameQ библиотекой.
Мне кажется GameQ не тот тип парсера пытается использовать, вот такую кашу он мне выдал на одном из серверов в ПУ:
status : online
hostname : 0
map : nademodes_version
players : 48/0
version : 114
password : yes
joinlink : steam://connect/<SERVERIP>:<PORT>/
Углубленное изучение показало что он не может распарсить A2S_RULES приходящий в разбитом на пакеты ответе.
Продублирую Austinb/GameQ#287 (comment):
Example debugging output
00000000 ff ff ff ff 49 30 57 41 52 33 46 54 20 d0 9f d0 |....I0WAR3FT ...|
00000010 b8 d0 b2 d0 ba d0 b0 20 d0 b4 d0 bb d1 8f 20 d0 |....... ...... .|
00000020 a0 d1 8b d0 b2 d0 ba d0 b0 20 32 30 32 20 6c 76 |......... 202 lv|
00000030 6c 20 5b 53 74 65 61 6d 20 42 6f 6e 75 73 5d 00 |l [Steam Bonus].|
00000040 63 73 5f 6d 61 6e 73 69 6f 6e 00 63 73 74 72 69 |cs_mansion.cstri|
00000050 6b 65 00 43 6f 75 6e 74 65 72 2d 53 74 72 69 6b |ke.Counter-Strik|
00000060 65 00 0a 00 1f 20 00 64 6c 00 01 31 2e 31 2e 32 |e.... .dl..1.1.2|
00000070 2e 37 2f 53 74 64 69 6f 00 80 05 6a |.7/Stdio...j|
0000007C
00000000 ff ff ff ff 44 1f 00 57 68 65 72 65 27 73 20 79 |....D..Where's y|
00000010 6f 75 72 20 47 6f 64 3f 00 00 00 00 00 c0 fe 49 |our God?.......I|
00000020 43 01 56 4e 44 59 20 57 56 52 48 4f 4c 00 02 00 |C.VNDY WVRHOL...|
00000030 00 00 4c 10 49 43 02 48 6e 74 20 7c 20 4b 6c 61 |..L.IC.Hnt | Kla|
00000040 75 73 20 57 69 6c 73 6f 6e 00 0a 00 00 00 9f bf |us Wilson.......|
00000050 4a 43 03 68 6f 73 74 00 00 00 00 00 ec fc 4a 43 |JC.host.......JC|
00000060 04 43 72 61 62 27 73 5b 4c 53 5d 2a 4c 65 65 72 |.Crab's[LS]*Leer|
00000070 6f 79 00 00 00 00 00 4a a5 4a 43 05 ef bc 83 ef |oy.....J.JC.....|
00000080 bc 83 4d 61 4b 73 49 6d ef bc 83 ef bc 83 00 00 |..MaKsIm........|
00000090 00 00 00 70 8f 3d 43 06 5a 65 75 73 20 6d 6f 64 |...p.=C.Zeus mod|
000000A0 65 3a 20 4f 4e 00 03 00 00 00 e4 d4 f3 42 07 34 |e: ON........B.4|
000000B0 59 4d 41 00 00 00 00 00 9d 9b b3 42 08 4c 49 53 |YMA........B.LIS|
000000C0 00 03 00 00 00 63 0f 4a 43 09 70 72 6f 31 30 30 |.....c.JC.pro100|
000000D0 64 6e 6f 00 00 00 00 00 8d 40 a3 42 0a 42 65 65 |dno......@.B.Bee|
000000E0 72 41 6e 64 57 61 72 33 20 7c 20 49 6e 6b 6f 67 |rAndWar3 | Inkog|
000000F0 6e 69 74 6f 00 00 00 00 00 35 71 4a 43 0b 5a 45 |nito.....5qJC.ZE|
00000100 4b 00 03 00 00 00 f0 2a 4a 43 0c 28 28 28 28 28 |K......*JC.(((((|
00000110 28 28 28 28 28 00 00 00 00 00 cd 54 9c 41 0d 5a |(((((......T.A.Z|
00000120 6d 65 79 44 69 6b 69 79 00 00 00 00 00 77 e7 47 |meyDikiy.....w.G|
00000130 43 0e 56 4b 3a 20 56 4b 2e 43 4f 4d 2f 57 41 52 |C.VK: VK.COM/WAR|
00000140 33 46 54 00 00 00 00 00 46 92 0f 46 0f 41 53 41 |3FT.....F..F.ASA|
00000150 53 53 49 4e 00 01 00 00 00 82 5d 49 43 10 4a 65 |SSIN......]IC.Je|
00000160 6b 36 36 36 47 72 69 6e 00 00 00 00 00 a3 70 4a |k666Grin......pJ|
00000170 43 11 47 4f 4f 44 5f 47 41 4d 45 00 06 00 00 00 |C.GOOD_GAME.....|
00000180 69 9a 30 43 12 30 78 30 6d 48 69 6b 00 00 00 00 |i.0C.0x0mHik....|
00000190 00 98 5d 4a 43 13 73 69 72 6f 7a 68 61 00 04 00 |..]JC.sirozha...|
000001A0 00 00 d4 28 49 43 14 6e 65 6c 65 67 61 6c 00 00 |...(IC.nelegal..|
000001B0 00 00 00 76 5c 59 42 15 42 65 6e 65 68 69 72 64 |...v\YB.Benehird|
000001C0 65 00 05 00 00 00 a8 1d 4a 43 16 6b 65 6b 69 65 |e.......JC.kekie|
000001D0 00 01 00 00 00 93 7b 49 43 17 4a 65 73 75 73 20 |......{IC.Jesus |
000001E0 43 68 72 69 73 74 00 00 00 00 00 83 99 4a 43 18 |Christ.......JC.|
000001F0 53 68 72 61 79 6b 74 6f 72 6e 00 05 00 00 00 b9 |Shrayktorn......|
00000200 69 36 43 19 4a 55 53 54 34 53 4c 45 45 50 00 00 |i6C.JUST4SLEEP..|
00000210 00 00 00 07 f8 a8 40 1a 53 61 4e 5b 34 5d 65 5a |......@.SaN[4]eZ|
00000220 00 00 00 00 00 2d 13 4a 43 1b 43 45 50 7d 49 7b |.....-.JC.CEP}I{|
00000230 00 02 00 00 00 12 7d 4a 43 1c 49 53 43 4f 20 44 |......}JC.ISCO D|
00000240 49 53 43 4f 00 06 00 00 00 ce d1 48 43 1d 4d 75 |ISCO.......HC.Mu|
00000250 6e 67 6f 60 73 00 05 00 00 00 6b dd 48 43 1e 4c |ngo`s.....k.HC.L|
00000260 6f 62 73 74 65 72 00 03 00 00 00 44 39 4a 43 |obster.....D9JC|
0000026F
00000000 fe ff ff ff 66 b0 02 00 02 ff ff ff ff 45 6a 00 |....f........Ej.|
00000010 61 64 6d 61 6e 61 67 65 72 5f 76 65 72 73 69 6f |admanager_versio|
00000020 6e 00 30 2e 35 00 61 64 6d 69 6e 6c 6f 61 64 5f |n.0.5.adminload_|
00000030 76 65 72 73 69 6f 6e 00 33 2e 39 2e 32 20 44 65 |version.3.9.2 De|
00000040 76 00 61 6c 6c 6f 77 5f 73 70 65 63 74 61 74 6f |v.allow_spectato|
00000050 72 73 00 31 00 61 6d 78 5f 61 64 6d 5f 6d 73 67 |rs.1.amx_adm_msg|
00000060 00 d0 93 d1 80 d1 83 d0 bf d0 bf d0 b0 20 d1 81 |............. ..|
00000070 d0 b5 d1 80 d0 b2 d0 b5 d1 80 d0 b0 20 d0 b2 d0 |............ ...|
00000080 ba d0 be d0 bd d1 82 d0 b0 d0 ba d1 82 d0 b5 3a |...............:|
00000090 20 76 6b 2e 63 6f 6d 2f 77 61 72 33 66 74 20 2c | vk.com/war3ft ,|
000000A0 20 d1 81 d0 b0 d0 b9 d1 82 3a 20 46 41 53 54 46 | ........: FASTF|
000000B0 52 41 47 2e 52 55 00 61 6d 78 5f 63 6c 69 65 6e |RAG.RU.amx_clien|
000000C0 74 5f 6c 61 6e 67 75 61 67 65 73 00 30 00 61 6d |t_languages.0.am|
000000D0 78 5f 63 6f 6e 74 61 63 74 69 6e 66 6f 00 76 6b |x_contactinfo.vk|
000000E0 2e 63 6f 6d 2f 77 61 72 33 66 74 00 61 6d 78 5f |.com/war3ft.amx_|
000000F0 6c 61 6e 67 75 61 67 65 00 72 75 00 61 6d 78 6d |language.ru.amxm|
00000100 6f 64 78 5f 76 65 72 73 69 6f 6e 00 31 2e 38 2e |odx_version.1.8.|
00000110 32 2d 64 65 76 00 61 6e 61 6c 69 7a 61 74 6f 72 |2-dev.analizator|
00000120 00 31 39 2e 30 37 2e 31 35 00 61 74 62 5f 61 64 |.19.07.15.atb_ad|
00000130 76 61 6e 63 65 64 5f 76 65 72 73 69 6f 6e 00 31 |vanced_version.1|
00000140 2e 35 2e 31 00 63 6f 6f 70 00 30 00 64 65 61 74 |.5.1.coop.0.deat|
00000150 68 6d 61 74 63 68 00 31 00 64 65 63 61 6c 66 72 |hmatch.1.decalfr|
00000160 65 71 75 65 6e 63 79 00 36 30 00 65 64 67 65 66 |equency.60.edgef|
00000170 72 69 63 74 69 6f 6e 00 32 00 67 61 6d 65 5f 76 |riction.2.game_v|
00000180 65 72 73 69 6f 6e 00 35 2e 37 2e 30 2e 33 31 33 |ersion.5.7.0.313|
00000190 2d 64 65 76 00 68 75 6d 61 6e 73 5f 6a 6f 69 6e |-dev.humans_join|
000001A0 5f 74 65 61 6d 00 61 6e 79 00 6c 69 74 65 5f 63 |_team.any.lite_c|
000001B0 68 6f 6f 73 65 72 00 32 2e 36 00 6d 61 70 5f 73 |hooser.2.6.map_s|
000001C0 70 61 77 6e 73 00 54 28 32 32 29 20 43 54 28 32 |pawns.T(22) CT(2|
000001D0 32 29 00 6d 61 78 5f 71 75 65 72 69 65 73 5f 73 |2).max_queries_s|
000001E0 65 63 00 31 00 6d 61 78 5f 71 75 65 72 69 65 73 |ec.1.max_queries|
000001F0 5f 73 65 63 5f 67 6c 6f 62 61 6c 00 31 00 6d 61 |_sec_global.1.ma|
00000200 78 5f 71 75 65 72 69 65 73 5f 77 69 6e 64 6f 77 |x_queries_window|
00000210 00 31 00 6d 65 74 61 6d 6f 64 5f 76 65 72 73 69 |.1.metamod_versi|
00000220 6f 6e 00 31 2e 32 31 70 33 37 00 6d 70 5f 61 75 |on.1.21p37.mp_au|
00000230 74 6f 6b 69 63 6b 00 30 00 6d 70 5f 61 75 74 6f |tokick.0.mp_auto|
00000240 6b 69 63 6b 5f 74 69 6d 65 6f 75 74 00 2d 31 00 |kick_timeout.-1.|
00000250 6d 70 5f 61 75 74 6f 74 65 61 6d 62 61 6c 61 6e |mp_autoteambalan|
00000260 63 65 00 30 00 6d 70 5f 62 75 79 74 69 6d 65 00 |ce.0.mp_buytime.|
00000270 34 00 6d 70 5f 63 34 74 69 6d 65 72 00 34 35 00 |4.mp_c4timer.45.|
00000280 6d 70 5f 63 68 61 74 74 69 6d 65 00 30 00 6d 70 |mp_chattime.0.mp|
00000290 5f 63 6f 6e 73 69 73 74 65 6e 63 79 00 31 00 6d |_consistency.1.m|
000002A0 70 5f 66 61 64 65 74 6f 62 6c 61 63 6b 00 30 00 |p_fadetoblack.0.|
000002B0 6d 70 5f 66 6c 61 73 68 6c 69 67 68 74 00 31 00 |mp_flashlight.1.|
000002C0 6d 70 5f 66 6f 6f 74 73 74 65 70 73 00 31 00 6d |mp_footsteps.1.m|
000002D0 70 5f 66 6f 72 63 65 63 61 6d 65 72 61 00 30 00 |p_forcecamera.0.|
000002E0 6d 70 5f 66 6f 72 63 65 63 68 61 73 65 63 61 6d |mp_forcechasecam|
000002F0 00 30 00 6d 70 5f 66 6f 72 63 65 72 65 73 70 61 |.0.mp_forcerespa|
00000300 77 6e 00 30 00 6d 70 5f 66 72 61 67 6c 69 6d 69 |wn.0.mp_fraglimi|
00000310 74 00 30 00 6d 70 5f 66 72 61 67 73 6c 65 66 74 |t.0.mp_fragsleft|
00000320 00 30 00 6d 70 5f 66 72 65 65 66 6f 72 61 6c 6c |.0.mp_freeforall|
00000330 00 30 00 6d 70 5f 66 72 65 65 7a 65 74 69 6d 65 |.0.mp_freezetime|
00000340 00 31 00 6d 70 5f 66 72 69 65 6e 64 6c 79 66 69 |.1.mp_friendlyfi|
00000350 72 65 00 30 00 6d 70 5f 68 6f 73 74 61 67 65 5f |re.0.mp_hostage_|
00000360 68 75 72 74 61 62 6c 65 00 31 00 6d 70 5f 68 6f |hurtable.1.mp_ho|
00000370 73 74 61 67 65 70 65 6e 61 6c 74 79 00 30 00 6d |stagepenalty.0.m|
00000380 70 5f 69 74 65 6d 5f 73 74 61 79 74 69 6d 65 00 |p_item_staytime.|
00000390 33 30 30 00 6d 70 5f 6b 69 63 6b 70 65 72 63 65 |300.mp_kickperce|
000003A0 6e 74 00 31 30 30 00 6d 70 5f 6c 65 67 61 63 79 |nt.100.mp_legacy|
000003B0 5f 62 6f 6d 62 74 61 72 67 65 74 5f 74 6f 75 63 |_bombtarget_touc|
000003C0 68 00 31 00 6d 70 5f 6c 6f 67 64 65 74 61 69 6c |h.1.mp_logdetail|
000003D0 00 30 00 6d 70 5f 6c 6f 67 66 69 6c 65 00 31 00 |.0.mp_logfile.1.|
000003E0 6d 70 5f 6c 6f 67 6d 65 73 73 61 67 65 73 00 31 |mp_logmessages.1|
000003F0 00 6d 70 5f 6d 61 70 76 6f 74 65 72 61 74 69 6f |.mp_mapvoteratio|
00000400 00 30 2e 36 36 00 6d 70 5f 6d 61 78 6d 6f 6e 65 |.0.66.mp_maxmone|
00000410 79 00 31 36 30 30 30 00 6d 70 5f 6d 61 78 72 6f |y.16000.mp_maxro|
00000420 75 6e 64 73 00 30 00 6d 70 5f 6d 69 72 72 6f 72 |unds.0.mp_mirror|
00000430 64 61 6d 61 67 65 00 30 00 6d 70 5f 6f 6c 64 5f |damage.0.mp_old_|
00000440 62 6f 6d 62 5f 64 65 66 75 73 65 64 5f 73 6f 75 |bomb_defused_sou|
00000450 6e 64 00 30 00 6d 70 5f 70 6c 61 79 65 72 69 64 |nd.0.mp_playerid|
00000460 00 31 00 6d 70 5f 72 65 73 70 61 77 6e 5f 69 6d |.1.mp_respawn_im|
00000470 6d 75 6e 69 74 79 74 69 6d 65 00 30 2e 34 00 6d |munitytime.0.4.m|
00000480 70 5f 72 6f 75 6e 64 5f 69 6e 66 69 6e 69 74 65 |p_round_infinite|
00000490 00 30 00 6d 70 5f 72 6f 75 6e 64 5f 72 65 73 74 |.0.mp_round_rest|
000004A0 61 72 74 5f 64 65 6c 61 79 00 35 00 6d 70 5f 72 |art_delay.5.mp_r|
000004B0 6f 75 6e 64 6f 76 65 72 00 30 00 6d 70 5f 72 6f |oundover.0.mp_ro|
000004C0 75 6e 64 74 69 6d 65 00 33 00 6d 70 5f 73 68 6f |undtime.3.mp_sho|
000004D0 77 5f 72 61 64 69 6f 69 63 6f 6e 00 31 00 6d 70 |w_radioicon.1.mp|
000004E0 5f 73 74 61 72 74 6d 6f 6e 65 79 00 38 30 30 00 |_startmoney.800.|
000004F0 6d 70 5f 74 69 6d 65 6c 65 66 74 00 31 36 3a 34 |mp_timeleft.16:4|
00000500 35 00 6d 70 5f 74 69 6d 65 6c 69 6d 69 74 00 32 |5.mp_timelimit.2|
00000510 30 00 6d 70 5f 74 6b 70 75 6e 69 73 68 00 30 00 |0.mp_tkpunish.0.|
00000520 6d 70 5f 77 69 6e 64 69 66 66 65 72 65 6e 63 65 |mp_windifference|
00000530 00 31 00 6d 70 5f 77 69 6e 6c 69 6d 69 74 00 30 |.1.mp_winlimit.0|
00000540 00 70 61 75 73 61 62 6c 65 00 30 00 72 65 61 69 |.pausable.0.reai|
00000550 6d 64 65 74 65 63 74 6f 72 5f 76 65 72 73 69 6f |mdetector_versio|
00000560 6e 00 30 2e 31 2e 36 00 72 65 61 75 74 68 63 68 |n.0.1.6.reauthch|
00000570 65 63 6b 5f 76 65 72 73 |eck_vers|
00000578
00000000 fe ff ff ff 66 b0 02 00 12 69 6f 6e 00 30 2e 31 |....f....ion.0.1|
00000010 2e 36 00 72 65 73 65 6d 69 63 6c 69 70 5f 76 65 |.6.resemiclip_ve|
00000020 72 73 69 6f 6e 00 32 2e 33 2e 39 00 72 65 75 5f |rsion.2.3.9.reu_|
00000030 76 65 72 73 69 6f 6e 00 30 2e 31 2e 37 35 00 72 |version.0.1.75.r|
00000040 6f 63 6b 32 62 61 6e 00 31 2e 30 32 00 73 62 68 |ock2ban.1.02.sbh|
00000050 6f 70 70 65 72 5f 76 65 72 73 69 6f 6e 00 31 2e |opper_version.1.|
00000060 32 00 53 4e 41 43 5f 56 65 72 73 69 6f 6e 00 31 |2.SNAC_Version.1|
00000070 2e 30 00 73 76 5f 61 63 63 65 6c 65 72 61 74 65 |.0.sv_accelerate|
00000080 00 35 00 73 76 5f 61 69 6d 00 30 00 73 76 5f 61 |.5.sv_aim.0.sv_a|
00000090 69 72 61 63 63 65 6c 65 72 61 74 65 00 31 30 30 |iraccelerate.100|
000000A0 00 73 76 5f 61 6c 6c 6f 77 75 70 6c 6f 61 64 00 |.sv_allowupload.|
000000B0 30 00 73 76 5f 61 6c 6c 74 61 6c 6b 00 31 00 73 |0.sv_alltalk.1.s|
000000C0 76 5f 62 6f 75 6e 63 65 00 31 00 73 76 5f 63 68 |v_bounce.1.sv_ch|
000000D0 65 61 74 73 00 30 00 73 76 5f 63 6c 69 65 6e 74 |eats.0.sv_client|
000000E0 74 72 61 63 65 00 31 00 73 76 5f 63 6f 6e 74 61 |trace.1.sv_conta|
000000F0 63 74 00 76 6b 2e 63 6f 6d 2f 77 61 72 33 66 74 |ct.vk.com/war3ft|
00000100 00 73 76 5f 66 72 69 63 74 69 6f 6e 00 34 00 73 |.sv_friction.4.s|
00000110 76 5f 67 72 61 76 69 74 79 00 38 30 30 00 73 76 |v_gravity.800.sv|
00000120 5f 6c 6f 67 62 6c 6f 63 6b 73 00 30 00 73 76 5f |_logblocks.0.sv_|
00000130 6d 61 78 72 61 74 65 00 31 30 30 30 30 30 00 73 |maxrate.100000.s|
00000140 76 5f 6d 61 78 73 70 65 65 64 00 34 36 30 00 73 |v_maxspeed.460.s|
00000150 76 5f 6d 69 6e 72 61 74 65 00 32 35 30 30 30 00 |v_minrate.25000.|
00000160 73 76 5f 70 61 73 73 77 6f 72 64 00 30 00 73 76 |sv_password.0.sv|
00000170 5f 70 72 6f 78 69 65 73 00 31 00 73 76 5f 72 65 |_proxies.1.sv_re|
00000180 73 74 61 72 74 00 30 00 73 76 5f 72 65 73 74 61 |start.0.sv_resta|
00000190 72 74 72 6f 75 6e 64 00 30 00 73 76 5f 73 74 65 |rtround.0.sv_ste|
000001A0 70 73 69 7a 65 00 31 38 00 73 76 5f 73 74 6f 70 |psize.18.sv_stop|
000001B0 73 70 65 65 64 00 37 35 00 73 76 5f 75 70 6c 6f |speed.75.sv_uplo|
000001C0 61 64 6d 61 78 00 30 2e 35 00 73 76 5f 76 65 72 |admax.0.5.sv_ver|
000001D0 73 69 6f 6e 00 31 2e 31 2e 32 2e 37 2f 53 74 64 |sion.1.1.2.7/Std|
000001E0 69 6f 2c 34 38 2c 31 35 30 31 00 73 76 5f 76 6f |io,48,1501.sv_vo|
000001F0 69 63 65 65 6e 61 62 6c 65 00 31 00 73 76 5f 77 |iceenable.1.sv_w|
00000200 61 74 65 72 61 63 63 65 6c 65 72 61 74 65 00 31 |ateraccelerate.1|
00000210 30 00 73 76 5f 77 61 74 65 72 66 72 69 63 74 69 |0.sv_waterfricti|
00000220 6f 6e 00 31 00 56 54 43 5f 56 65 72 73 69 6f 6e |on.1.VTC_Version|
00000230 00 32 30 31 37 52 43 33 00 77 63 33 5f 63 68 65 |.2017RC3.wc3_che|
00000240 61 74 73 00 30 00 77 63 33 5f 73 61 76 65 5f 70 |ats.0.wc3_save_p|
00000250 72 75 6e 69 6e 67 00 30 00 77 63 33 5f 73 61 76 |runing.0.wc3_sav|
00000260 65 5f 78 70 00 31 00 77 63 33 5f 78 70 5f 6d 75 |e_xp.1.wc3_xp_mu|
00000270 6c 74 69 70 6c 69 65 72 00 30 2e 38 37 00 77 68 |ltiplier.0.87.wh|
00000280 62 5f 76 65 72 73 69 6f 6e 00 31 2e 35 2e 36 39 |b_version.1.5.69|
00000290 32 00 |2.|
00000292
Delails:
{
"protocol": 48,
"hostname": "WAR3FT Пивка для Рывка 202 lvl [Steam Bonus]",
"map": "cs_mansion",
"game_dir": "cstrike",
"game_descr": "Counter-Strike",
"steamappid": 10,
"num_players": 31,
"max_players": 32,
"num_bots": 0,
"dedicated": "d",
"os": "l",
"password": 0,
"secure": 1,
"version": "1.1.2.7/Stdio",
"port": 27141
}
Players:
{
"num_players": 31,
"players": [
{
"id": 0,
"name": "Where's your God?",
"score": 0,
"time": 201.9951171875
},
{
"id": 1,
"name": "VNDY WVRHOL",
"score": 2,
"time": 201.06365966796875
},
{
"id": 2,
"name": "Hnt | Klaus Wilson",
"score": 10,
"time": 202.74851989746094
},
{
"id": 3,
"name": "host",
"score": 0,
"time": 202.98797607421875
},
{
"id": 4,
"name": "Crab's[LS]*Leeroy",
"score": 0,
"time": 202.64566040039062
},
{
"id": 5,
"name": "##MaKsIm##",
"score": 0,
"time": 189.560302734375
},
{
"id": 6,
"name": "Zeus mode: ON",
"score": 3,
"time": 121.91580200195312
},
{
"id": 7,
"name": "4YMA",
"score": 0,
"time": 89.8039321899414
},
{
"id": 8,
"name": "LIS",
"score": 3,
"time": 202.0601043701172
},
{
"id": 9,
"name": "pro100dno",
"score": 0,
"time": 81.6260757446289
},
{
"id": 10,
"name": "BeerAndWar3 | Inkognito",
"score": 0,
"time": 202.4422149658203
},
{
"id": 11,
"name": "ZEK",
"score": 3,
"time": 202.167724609375
},
{
"id": 12,
"name": "((((((((((",
"score": 0,
"time": 19.541406631469727
},
{
"id": 13,
"name": "ZmeyDikiy",
"score": 0,
"time": 199.90415954589844
},
{
"id": 14,
"name": "VK: VK.COM/WAR3FT",
"score": 0,
"time": 9188.568359375
},
{
"id": 15,
"name": "ASASSIN",
"score": 1,
"time": 201.36526489257812
},
{
"id": 16,
"name": "Jek666Grin",
"score": 0,
"time": 202.4399871826172
},
{
"id": 17,
"name": "GOOD_GAME",
"score": 6,
"time": 176.60316467285156
},
{
"id": 18,
"name": "0x0mHik",
"score": 0,
"time": 202.3656005859375
},
{
"id": 19,
"name": "sirozha",
"score": 4,
"time": 201.15948486328125
},
{
"id": 20,
"name": "nelegal",
"score": 0,
"time": 54.340293884277344
},
{
"id": 21,
"name": "Benehirde",
"score": 5,
"time": 202.1158447265625
},
{
"id": 22,
"name": "kekie",
"score": 1,
"time": 201.4827117919922
},
{
"id": 23,
"name": "Jesus Christ",
"score": 0,
"time": 202.5996551513672
},
{
"id": 24,
"name": "Shrayktorn",
"score": 5,
"time": 182.41297912597656
},
{
"id": 25,
"name": "JUST4SLEEP",
"score": 0,
"time": 5.280276775360107
},
{
"id": 26,
"name": "SaN[4]eZ",
"score": 0,
"time": 202.0749053955078
},
{
"id": 27,
"name": "CEP}I{",
"score": 2,
"time": 202.48855590820312
},
{
"id": 28,
"name": "ISCO DISCO",
"score": 6,
"time": 200.81954956054688
},
{
"id": 29,
"name": "Mungo`s",
"score": 5,
"time": 200.8649139404297
},
{
"id": 30,
"name": "Lobster",
"score": 3,
"time": 202.22369384765625
}
]
}
Result ( output of $GameQ->process() ):
{
"193.26.217.15:27141": {
"gq_address": "193.26.217.15",
"gq_dedicated": null,
"gq_gametype": null,
"gq_hostname": null,
"gq_joinlink": "steam://connect/193.26.217.15:27141/",
"gq_mapname": null,
"gq_maxplayers": null,
"gq_mod": null,
"gq_name": "Source Server",
"gq_numplayers": null,
"gq_online": false,
"gq_password": null,
"gq_port_client": 27141,
"gq_port_query": 27141,
"gq_protocol": "source",
"gq_transport": "udp",
"gq_type": "source",
"players": [],
"teams": []
}
}
As you can see, A2S_RULES is not processed.
Спасибо за информацию. Отмечу ещё, что в GameAP используется форк -- https://github.com/et-nik/GameQ
Поковыряю тоже её
Да, я видал. Но код для Source не менялся уже годами, так что на данный момент нет разницы на чём проверять.
В итоге я получил что требовалось.
Ситуация такая:
Сейчас проверка на GoldSrc не срабатывает, поскольку сервер отвечает c A2S_INFO с флагом I
(для старых версий ответ был m
).
Из-за этого у нас не активируется переключатель на GoldSrc
// We need to peek and see what kind of engine this is for later processing
//if ($buffer->lookAhead(1) == "\x6d") {
$this->source_engine = self::GOLDSOURCE_ENGINE;
//}
который нужен для использования корректного (старого) для нас метода обработки многопакетного ответа.
// Gold source
if ($this->source_engine == self::GOLDSOURCE_ENGINE) {
// Grab the packet number (byte)
$packet_number = $buffer->readInt8();
...
Если там принудительно указать что мы обрабатываем GoldSrc, то A2S_RULES будет корректно обработан.
Так что в итоге, решением является указание в вашем добавленном классе Protocols/Goldsource что мы работаем с GoldSrc: $source_engine = self::GOLDSOURCE_ENGINE;
.
Спасибо!
Чтобы не плодить иссуи спрошу здесь: а сейчас FastRCON и обычные RCON команды, не реализованы?
Вижу что можно указывать команды в конфигурации шаблона сервера, а вот где они сами на странице сервера - не вижу.
Да, ещё не реализованы, к сожалению. FastRCON команды будут списком под консолью.
Для RCON будет использоваться библиотека аналогичная GameQ для Query протокола. А так как библиотеки подобной я не находил, то придётся своё решение писать.
Ну ничего, LGSL в крайнем случае спасёт в плане самих запросов :D