ribasco / async-gamequery-lib

A high-performance java game query library designed for steam/source based games and others
https://ribasco.github.io/async-gamequery-lib/
Apache License 2.0
125 stars 27 forks source link

Invalid packet type: 1 #208

Open romanvoloboev opened 1 year ago

romanvoloboev commented 1 year ago

The problem happens sometimes during executing command ListPlayers for SQUAD server

image

ribasco commented 1 year ago

Thanks for reporting. I tried setting up a local squad server via docker, however I am unable to receive any proper response from the server (only getting timeout exceptions). Do you have a test rcon server I can connect to for testing?

Also it would be great if you could provide a debug log output of the error (enable debug in com.ibasco.agql.protocols.valve.source.query.rcon package).

romanvoloboev commented 1 year ago

Hi, I don't have test server.. but you can use LinuxGSM installation script instead of docker, it's easy to set up server via it. Also want to mention that to reproduce this error you need server with players, I think empty server will be useless. And this error happens rarely, like 1 time per 20 tries. I will try to enable debug and will share logs here in case if I will catch it.

romanvoloboev commented 1 year ago

here we go app.log but this error happened during executing ShowCurrentMap command I also noticed that it happened for ListPlayers, but not this time.. will keep waiting for it

romanvoloboev commented 1 year ago

log2.txt

romanvoloboev commented 9 months ago

any updates?

romanvoloboev commented 5 months ago

hello, any updates?

romanvoloboev commented 5 months ago

@ribasco I envestigiated this issue.

The problem happens when after sending comand library recieves as response for it some packet with Id = 0, Type = 1 (undocumented) I don't know what that type means, but it's looks like some server logs, here is examples:

  1. 4E 4C 41 57 20 28 4F 6E 6C 69 6E 65 20 49 44 73 3A 20 45 4F 53 3A 20 30 30 30 32 66 66 36 64 30 35 62 38 34 36 62 33 62 36 32 36 36 64 30 38 37 38 32 39 30 38 34 36 20 73 74 65 61 6D 3A 20 37 36 35 36 31 31 39 39 30 33 33 38 31 30 39 37 33 29 20 68 61 73 20 63 72 65 61 74 65 64 20 53 71 75 61 64 20 38 20 28 53 71 75 61 64 20 4E 61 6D 65 3A 20 53 71 75 61 64 20 38 29 20 6F 6E 20 55 6E 69 74 65 64 20 53 74 61 74 65 73 20 41 72 6D 79

  2. 52 65 6D 6F 74 65 20 61 64 6D 69 6E 20 68 61 73 20 77 61 72 6E 65 64 20 70 6C 61 79 65 72 20 20 D0 AF 20 D0 A3 D0 9A D0 A0 D0 90 D0 87 D0 9D D0 95 D0 A6 D0 AC 2E 20 4D 65 73 73 61 67 65 20 77 61 73 20 22 59 6F 75 20 68 61 76 65 20 62 65 65 6E 20 6B 69 6C 6C 65 64 20 62 79 20 74 65 61 6D 6D 61 74 65 20 20 47 55 45 53 53 57 48 4F 22

image

So I implemented some quick dirty fix for myself just by adding condition to ignore such packets. Sorry, for no PR, I want you take a look and implemented maybe better fix at your own decision.