gamedig / node-gamedig

Query game servers and not only! Node.JS/Deno/Bun or Bash (via the CLI).
https://www.npmjs.com/package/gamedig
MIT License
607 stars 146 forks source link

UnrealTournament (99) query return "Server is offline" #141

Closed oreleraki closed 3 years ago

oreleraki commented 5 years ago

It seems that a perfectly function servers are returning "Server is offline". When i enabled debug, i received in logs all messages. But it seems that some expected udp response got timeouts.

Q#0 Registered RTT: 23ms
Q#0 Received part num=1 queryId=39 final=true
Q#0 Received part #1 of 1
Q#0 Received all parts
Q#0 UDP send finished by callback
Q#0 45.83.43.205:5556 UDP-->
Q#0 Buffer length: 9 bytes
5c 70 6c 61 79 65 72 73 5c
\  p  l  a  y  e  r  s  \

Q#0 UDP timeout detected
Q#0 Query failed with error Error: UDP - Timed out after 2000ms
    at Timeout.setTimeout (C:\Users\Orel\Desktop\node-test\node_modules\gamedig\lib\Promises.js:7:25)
    at ontimeout (timers.js:436:11)
    at tryOnTimeout (timers.js:300:5)
    at listOnTimeout (timers.js:263:5)
    at Timer.processTimers (timers.js:223:10)
mmorrisontx commented 5 years ago

I'm not totally sure what's up with this one. Every other ut99 server I tried (from gametracker) seems to respond properly, either with a list of players, or with an empty callback if the server is empty.

oreleraki commented 4 years ago

@sonicsnes This doesn't happen in every server, i suspect it happening in server that support "XServerQuery" extended info, but not yet sure.

Reproduce:

    type: 'ut',
    //host: '139.162.235.20',
    host: 'de2.zkyp.nl',
    //port: '7777'
    debug: true,

After debugging i'm noticing it extracting "\info\" but it doesn't receive socket callback for "\players\", i tried creating a dgram and fire to \players\ to the same ip and got response.

ut gamespy1 request can be built and is being built by 3 parts: \info\ \rules \players\ I found out that only the first 2 sections are work: "\info\" and "\rules\" while the third request "\players\" is failing. But when i comment out "\rules\" and left it to "\info" and "\players\" it's working. This leads me to think that sometimes there is an issue with the 3rd(or because it last) request. I verified it by switching the order of \rules\ and \players\ so now it's \players\ \rules\ and not i'm failing on rules and not players. Something apparently is not recycle correctly.

If you have any suggestion will glad to here them.

Vivers0 commented 3 years ago

Most likely the "port" parameter should be of the type Number (Personally, I had a problem with this) type: 'ut', host: '139.162.235.20", port: 7777, debug: true

oreleraki commented 3 years ago

Most likely the "port" parameter should be of the type Number (Personally, I had a problem with this) type: 'ut', host: '139.162.235.20", port: 7777, debug: true

Nope, that isn't the issue.

mmorrisontx commented 3 years ago

Is there a server up consistently which exhibits this issue?

oreleraki commented 3 years ago

Is there a server up consistently which exhibits this issue?

31.220.4.155:2250 66.85.80.155:7797 - Problematic, XServerQuery reply

Probably a problem with how it interacts with XServerQuery servers.

mmorrisontx commented 3 years ago

It seems that both of these servers are working properly for me locally 🤔

$ bin/gamedig.js --debug --type ut 31.220.4.155:2250 ``` Q#0 Starting Q#0 Protocol: Gamespy1 Q#0 Options: { socketTimeout: 2000, attemptTimeout: 10000, maxAttempts: 1, port: 2251, protocol: 'gamespy1', type: 'ut', host: '31.220.4.155', debug: true } Q#0 DNS Lookup: 31.220.4.155 Q#0 Raw IP Address: 31.220.4.155 Q#0 31.220.4.155:2251 UDP--> Q#0 Buffer length: 6 bytes 5c 69 6e 66 6f 5c \ i n f o \ 31.220.4.155:2251 <--UDP Buffer length: 304 bytes 5c 68 6f 73 74 6e 61 6d 65 5c 20 46 61 73 74 20 44 6f 77 6e 6c \ h o s t n a m e \ F a s t D o w n l 6f 61 64 20 53 4d 6f 4b 69 4e 47 20 34 20 45 76 65 72 79 6f 6e o a d S M o K i N G 4 E v e r y o n 65 20 20 3e 47 52 41 50 50 4c 45 3c 20 20 53 65 72 76 65 72 20 e > G R A P P L E < S e r v e r 20 20 20 20 20 20 20 20 20 20 48 6f 73 74 65 64 20 62 79 20 77 H o s t e d b y w 77 77 2e 68 6f 73 74 68 61 74 63 68 2e 63 6f 6d 5c 68 6f 73 74 w w . h o s t h a t c h . c o m \ h o s t 70 6f 72 74 5c 32 32 35 30 5c 6d 61 70 74 69 74 6c 65 5c 4c 65 p o r t \ 2 2 5 0 \ m a p t i t l e \ L e 73 73 20 42 6c 65 61 6b 5c 6d 61 70 6e 61 6d 65 5c 43 54 46 2d s s B l e a k \ m a p n a m e \ C T F - 42 6c 65 61 6b 2d 43 45 31 30 30 5c 67 61 6d 65 74 79 70 65 5c B l e a k - C E 1 0 0 \ g a m e t y p e \ 43 54 46 47 61 6d 65 5c 6e 75 6d 70 6c 61 79 65 72 73 5c 31 34 C T F G a m e \ n u m p l a y e r s \ 1 4 5c 6d 61 78 70 6c 61 79 65 72 73 5c 36 34 5c 67 61 6d 65 6d 6f \ m a x p l a y e r s \ 6 4 \ g a m e m o 64 65 5c 6f 70 65 6e 70 6c 61 79 69 6e 67 5c 67 61 6d 65 76 65 d e \ o p e n p l a y i n g \ g a m e v e 72 5c 34 35 31 5c 6d 69 6e 6e 65 74 76 65 72 5c 34 33 32 5c 77 r \ 4 5 1 \ m i n n e t v e r \ 4 3 2 \ w 6f 72 6c 64 6c 6f 67 5c 66 61 6c 73 65 5c 77 61 6e 74 77 6f 72 o r l d l o g \ f a l s e \ w a n t w o r 6c 64 6c 6f 67 5c 66 61 6c 73 65 5c 71 75 65 72 79 69 64 5c 36 l d l o g \ f a l s e \ q u e r y i d \ 6 31 2e 31 5c 66 69 6e 61 6c 5c 1 . 1 \ f i n a l \ Q#0 Registered RTT: 137ms Q#0 Received part num=1 queryId=61 final=true Q#0 Received part #1 of 1 Q#0 Received all parts Q#0 { hostname: ' Fast Download SMoKiNG 4 Everyone >GRAPPLE< Server Hosted by www.hosthatch.com', hostport: '2250', maptitle: 'Less Bleak', mapname: 'CTF-Bleak-CE100', gametype: 'CTFGame', numplayers: '14', maxplayers: '64', gamemode: 'openplaying', gamever: '451', minnetver: '432', worldlog: 'false', wantworldlog: 'false' } Q#0 UDP send finished by callback Q#0 31.220.4.155:2251 UDP--> Q#0 Buffer length: 7 bytes 5c 72 75 6c 65 73 5c \ r u l e s \ 31.220.4.155:2251 <--UDP Buffer length: 467 bytes 5c 6d 75 74 61 74 6f 72 73 5c 5a 65 72 6f 50 69 6e 67 50 6c 75 \ m u t a t o r s \ Z e r o P i n g P l u 73 3a 20 5a 65 72 6f 50 69 6e 67 2c 20 5b 52 5d 5e 73 64 6a 2c s : Z e r o P i n g , [ R ] ^ s d j , 20 41 75 42 69 6e 64 2c 20 5b 52 5d 5e 47 72 61 70 70 6c 65 2c A u B i n d , [ R ] ^ G r a p p l e , 20 52 61 6e 6b 73 2c 20 4d 61 70 2d 56 6f 74 65 20 4c 41 31 33 R a n k s , M a p - V o t e L A 1 3 2c 20 5a 65 72 6f 50 69 6e 67 50 6c 75 73 3a 20 5a 65 72 6f 50 , Z e r o P i n g P l u s : Z e r o P 69 6e 67 2c 20 5b 52 5d 5e 73 64 6a 2c 20 41 75 42 69 6e 64 2c i n g , [ R ] ^ s d j , A u B i n d , 20 5b 52 5d 5e 47 72 61 70 70 6c 65 2c 20 52 61 6e 6b 73 2c 20 [ R ] ^ G r a p p l e , R a n k s , 45 62 6f 34 72 63 65 2c 20 4e 53 50 54 68 78 2c 20 41 75 74 6f E b o 4 r c e , N S P T h x , A u t o 20 54 65 61 6d 20 42 61 6c 61 6e 63 65 5c 6c 69 73 74 65 6e 73 T e a m B a l a n c e \ l i s t e n s 65 72 76 65 72 5c 46 61 6c 73 65 5c 70 61 73 73 77 6f 72 64 5c e r v e r \ F a l s e \ p a s s w o r d \ 46 61 6c 73 65 5c 74 69 6d 65 6c 69 6d 69 74 5c 34 30 5c 67 6f F a l s e \ t i m e l i m i t \ 4 0 \ g o 61 6c 74 65 61 6d 73 63 6f 72 65 5c 37 5c 6d 69 6e 70 6c 61 79 a l t e a m s c o r e \ 7 \ m i n p l a y 65 72 73 5c 36 5c 63 68 61 6e 67 65 6c 65 76 65 6c 73 5c 54 72 e r s \ 6 \ c h a n g e l e v e l s \ T r 75 65 5c 6d 61 78 74 65 61 6d 73 5c 32 5c 62 61 6c 61 6e 63 65 u e \ m a x t e a m s \ 2 \ b a l a n c e 74 65 61 6d 73 5c 54 72 75 65 5c 70 6c 61 79 65 72 73 62 61 6c t e a m s \ T r u e \ p l a y e r s b a l 61 6e 63 65 74 65 61 6d 73 5c 54 72 75 65 5c 66 72 69 65 6e 64 a n c e t e a m s \ T r u e \ f r i e n d 6c 79 66 69 72 65 5c 30 25 5c 74 6f 75 72 6e 61 6d 65 6e 74 5c l y f i r e \ 0 % \ t o u r n a m e n t \ 46 61 6c 73 65 5c 67 61 6d 65 73 74 79 6c 65 5c 48 61 72 64 63 F a l s e \ g a m e s t y l e \ H a r d c 6f 72 65 5c 62 6f 74 73 6b 69 6c 6c 5c 41 76 65 72 61 67 65 5c o r e \ b o t s k i l l \ A v e r a g e \ 41 64 6d 69 6e 4e 61 6d 65 5c 53 4d 6f 6b 65 72 5c 41 64 6d 69 A d m i n N a m e \ S M o k e r \ A d m i 6e 45 4d 61 69 6c 5c 66 72 61 6e 6b 79 63 72 65 77 40 79 61 68 n E M a i l \ f r a n k y c r e w @ y a h 6f 6f 2e 63 6f 6d 5c 71 75 65 72 79 69 64 5c 36 32 2e 31 5c 66 o o . c o m \ q u e r y i d \ 6 2 . 1 \ f 69 6e 61 6c 5c i n a l \ Q#0 Registered RTT: 137ms Q#0 Received part num=1 queryId=62 final=true Q#0 Received part #1 of 1 Q#0 Received all parts Q#0 { mutators: 'ZeroPingPlus: ZeroPing, [R]^sdj, AuBind, [R]^Grapple, Ranks, Map-Vote LA13, ZeroPingPlus: ZeroPing, [R]^sdj, AuBind, [R]^Grapple, Ranks, Ebo4rce, NSPThx, Auto Team Balance', listenserver: 'False', password: 'False', timelimit: '40', goalteamscore: '7', minplayers: '6', changelevels: 'True', maxteams: '2', balanceteams: 'True', playersbalanceteams: 'True', friendlyfire: '0%', tournament: 'False', gamestyle: 'Hardcore', botskill: 'Average', AdminName: 'SMoker', AdminEMail: 'frankycrew@yahoo.com' } Q#0 UDP send finished by callback Q#0 31.220.4.155:2251 UDP--> Q#0 Buffer length: 9 bytes 5c 70 6c 61 79 65 72 73 5c \ p l a y e r s \ 31.220.4.155:2251 <--UDP Buffer length: 981 bytes 5c 70 6c 61 79 65 72 5f 30 5c 49 6e 74 65 72 6c 6f 70 65 72 5c \ p l a y e r _ 0 \ I n t e r l o p e r \ 66 72 61 67 73 5f 30 5c 30 5c 70 69 6e 67 5f 30 5c 20 31 37 37 f r a g s _ 0 \ 0 \ p i n g _ 0 \ 1 7 7 5c 74 65 61 6d 5f 30 5c 31 5c 6d 65 73 68 5f 30 5c 4d 61 6c 65 \ t e a m _ 0 \ 1 \ m e s h _ 0 \ M a l e 20 53 6f 6c 64 69 65 72 5c 73 6b 69 6e 5f 30 5c 53 6f 6c 64 69 S o l d i e r \ s k i n _ 0 \ S o l d i 65 72 53 6b 69 6e 73 2e 42 6c 6b 74 5c 66 61 63 65 5f 30 5c 53 e r S k i n s . B l k t \ f a c e _ 0 \ S 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 4d 61 6c 63 6f 6d 5c 6e 67 o l d i e r S k i n s . M a l c o m \ n g 73 65 63 72 65 74 5f 30 5c 74 72 75 65 5c 70 6c 61 79 65 72 5f s e c r e t _ 0 \ t r u e \ p l a y e r _ 31 5c 61 62 72 61 7a 6d 61 6e 5c 66 72 61 67 73 5f 31 5c 34 32 1 \ a b r a z m a n \ f r a g s _ 1 \ 4 2 5c 70 69 6e 67 5f 31 5c 20 36 39 5c 74 65 61 6d 5f 31 5c 30 5c \ p i n g _ 1 \ 6 9 \ t e a m _ 1 \ 0 \ 6d 65 73 68 5f 31 5c 4d 61 6c 65 20 43 6f 6d 6d 61 6e 64 6f 5c m e s h _ 1 \ M a l e C o m m a n d o \ 73 6b 69 6e 5f 31 5c 43 6f 6d 6d 61 6e 64 6f 53 6b 69 6e 73 2e s k i n _ 1 \ C o m m a n d o S k i n s . 63 6d 64 6f 5c 66 61 63 65 5f 31 5c 43 6f 6d 6d 61 6e 64 6f 53 c m d o \ f a c e _ 1 \ C o m m a n d o S 6b 69 6e 73 2e 42 6c 61 6b 65 5c 6e 67 73 65 63 72 65 74 5f 31 k i n s . B l a k e \ n g s e c r e t _ 1 5c 74 72 75 65 5c 70 6c 61 79 65 72 5f 32 5c 53 74 61 6e 69 73 \ t r u e \ p l a y e r _ 2 \ S t a n i s 6c 61 77 5f 2a 5c 66 72 61 67 73 5f 32 5c 31 5c 70 69 6e 67 5f l a w _ * \ f r a g s _ 2 \ 1 \ p i n g _ 32 5c 36 32 5c 74 65 61 6d 5f 32 5c 31 5c 6d 65 73 68 5f 32 5c 2 \ 6 2 \ t e a m _ 2 \ 1 \ m e s h _ 2 \ 4d 61 6c 65 20 53 6f 6c 64 69 65 72 5c 73 6b 69 6e 5f 32 5c 53 M a l e S o l d i e r \ s k i n _ 2 \ S 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 42 6c 6b 74 5c 66 61 63 65 o l d i e r S k i n s . B l k t \ f a c e 5f 32 5c 53 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 4d 61 6c 63 6f _ 2 \ S o l d i e r S k i n s . M a l c o 6d 5c 6e 67 73 65 63 72 65 74 5f 32 5c 66 61 6c 73 65 5c 70 6c m \ n g s e c r e t _ 2 \ f a l s e \ p l 61 79 65 72 5f 33 5c 3d 56 3d 2a 72 64 6f 66 2a 5c 66 72 61 67 a y e r _ 3 \ = V = * r d o f * \ f r a g 73 5f 33 5c 30 5c 70 69 6e 67 5f 33 5c 32 30 30 5c 74 65 61 6d s _ 3 \ 0 \ p i n g _ 3 \ 2 0 0 \ t e a m 5f 33 5c 30 5c 6d 65 73 68 5f 33 5c 4d 61 6c 65 20 53 6f 6c 64 _ 3 \ 0 \ m e s h _ 3 \ M a l e S o l d 69 65 72 5c 73 6b 69 6e 5f 33 5c 53 6f 6c 64 69 65 72 53 6b 69 i e r \ s k i n _ 3 \ S o l d i e r S k i 6e 73 2e 52 61 77 53 5c 66 61 63 65 5f 33 5c 53 6f 6c 64 69 65 n s . R a w S \ f a c e _ 3 \ S o l d i e 72 53 6b 69 6e 73 2e 41 72 6b 6f 6e 5c 6e 67 73 65 63 72 65 74 r S k i n s . A r k o n \ n g s e c r e t 5f 33 5c 66 61 6c 73 65 5c 70 6c 61 79 65 72 5f 34 5c 66 6c 65 _ 3 \ f a l s e \ p l a y e r _ 4 \ f l e 65 74 77 6f 6f 64 5f 6d 61 63 5c 66 72 61 67 73 5f 34 5c 30 5c e t w o o d _ m a c \ f r a g s _ 4 \ 0 \ 70 69 6e 67 5f 34 5c 31 33 36 5c 74 65 61 6d 5f 34 5c 31 5c 6d p i n g _ 4 \ 1 3 6 \ t e a m _ 4 \ 1 \ m 65 73 68 5f 34 5c 46 65 6d 61 6c 65 20 43 6f 6d 6d 61 6e 64 6f e s h _ 4 \ F e m a l e C o m m a n d o 5c 73 6b 69 6e 5f 34 5c 46 43 6f 6d 6d 61 6e 64 6f 53 6b 69 6e \ s k i n _ 4 \ F C o m m a n d o S k i n 73 2e 67 6f 74 68 5c 66 61 63 65 5f 34 5c 46 43 6f 6d 6d 61 6e s . g o t h \ f a c e _ 4 \ F C o m m a n 64 6f 53 6b 69 6e 73 2e 43 72 79 73 73 5c 6e 67 73 65 63 72 65 d o S k i n s . C r y s s \ n g s e c r e 74 5f 34 5c 66 61 6c 73 65 5c 70 6c 61 79 65 72 5f 35 5c 68 6f t _ 4 \ f a l s e \ p l a y e r _ 5 \ h o 70 6b 65 5c 66 72 61 67 73 5f 35 5c 35 5c 70 69 6e 67 5f 35 5c p k e \ f r a g s _ 5 \ 5 \ p i n g _ 5 \ 36 34 5c 74 65 61 6d 5f 35 5c 30 5c 6d 65 73 68 5f 35 5c 4d 61 6 4 \ t e a m _ 5 \ 0 \ m e s h _ 5 \ M a 6c 65 20 53 6f 6c 64 69 65 72 5c 73 6b 69 6e 5f 35 5c 53 6f 6c l e S o l d i e r \ s k i n _ 5 \ S o l 64 69 65 72 53 6b 69 6e 73 2e 73 6c 64 72 5c 66 61 63 65 5f 35 d i e r S k i n s . s l d r \ f a c e _ 5 5c 53 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 42 72 6f 63 6b 5c 6e \ S o l d i e r S k i n s . B r o c k \ n 67 73 65 63 72 65 74 5f 35 5c 66 61 6c 73 65 5c 70 6c 61 79 65 g s e c r e t _ 5 \ f a l s e \ p l a y e 72 5f 36 5c 48 44 4b 47 5c 66 72 61 67 73 5f 36 5c 30 5c 70 69 r _ 6 \ H D K G \ f r a g s _ 6 \ 0 \ p i 6e 67 5f 36 5c 35 38 5c 74 65 61 6d 5f 36 5c 31 5c 6d 65 73 68 n g _ 6 \ 5 8 \ t e a m _ 6 \ 1 \ m e s h 5f 36 5c 4d 61 6c 65 20 43 6f 6d 6d 61 6e 64 6f 5c 73 6b 69 6e _ 6 \ M a l e C o m m a n d o \ s k i n 5f 36 5c 43 6f 6d 6d 61 6e 64 6f 53 6b 69 6e 73 2e 63 6d 64 6f _ 6 \ C o m m a n d o S k i n s . c m d o 5c 66 61 63 65 5f 36 5c 43 6f 6d 6d 61 6e 64 6f 53 6b 69 6e 73 \ f a c e _ 6 \ C o m m a n d o S k i n s 2e 42 6c 61 6b 65 5c 6e 67 73 65 63 72 65 74 5f 36 5c 66 61 6c . B l a k e \ n g s e c r e t _ 6 \ f a l 73 65 5c 71 75 65 72 79 69 64 5c 36 33 2e 31 s e \ q u e r y i d \ 6 3 . 1 Q#0 Registered RTT: 157ms Q#0 Received part num=1 queryId=63 final=false Q#0 Received part #1 of ? 31.220.4.155:2251 <--UDP Buffer length: 1014 bytes 5c 70 6c 61 79 65 72 5f 37 5c 5b 4a 45 50 50 41 5d 5f 4d 52 5f \ p l a y e r _ 7 \ [ J E P P A ] _ M R _ 4f 49 5a 4f 5c 66 72 61 67 73 5f 37 5c 33 39 5c 70 69 6e 67 5f O I Z O \ f r a g s _ 7 \ 3 9 \ p i n g _ 37 5c 34 34 5c 74 65 61 6d 5f 37 5c 30 5c 6d 65 73 68 5f 37 5c 7 \ 4 4 \ t e a m _ 7 \ 0 \ m e s h _ 7 \ 4d 61 6c 65 20 53 6f 6c 64 69 65 72 5c 73 6b 69 6e 5f 37 5c 53 M a l e S o l d i e r \ s k i n _ 7 \ S 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 42 6c 6b 74 5c 66 61 63 65 o l d i e r S k i n s . B l k t \ f a c e 5f 37 5c 53 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 4d 61 6c 63 6f _ 7 \ S o l d i e r S k i n s . M a l c o 6d 5c 6e 67 73 65 63 72 65 74 5f 37 5c 66 61 6c 73 65 5c 70 6c m \ n g s e c r e t _ 7 \ f a l s e \ p l 61 79 65 72 5f 38 5c 0b 77 78 73 71 85 5c 66 72 61 67 73 5f 38 a y e r _ 8 \ w x s q \ f r a g s _ 8 5c 33 34 5c 70 69 6e 67 5f 38 5c 38 38 5c 74 65 61 6d 5f 38 5c \ 3 4 \ p i n g _ 8 \ 8 8 \ t e a m _ 8 \ 31 5c 6d 65 73 68 5f 38 5c 5c 73 6b 69 6e 5f 38 5c 53 6f 6c 64 1 \ m e s h _ 8 \ \ s k i n _ 8 \ S o l d 69 65 72 53 6b 69 6e 73 2e 73 6c 64 72 5c 66 61 63 65 5f 38 5c i e r S k i n s . s l d r \ f a c e _ 8 \ 53 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 42 72 6f 63 6b 5c 6e 67 S o l d i e r S k i n s . B r o c k \ n g 73 65 63 72 65 74 5f 38 5c 66 61 6c 73 65 5c 70 6c 61 79 65 72 s e c r e t _ 8 \ f a l s e \ p l a y e r 5f 39 5c 53 70 6f 6f 6e 79 5c 66 72 61 67 73 5f 39 5c 34 5c 70 _ 9 \ S p o o n y \ f r a g s _ 9 \ 4 \ p 69 6e 67 5f 39 5c 35 38 5c 74 65 61 6d 5f 39 5c 30 5c 6d 65 73 i n g _ 9 \ 5 8 \ t e a m _ 9 \ 0 \ m e s 68 5f 39 5c 4d 61 6c 65 20 53 6f 6c 64 69 65 72 5c 73 6b 69 6e h _ 9 \ M a l e S o l d i e r \ s k i n 5f 39 5c 53 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 73 6c 64 72 5c _ 9 \ S o l d i e r S k i n s . s l d r \ 66 61 63 65 5f 39 5c 53 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 42 f a c e _ 9 \ S o l d i e r S k i n s . B 72 6f 63 6b 5c 6e 67 73 65 63 72 65 74 5f 39 5c 66 61 6c 73 65 r o c k \ n g s e c r e t _ 9 \ f a l s e 5c 70 6c 61 79 65 72 5f 31 30 5c 65 6c 5f 74 6f 72 72 65 61 64 \ p l a y e r _ 1 0 \ e l _ t o r r e a d 6f 5c 66 72 61 67 73 5f 31 30 5c 33 38 5c 70 69 6e 67 5f 31 30 o \ f r a g s _ 1 0 \ 3 8 \ p i n g _ 1 0 5c 37 37 5c 74 65 61 6d 5f 31 30 5c 31 5c 6d 65 73 68 5f 31 30 \ 7 7 \ t e a m _ 1 0 \ 1 \ m e s h _ 1 0 5c 4d 61 6c 65 20 53 6f 6c 64 69 65 72 5c 73 6b 69 6e 5f 31 30 \ M a l e S o l d i e r \ s k i n _ 1 0 5c 53 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 68 6b 69 6c 5c 66 61 \ S o l d i e r S k i n s . h k i l \ f a 63 65 5f 31 30 5c 53 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 6d 61 c e _ 1 0 \ S o l d i e r S k i n s . m a 74 72 69 78 5c 6e 67 73 65 63 72 65 74 5f 31 30 5c 66 61 6c 73 t r i x \ n g s e c r e t _ 1 0 \ f a l s 65 5c 70 6c 61 79 65 72 5f 31 31 5c 2f 5c 66 72 61 67 73 5f 31 e \ p l a y e r _ 1 1 \ / \ f r a g s _ 1 31 5c 32 5c 70 69 6e 67 5f 31 31 5c 33 37 5c 74 65 61 6d 5f 31 1 \ 2 \ p i n g _ 1 1 \ 3 7 \ t e a m _ 1 31 5c 30 5c 6d 65 73 68 5f 31 31 5c 4d 61 6c 65 20 53 6f 6c 64 1 \ 0 \ m e s h _ 1 1 \ M a l e S o l d 69 65 72 5c 73 6b 69 6e 5f 31 31 5c 53 6f 6c 64 69 65 72 53 6b i e r \ s k i n _ 1 1 \ S o l d i e r S k 69 6e 73 2e 68 6b 69 6c 5c 66 61 63 65 5f 31 31 5c 53 6f 6c 64 i n s . h k i l \ f a c e _ 1 1 \ S o l d 69 65 72 53 6b 69 6e 73 2e 6d 61 74 72 69 78 5c 6e 67 73 65 63 i e r S k i n s . m a t r i x \ n g s e c 72 65 74 5f 31 31 5c 66 61 6c 73 65 5c 70 6c 61 79 65 72 5f 31 r e t _ 1 1 \ f a l s e \ p l a y e r _ 1 32 5c 50 61 74 68 66 69 6e 64 65 72 5c 66 72 61 67 73 5f 31 32 2 \ P a t h f i n d e r \ f r a g s _ 1 2 5c 33 32 5c 70 69 6e 67 5f 31 32 5c 32 35 38 5c 74 65 61 6d 5f \ 3 2 \ p i n g _ 1 2 \ 2 5 8 \ t e a m _ 31 32 5c 31 5c 6d 65 73 68 5f 31 32 5c 46 65 6d 61 6c 65 20 43 1 2 \ 1 \ m e s h _ 1 2 \ F e m a l e C 6f 6d 6d 61 6e 64 6f 5c 73 6b 69 6e 5f 31 32 5c 46 43 6f 6d 6d o m m a n d o \ s k i n _ 1 2 \ F C o m m 61 6e 64 6f 53 6b 69 6e 73 2e 67 6f 74 68 5c 66 61 63 65 5f 31 a n d o S k i n s . g o t h \ f a c e _ 1 32 5c 46 43 6f 6d 6d 61 6e 64 6f 53 6b 69 6e 73 2e 46 72 65 79 2 \ F C o m m a n d o S k i n s . F r e y 6c 69 73 5c 6e 67 73 65 63 72 65 74 5f 31 32 5c 66 61 6c 73 65 l i s \ n g s e c r e t _ 1 2 \ f a l s e 5c 70 6c 61 79 65 72 5f 31 33 5c 70 72 6f 2a 2a 2a 6b 69 6c 6c \ p l a y e r _ 1 3 \ p r o * * * k i l l 65 72 2a 2a 2a 5c 66 72 61 67 73 5f 31 33 5c 31 34 5c 70 69 6e e r * * * \ f r a g s _ 1 3 \ 1 4 \ p i n 67 5f 31 33 5c 36 30 5c 74 65 61 6d 5f 31 33 5c 30 5c 6d 65 73 g _ 1 3 \ 6 0 \ t e a m _ 1 3 \ 0 \ m e s 68 5f 31 33 5c 4d 61 6c 65 20 43 6f 6d 6d 61 6e 64 6f 5c 73 6b h _ 1 3 \ M a l e C o m m a n d o \ s k 69 6e 5f 31 33 5c 43 6f 6d 6d 61 6e 64 6f 53 6b 69 6e 73 2e 64 i n _ 1 3 \ C o m m a n d o S k i n s . d 61 63 6f 5c 66 61 63 65 5f 31 33 5c 43 6f 6d 6d 61 6e 64 6f 53 a c o \ f a c e _ 1 3 \ C o m m a n d o S 6b 69 6e 73 2e 42 6f 72 69 73 5c 6e 67 73 65 63 72 65 74 5f 31 k i n s . B o r i s \ n g s e c r e t _ 1 33 5c 66 61 6c 73 65 5c 71 75 65 72 79 69 64 5c 36 33 2e 32 5c 3 \ f a l s e \ q u e r y i d \ 6 3 . 2 \ 66 69 6e 61 6c 5c f i n a l \ Q#0 Received part num=2 queryId=63 final=true Q#0 Received part #2 of 2 Q#0 Received all parts Q#0 { player_0: 'Interloper', frags_0: '0', ping_0: ' 177', team_0: '1', mesh_0: 'Male Soldier', skin_0: 'SoldierSkins.Blkt', face_0: 'SoldierSkins.Malcom', ngsecret_0: 'true', player_1: 'abrazman', frags_1: '42', ping_1: ' 69', team_1: '0', mesh_1: 'Male Commando', skin_1: 'CommandoSkins.cmdo', face_1: 'CommandoSkins.Blake', ngsecret_1: 'true', player_2: 'Stanislaw_*', frags_2: '1', ping_2: '62', team_2: '1', mesh_2: 'Male Soldier', skin_2: 'SoldierSkins.Blkt', face_2: 'SoldierSkins.Malcom', ngsecret_2: 'false', player_3: '=V=*rdof*', frags_3: '0', ping_3: '200', team_3: '0', mesh_3: 'Male Soldier', skin_3: 'SoldierSkins.RawS', face_3: 'SoldierSkins.Arkon', ngsecret_3: 'false', player_4: 'fleetwood_mac', frags_4: '0', ping_4: '136', team_4: '1', mesh_4: 'Female Commando', skin_4: 'FCommandoSkins.goth', face_4: 'FCommandoSkins.Cryss', ngsecret_4: 'false', player_5: 'hopke', frags_5: '5', ping_5: '64', team_5: '0', mesh_5: 'Male Soldier', skin_5: 'SoldierSkins.sldr', face_5: 'SoldierSkins.Brock', ngsecret_5: 'false', player_6: 'HDKG', frags_6: '0', ping_6: '58', team_6: '1', mesh_6: 'Male Commando', skin_6: 'CommandoSkins.cmdo', face_6: 'CommandoSkins.Blake', ngsecret_6: 'false', player_7: '[JEPPA]_MR_OIZO', frags_7: '39', ping_7: '44', team_7: '0', mesh_7: 'Male Soldier', skin_7: 'SoldierSkins.Blkt', face_7: 'SoldierSkins.Malcom', ngsecret_7: 'false', player_8: '\x0Bwxsq…', frags_8: '34', ping_8: '88', team_8: '1', mesh_8: '', skin_8: 'SoldierSkins.sldr', face_8: 'SoldierSkins.Brock', ngsecret_8: 'false', player_9: 'Spoony', frags_9: '4', ping_9: '58', team_9: '0', mesh_9: 'Male Soldier', skin_9: 'SoldierSkins.sldr', face_9: 'SoldierSkins.Brock', ngsecret_9: 'false', player_10: 'el_torreado', frags_10: '38', ping_10: '77', team_10: '1', mesh_10: 'Male Soldier', skin_10: 'SoldierSkins.hkil', face_10: 'SoldierSkins.matrix', ngsecret_10: 'false', player_11: '/', frags_11: '2', ping_11: '37', team_11: '0', mesh_11: 'Male Soldier', skin_11: 'SoldierSkins.hkil', face_11: 'SoldierSkins.matrix', ngsecret_11: 'false', player_12: 'Pathfinder', frags_12: '32', ping_12: '258', team_12: '1', mesh_12: 'Female Commando', skin_12: 'FCommandoSkins.goth', face_12: 'FCommandoSkins.Freylis', ngsecret_12: 'false', player_13: 'pro***killer***', frags_13: '14', ping_13: '60', team_13: '0', mesh_13: 'Male Commando', skin_13: 'CommandoSkins.daco', face_13: 'CommandoSkins.Boris', ngsecret_13: 'false' } Q#0 UDP send finished by callback Q#0 Size of players array: 14 Q#0 Size of bots array: 0 Q#0 Query was successful { "name": "Fast Download SMoKiNG 4 Everyone >GRAPPLE< Server Hosted by www.hosthatch.com", "map": "CTF-Bleak-CE100", "password": false, "raw": { "hostname": " Fast Download SMoKiNG 4 Everyone >GRAPPLE< Server Hosted by www.hosthatch.com", "hostport": "2250", "maptitle": "Less Bleak", "mapname": "CTF-Bleak-CE100", "gametype": "CTFGame", "numplayers": "14", "maxplayers": "64", "gamemode": "openplaying", "gamever": "451", "minnetver": "432", "worldlog": "false", "wantworldlog": "false", "rules": { "mutators": "ZeroPingPlus: ZeroPing, [R]^sdj, AuBind, [R]^Grapple, Ranks, Map-Vote LA13, ZeroPingPlus: ZeroPing, [R]^sdj, Au Bind, [R]^Grapple, Ranks, Ebo4rce, NSPThx, Auto Team Balance", "listenserver": "False", "password": "False", "timelimit": "40", "goalteamscore": "7", "minplayers": "6", "changelevels": "True", "maxteams": "2", "balanceteams": "True", "playersbalanceteams": "True", "friendlyfire": "0%", "tournament": "False", "gamestyle": "Hardcore", "botskill": "Average", "AdminName": "SMoker", "AdminEMail": "frankycrew@yahoo.com" }, "teams": {} }, "maxplayers": 64, "players": [ { "name": "", "raw": { "player": "Interloper", "frags": "0", "ping": 177, "mesh": "Male Soldier", "skin": "SoldierSkins.Blkt", "face": "SoldierSkins.Malcom", "ngsecret": "true", "team": 1 } }, { "name": "", "raw": { "player": "abrazman", "frags": "42", "ping": 69, "mesh": "Male Commando", "skin": "CommandoSkins.cmdo", "face": "CommandoSkins.Blake", "ngsecret": "true", "team": 0 } }, { "name": "", "raw": { "player": "Stanislaw_*", "frags": "1", "ping": 62, "mesh": "Male Soldier", "skin": "SoldierSkins.Blkt", "face": "SoldierSkins.Malcom", "ngsecret": "false", "team": 1 } }, { "name": "", "raw": { "player": "=V=*rdof*", "frags": "0", "ping": 200, "mesh": "Male Soldier", "skin": "SoldierSkins.RawS", "face": "SoldierSkins.Arkon", "ngsecret": "false", "team": 0 } }, { "name": "", "raw": { "player": "fleetwood_mac", "frags": "0", "ping": 136, "mesh": "Female Commando", "skin": "FCommandoSkins.goth", "face": "FCommandoSkins.Cryss", "ngsecret": "false", "team": 1 } }, { "name": "", "raw": { "player": "hopke", "frags": "5", "ping": 64, "mesh": "Male Soldier", "skin": "SoldierSkins.sldr", "face": "SoldierSkins.Brock", "ngsecret": "false", "team": 0 } }, { "name": "", "raw": { "player": "HDKG", "frags": "0", "ping": 58, "mesh": "Male Commando", "skin": "CommandoSkins.cmdo", "face": "CommandoSkins.Blake", "ngsecret": "false", "team": 1 } }, { "name": "", "raw": { "player": "[JEPPA]_MR_OIZO", "frags": "39", "ping": 44, "mesh": "Male Soldier", "skin": "SoldierSkins.Blkt", "face": "SoldierSkins.Malcom", "ngsecret": "false", "team": 0 } }, { "name": "", "raw": { "player": "\u000bwxsq…", "frags": "34", "ping": 88, "mesh": "", "skin": "SoldierSkins.sldr", "face": "SoldierSkins.Brock", "ngsecret": "false", "team": 1 } }, { "name": "", "raw": { "player": "Spoony", "frags": "4", "ping": 58, "mesh": "Male Soldier", "skin": "SoldierSkins.sldr", "face": "SoldierSkins.Brock", "ngsecret": "false", "team": 0 } }, { "name": "", "raw": { "player": "el_torreado", "frags": "38", "ping": 77, "mesh": "Male Soldier", "skin": "SoldierSkins.hkil", "face": "SoldierSkins.matrix", "ngsecret": "false", "team": 1 } }, { "name": "", "raw": { "player": "/", "frags": "2", "ping": 37, "mesh": "Male Soldier", "skin": "SoldierSkins.hkil", "face": "SoldierSkins.matrix", "ngsecret": "false", "team": 0 } }, { "name": "", "raw": { "player": "Pathfinder", "frags": "32", "ping": 258, "mesh": "Female Commando", "skin": "FCommandoSkins.goth", "face": "FCommandoSkins.Freylis", "ngsecret": "false", "team": 1 } }, { "name": "", "raw": { "player": "pro***killer***", "frags": "14", "ping": 60, "mesh": "Male Commando", "skin": "CommandoSkins.daco", "face": "CommandoSkins.Boris", "ngsecret": "false", "team": 0 } } ], "bots": [], "connect": "31.220.4.155:2250", "ping": 137 } ```
$ bin/gamedig.js --debug --type ut 66.85.80.155:7797 ``` Q#0 Starting Q#0 Protocol: Gamespy1 Q#0 Options: { socketTimeout: 2000, attemptTimeout: 10000, maxAttempts: 1, port: 7798, protocol: 'gamespy1', type: 'ut', host: '66.85.80.155', debug: true } Q#0 DNS Lookup: 66.85.80.155 Q#0 Raw IP Address: 66.85.80.155 Q#0 66.85.80.155:7798 UDP--> Q#0 Buffer length: 6 bytes 5c 69 6e 66 6f 5c \ i n f o \ 66.85.80.155:7798 <--UDP Buffer length: 280 bytes 5c 68 6f 73 74 6e 61 6d 65 5c 2d 3d 5d 5b 2d 3d 4e 46 52 3d 2d \ h o s t n a m e \ - = ] [ - = N F R = - 5d 5b 3d 2d 45 76 69 6c 27 73 20 46 72 65 65 73 74 6c 79 65 20 ] [ = - E v i l ' s F r e e s t l y e 53 6e 69 70 65 72 20 44 65 61 74 68 6d 61 74 63 68 5c 68 6f 73 S n i p e r D e a t h m a t c h \ h o s 74 70 6f 72 74 5c 37 37 39 37 5c 6d 61 70 74 69 74 6c 65 5c 55 t p o r t \ 7 7 9 7 \ m a p t i t l e \ U 6e 74 69 74 6c 65 64 5c 6d 61 70 6e 61 6d 65 5c 44 4d 2d 5b 6d n t i t l e d \ m a p n a m e \ D M - [ m 53 6e 5d 42 6f 75 6c 62 79 5f 50 6f 74 61 73 68 5f 52 65 6d 69 S n ] B o u l b y _ P o t a s h _ R e m i 78 5c 67 61 6d 65 74 79 70 65 5c 44 65 61 74 68 4d 61 74 63 68 x \ g a m e t y p e \ D e a t h M a t c h 50 6c 75 73 5c 6e 75 6d 70 6c 61 79 65 72 73 5c 31 30 5c 6d 61 P l u s \ n u m p l a y e r s \ 1 0 \ m a 78 70 6c 61 79 65 72 73 5c 32 35 5c 67 61 6d 65 6d 6f 64 65 5c x p l a y e r s \ 2 5 \ g a m e m o d e \ 6f 70 65 6e 70 6c 61 79 69 6e 67 5c 67 61 6d 65 76 65 72 5c 34 o p e n p l a y i n g \ g a m e v e r \ 4 35 31 5c 6d 69 6e 6e 65 74 76 65 72 5c 34 33 32 5c 77 6f 72 6c 5 1 \ m i n n e t v e r \ 4 3 2 \ w o r l 64 6c 6f 67 5c 66 61 6c 73 65 5c 77 61 6e 74 77 6f 72 6c 64 6c d l o g \ f a l s e \ w a n t w o r l d l 6f 67 5c 66 61 6c 73 65 5c 71 75 65 72 79 69 64 5c 33 35 2e 31 o g \ f a l s e \ q u e r y i d \ 3 5 . 1 5c 66 69 6e 61 6c 5c \ f i n a l \ Q#0 Registered RTT: 66ms Q#0 Received part num=1 queryId=35 final=true Q#0 Received part #1 of 1 Q#0 Received all parts Q#0 { hostname: "-=][-=NFR=-][=-Evil's Freestlye Sniper Deathmatch", hostport: '7797', maptitle: 'Untitled', mapname: 'DM-[mSn]Boulby_Potash_Remix', gametype: 'DeathMatchPlus', numplayers: '10', maxplayers: '25', gamemode: 'openplaying', gamever: '451', minnetver: '432', worldlog: 'false', wantworldlog: 'false' } Q#0 UDP send finished by callback Q#0 66.85.80.155:7798 UDP--> Q#0 Buffer length: 7 bytes 5c 72 75 6c 65 73 5c \ r u l e s \ 66.85.80.155:7798 <--UDP Buffer length: 411 bytes 5c 6d 75 74 61 74 6f 72 73 5c 55 54 20 45 6e 68 61 6e 63 65 64 \ m u t a t o r s \ U T E n h a n c e d 20 53 74 61 74 69 73 74 69 63 73 20 2d 20 45 76 69 6c 20 45 64 S t a t i s t i c s - E v i l E d 69 74 69 6f 6e 2c 20 42 6f 75 6e 74 79 48 75 6e 74 65 72 20 53 i t i o n , B o u n t y H u n t e r S 6e 69 70 65 72 20 42 65 74 61 56 33 2c 20 48 4f 46 5f 4e 55 4b n i p e r B e t a V 3 , H O F _ N U K 45 2d 4d 4b 33 2d 61 72 65 6e 61 2c 20 4e 57 33 20 53 53 45 20 E - M K 3 - a r e n a , N W 3 S S E 2d 20 55 6c 74 72 61 20 47 6f 72 65 2c 20 52 65 76 65 6e 67 65 - U l t r a G o r e , R e v e n g e 2c 20 47 6f 74 63 68 61 42 69 74 63 68 42 65 74 61 32 21 2c 20 , G o t c h a B i t c h B e t a 2 ! , 52 65 6c 69 63 3a 20 56 65 6e 67 65 61 6e 63 65 2c 20 53 70 65 R e l i c : V e n g e a n c e , S p e 63 74 61 74 6f 72 50 6c 75 73 56 32 2c 20 58 43 20 45 6e 68 61 c t a t o r P l u s V 2 , X C E n h a 6e 63 65 64 20 73 70 65 63 74 61 74 6f 72 2c 20 4d 61 70 20 56 n c e d s p e c t a t o r , M a p V 6f 74 65 20 55 6c 74 69 6d 61 74 65 20 33 5c 6c 69 73 74 65 6e o t e U l t i m a t e 3 \ l i s t e n 73 65 72 76 65 72 5c 46 61 6c 73 65 5c 70 61 73 73 77 6f 72 64 s e r v e r \ F a l s e \ p a s s w o r d 5c 46 61 6c 73 65 5c 74 69 6d 65 6c 69 6d 69 74 5c 33 30 5c 66 \ F a l s e \ t i m e l i m i t \ 3 0 \ f 72 61 67 6c 69 6d 69 74 5c 34 30 5c 6d 69 6e 70 6c 61 79 65 72 r a g l i m i t \ 4 0 \ m i n p l a y e r 73 5c 31 30 5c 63 68 61 6e 67 65 6c 65 76 65 6c 73 5c 54 72 75 s \ 1 0 \ c h a n g e l e v e l s \ T r u 65 5c 74 6f 75 72 6e 61 6d 65 6e 74 5c 46 61 6c 73 65 5c 67 61 e \ t o u r n a m e n t \ F a l s e \ g a 6d 65 73 74 79 6c 65 5c 48 61 72 64 63 6f 72 65 5c 62 6f 74 73 m e s t y l e \ H a r d c o r e \ b o t s 6b 69 6c 6c 5c 41 76 65 72 61 67 65 5c 41 64 6d 69 6e 4e 61 6d k i l l \ A v e r a g e \ A d m i n N a m 65 5c 45 76 69 6c 20 41 64 6d 69 6e 73 5c 71 75 65 72 79 69 64 e \ E v i l A d m i n s \ q u e r y i d 5c 33 36 2e 31 5c 66 69 6e 61 6c 5c \ 3 6 . 1 \ f i n a l \ Q#0 Registered RTT: 37ms Q#0 Received part num=1 queryId=36 final=true Q#0 Received part #1 of 1 Q#0 Received all parts Q#0 { mutators: 'UT Enhanced Statistics - Evil Edition, BountyHunter Sniper BetaV3, HOF_NUKE-MK3-arena, NW3 SSE - Ultra Gore, Revenge, GotchaBitchBeta2!, Relic: Vengeance, SpectatorPlusV2, XC Enhanced spectator, Map Vote Ultimate 3', listenserver: 'False', password: 'False', timelimit: '30', fraglimit: '40', minplayers: '10', changelevels: 'True', tournament: 'False', gamestyle: 'Hardcore', botskill: 'Average', AdminName: 'Evil Admins' } Q#0 UDP send finished by callback Q#0 66.85.80.155:7798 UDP--> Q#0 Buffer length: 9 bytes 5c 70 6c 61 79 65 72 73 5c \ p l a y e r s \ 66.85.80.155:7798 <--UDP Buffer length: 964 bytes 5c 70 6c 61 79 65 72 5f 30 5c 7b 4d 4f 53 7d 48 48 31 5c 66 72 \ p l a y e r _ 0 \ { M O S } H H 1 \ f r 61 67 73 5f 30 5c 30 5c 70 69 6e 67 5f 30 5c 20 31 34 34 5c 74 a g s _ 0 \ 0 \ p i n g _ 0 \ 1 4 4 \ t 65 61 6d 5f 30 5c 32 35 35 5c 6d 65 73 68 5f 30 5c 4d 61 6c 65 e a m _ 0 \ 2 5 5 \ m e s h _ 0 \ M a l e 20 53 6f 6c 64 69 65 72 5c 73 6b 69 6e 5f 30 5c 53 6f 6c 64 69 S o l d i e r \ s k i n _ 0 \ S o l d i 65 72 53 6b 69 6e 73 2e 73 6c 64 72 5c 66 61 63 65 5f 30 5c 53 e r S k i n s . s l d r \ f a c e _ 0 \ S 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 42 72 6f 63 6b 5c 6e 67 73 o l d i e r S k i n s . B r o c k \ n g s 65 63 72 65 74 5f 30 5c 74 72 75 65 5c 70 6c 61 79 65 72 5f 31 e c r e t _ 0 \ t r u e \ p l a y e r _ 1 5c 47 65 6f 72 67 65 31 38 32 5c 66 72 61 67 73 5f 31 5c 30 5c \ G e o r g e 1 8 2 \ f r a g s _ 1 \ 0 \ 70 69 6e 67 5f 31 5c 20 33 34 35 5c 74 65 61 6d 5f 31 5c 32 35 p i n g _ 1 \ 3 4 5 \ t e a m _ 1 \ 2 5 35 5c 6d 65 73 68 5f 31 5c 4d 61 6c 65 20 43 6f 6d 6d 61 6e 64 5 \ m e s h _ 1 \ M a l e C o m m a n d 6f 5c 73 6b 69 6e 5f 31 5c 43 6f 6d 6d 61 6e 64 6f 53 6b 69 6e o \ s k i n _ 1 \ C o m m a n d o S k i n 73 2e 67 6f 74 68 5c 66 61 63 65 5f 31 5c 43 6f 6d 6d 61 6e 64 s . g o t h \ f a c e _ 1 \ C o m m a n d 6f 53 6b 69 6e 73 2e 47 72 61 69 6c 5c 6e 67 73 65 63 72 65 74 o S k i n s . G r a i l \ n g s e c r e t 5f 31 5c 74 72 75 65 5c 70 6c 61 79 65 72 5f 32 5c 6c 61 6c 61 _ 1 \ t r u e \ p l a y e r _ 2 \ l a l a 5c 66 72 61 67 73 5f 32 5c 30 5c 70 69 6e 67 5f 32 5c 20 31 36 \ f r a g s _ 2 \ 0 \ p i n g _ 2 \ 1 6 33 5c 74 65 61 6d 5f 32 5c 32 5c 6d 65 73 68 5f 32 5c 4e 61 6c 3 \ t e a m _ 2 \ 2 \ m e s h _ 2 \ N a l 69 20 43 6f 77 5c 73 6b 69 6e 5f 32 5c 54 43 6f 77 4d 65 73 68 i C o w \ s k i n _ 2 \ T C o w M e s h 53 6b 69 6e 73 2e 57 61 72 43 6f 77 5c 66 61 63 65 5f 32 5c 5c S k i n s . W a r C o w \ f a c e _ 2 \ \ 6e 67 73 65 63 72 65 74 5f 32 5c 74 72 75 65 5c 70 6c 61 79 65 n g s e c r e t _ 2 \ t r u e \ p l a y e 72 5f 33 5c 53 69 63 61 72 69 6f 5c 66 72 61 67 73 5f 33 5c 31 r _ 3 \ S i c a r i o \ f r a g s _ 3 \ 1 5c 70 69 6e 67 5f 33 5c 20 33 34 5c 74 65 61 6d 5f 33 5c 31 5c \ p i n g _ 3 \ 3 4 \ t e a m _ 3 \ 1 \ 6d 65 73 68 5f 33 5c 42 6f 73 73 5c 73 6b 69 6e 5f 33 5c 42 6f m e s h _ 3 \ B o s s \ s k i n _ 3 \ B o 73 73 53 6b 69 6e 73 2e 42 6f 73 73 5c 66 61 63 65 5f 33 5c 42 s s S k i n s . B o s s \ f a c e _ 3 \ B 6f 73 73 53 6b 69 6e 73 2e 58 61 6e 5c 6e 67 73 65 63 72 65 74 o s s S k i n s . X a n \ n g s e c r e t 5f 33 5c 74 72 75 65 5c 70 6c 61 79 65 72 5f 34 5c 4b 4f 74 74 _ 3 \ t r u e \ p l a y e r _ 4 \ K O t t 6c 65 72 5c 66 72 61 67 73 5f 34 5c 32 5c 70 69 6e 67 5f 34 5c l e r \ f r a g s _ 4 \ 2 \ p i n g _ 4 \ 20 35 36 5c 74 65 61 6d 5f 34 5c 30 5c 6d 65 73 68 5f 34 5c 4d 5 6 \ t e a m _ 4 \ 0 \ m e s h _ 4 \ M 61 6c 65 20 53 6f 6c 64 69 65 72 5c 73 6b 69 6e 5f 34 5c 53 6f a l e S o l d i e r \ s k i n _ 4 \ S o 6c 64 69 65 72 53 6b 69 6e 73 2e 62 6c 6b 74 5c 66 61 63 65 5f l d i e r S k i n s . b l k t \ f a c e _ 34 5c 53 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 52 69 6b 65 72 5c 4 \ S o l d i e r S k i n s . R i k e r \ 6e 67 73 65 63 72 65 74 5f 34 5c 74 72 75 65 5c 70 6c 61 79 65 n g s e c r e t _ 4 \ t r u e \ p l a y e 72 5f 35 5c 5d 5b 2d 3d 4e 46 52 3d 2d 5d 5b 2d 46 72 61 67 2d r _ 5 \ ] [ - = N F R = - ] [ - F r a g - 4d 45 21 5c 66 72 61 67 73 5f 35 5c 30 5c 70 69 6e 67 5f 35 5c M E ! \ f r a g s _ 5 \ 0 \ p i n g _ 5 \ 20 31 36 34 5c 74 65 61 6d 5f 35 5c 32 35 35 5c 6d 65 73 68 5f 1 6 4 \ t e a m _ 5 \ 2 5 5 \ m e s h _ 35 5c 4d 61 6c 65 20 53 6f 6c 64 69 65 72 5c 73 6b 69 6e 5f 35 5 \ M a l e S o l d i e r \ s k i n _ 5 5c 53 6f 6c 64 69 65 72 53 6b 69 6e 73 5f 66 72 61 67 6d 65 2e \ S o l d i e r S k i n s _ f r a g m e . 66 72 61 67 5c 66 61 63 65 5f 35 5c 53 6f 6c 64 69 65 72 53 6b f r a g \ f a c e _ 5 \ S o l d i e r S k 69 6e 73 5f 66 72 61 67 6d 65 2e 6a 65 72 6b 21 5c 6e 67 73 65 i n s _ f r a g m e . j e r k ! \ n g s e 63 72 65 74 5f 35 5c 74 72 75 65 5c 70 6c 61 79 65 72 5f 36 5c c r e t _ 5 \ t r u e \ p l a y e r _ 6 \ 42 6f 6f 6d 53 68 61 6b 61 4c 61 6b 61 5c 66 72 61 67 73 5f 36 B o o m S h a k a L a k a \ f r a g s _ 6 5c 31 5c 70 69 6e 67 5f 36 5c 20 35 39 5c 74 65 61 6d 5f 36 5c \ 1 \ p i n g _ 6 \ 5 9 \ t e a m _ 6 \ 32 35 35 5c 6d 65 73 68 5f 36 5c 4d 61 6c 65 20 53 6f 6c 64 69 2 5 5 \ m e s h _ 6 \ M a l e S o l d i 65 72 5c 73 6b 69 6e 5f 36 5c 53 6f 6c 64 69 65 72 53 6b 69 6e e r \ s k i n _ 6 \ S o l d i e r S k i n 73 2e 73 6c 64 72 5c 66 61 63 65 5f 36 5c 53 6f 6c 64 69 65 72 s . s l d r \ f a c e _ 6 \ S o l d i e r 53 6b 69 6e 73 2e 42 72 6f 63 6b 5c 6e 67 73 65 63 72 65 74 5f S k i n s . B r o c k \ n g s e c r e t _ 36 5c 74 72 75 65 5c 71 75 65 72 79 69 64 5c 33 37 2e 31 6 \ t r u e \ q u e r y i d \ 3 7 . 1 Q#0 Registered RTT: 51ms Q#0 Received part num=1 queryId=37 final=false Q#0 Received part #1 of ? 66.85.80.155:7798 <--UDP Buffer length: 436 bytes 5c 70 6c 61 79 65 72 5f 37 5c 64 6f 74 5f 7b 48 6f 46 7d 5c 66 \ p l a y e r _ 7 \ d o t _ { H o F } \ f 72 61 67 73 5f 37 5c 33 5c 70 69 6e 67 5f 37 5c 20 39 31 5c 74 r a g s _ 7 \ 3 \ p i n g _ 7 \ 9 1 \ t 65 61 6d 5f 37 5c 32 35 35 5c 6d 65 73 68 5f 37 5c 4d 61 6c 65 e a m _ 7 \ 2 5 5 \ m e s h _ 7 \ M a l e 20 53 6f 6c 64 69 65 72 5c 73 6b 69 6e 5f 37 5c 53 6f 6c 64 69 S o l d i e r \ s k i n _ 7 \ S o l d i 65 72 53 6b 69 6e 73 2e 52 61 77 53 5c 66 61 63 65 5f 37 5c 53 e r S k i n s . R a w S \ f a c e _ 7 \ S 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 53 6c 61 69 6e 5c 6e 67 73 o l d i e r S k i n s . S l a i n \ n g s 65 63 72 65 74 5f 37 5c 74 72 75 65 5c 70 6c 61 79 65 72 5f 38 e c r e t _ 7 \ t r u e \ p l a y e r _ 8 5c 42 6f 72 6e 54 6f 42 65 42 61 64 5c 66 72 61 67 73 5f 38 5c \ B o r n T o B e B a d \ f r a g s _ 8 \ 33 5c 70 69 6e 67 5f 38 5c 20 39 31 5c 74 65 61 6d 5f 38 5c 32 3 \ p i n g _ 8 \ 9 1 \ t e a m _ 8 \ 2 35 35 5c 6d 65 73 68 5f 38 5c 53 6b 61 61 72 6a 20 48 79 62 72 5 5 \ m e s h _ 8 \ S k a a r j H y b r 69 64 5c 73 6b 69 6e 5f 38 5c 74 73 6b 6d 73 6b 69 6e 73 2e 57 i d \ s k i n _ 8 \ t s k m s k i n s . W 61 72 72 5c 66 61 63 65 5f 38 5c 74 73 6b 6d 73 6b 69 6e 73 2e a r r \ f a c e _ 8 \ t s k m s k i n s . 42 65 72 73 65 72 6b 65 72 5c 6e 67 73 65 63 72 65 74 5f 38 5c B e r s e r k e r \ n g s e c r e t _ 8 \ 74 72 75 65 5c 70 6c 61 79 65 72 5f 39 5c 42 55 52 4d 21 35 5f t r u e \ p l a y e r _ 9 \ B U R M ! 5 _ 6f 6e 65 5c 66 72 61 67 73 5f 39 5c 30 5c 70 69 6e 67 5f 39 5c o n e \ f r a g s _ 9 \ 0 \ p i n g _ 9 \ 20 33 31 5c 74 65 61 6d 5f 39 5c 32 35 35 5c 6d 65 73 68 5f 39 3 1 \ t e a m _ 9 \ 2 5 5 \ m e s h _ 9 5c 46 65 6d 61 6c 65 20 53 6f 6c 64 69 65 72 5c 73 6b 69 6e 5f \ F e m a l e S o l d i e r \ s k i n _ 39 5c 53 47 69 72 6c 53 6b 69 6e 73 2e 66 77 61 72 5c 66 61 63 9 \ S G i r l S k i n s . f w a r \ f a c 65 5f 39 5c 53 47 69 72 6c 53 6b 69 6e 73 2e 43 61 74 68 6f 64 e _ 9 \ S G i r l S k i n s . C a t h o d 65 5c 6e 67 73 65 63 72 65 74 5f 39 5c 74 72 75 65 5c 71 75 65 e \ n g s e c r e t _ 9 \ t r u e \ q u e 72 79 69 64 5c 33 37 2e 32 5c 66 69 6e 61 6c 5c r y i d \ 3 7 . 2 \ f i n a l \ Q#0 Received part num=2 queryId=37 final=true Q#0 Received part #2 of 2 Q#0 Received all parts Q#0 { player_0: '{MOS}HH1', frags_0: '0', ping_0: ' 144', team_0: '255', mesh_0: 'Male Soldier', skin_0: 'SoldierSkins.sldr', face_0: 'SoldierSkins.Brock', ngsecret_0: 'true', player_1: 'George182', frags_1: '0', ping_1: ' 345', team_1: '255', mesh_1: 'Male Commando', skin_1: 'CommandoSkins.goth', face_1: 'CommandoSkins.Grail', ngsecret_1: 'true', player_2: 'lala', frags_2: '0', ping_2: ' 163', team_2: '2', mesh_2: 'Nali Cow', skin_2: 'TCowMeshSkins.WarCow', face_2: '', ngsecret_2: 'true', player_3: 'Sicario', frags_3: '1', ping_3: ' 34', team_3: '1', mesh_3: 'Boss', skin_3: 'BossSkins.Boss', face_3: 'BossSkins.Xan', ngsecret_3: 'true', player_4: 'KOttler', frags_4: '2', ping_4: ' 56', team_4: '0', mesh_4: 'Male Soldier', skin_4: 'SoldierSkins.blkt', face_4: 'SoldierSkins.Riker', ngsecret_4: 'true', player_5: '][-=NFR=-][-Frag-ME!', frags_5: '0', ping_5: ' 164', team_5: '255', mesh_5: 'Male Soldier', skin_5: 'SoldierSkins_fragme.frag', face_5: 'SoldierSkins_fragme.jerk!', ngsecret_5: 'true', player_6: 'BoomShakaLaka', frags_6: '1', ping_6: ' 59', team_6: '255', mesh_6: 'Male Soldier', skin_6: 'SoldierSkins.sldr', face_6: 'SoldierSkins.Brock', ngsecret_6: 'true', player_7: 'dot_{HoF}', frags_7: '3', ping_7: ' 91', team_7: '255', mesh_7: 'Male Soldier', skin_7: 'SoldierSkins.RawS', face_7: 'SoldierSkins.Slain', ngsecret_7: 'true', player_8: 'BornToBeBad', frags_8: '3', ping_8: ' 91', team_8: '255', mesh_8: 'Skaarj Hybrid', skin_8: 'tskmskins.Warr', face_8: 'tskmskins.Berserker', ngsecret_8: 'true', player_9: 'BURM!5_one', frags_9: '0', ping_9: ' 31', team_9: '255', mesh_9: 'Female Soldier', skin_9: 'SGirlSkins.fwar', face_9: 'SGirlSkins.Cathode', ngsecret_9: 'true' } Q#0 UDP send finished by callback Q#0 Size of players array: 10 Q#0 Size of bots array: 0 Q#0 Query was successful { "name": "-=][-=NFR=-][=-Evil's Freestlye Sniper Deathmatch", "map": "DM-[mSn]Boulby_Potash_Remix", "password": false, "raw": { "hostname": "-=][-=NFR=-][=-Evil's Freestlye Sniper Deathmatch", "hostport": "7797", "maptitle": "Untitled", "mapname": "DM-[mSn]Boulby_Potash_Remix", "gametype": "DeathMatchPlus", "numplayers": "10", "maxplayers": "25", "gamemode": "openplaying", "gamever": "451", "minnetver": "432", "worldlog": "false", "wantworldlog": "false", "rules": { "mutators": "UT Enhanced Statistics - Evil Edition, BountyHunter Sniper BetaV3, HOF_NUKE-MK3-arena, NW3 SSE - Ultra Gore, Re venge, GotchaBitchBeta2!, Relic: Vengeance, SpectatorPlusV2, XC Enhanced spectator, Map Vote Ultimate 3", "listenserver": "False", "password": "False", "timelimit": "30", "fraglimit": "40", "minplayers": "10", "changelevels": "True", "tournament": "False", "gamestyle": "Hardcore", "botskill": "Average", "AdminName": "Evil Admins" }, "teams": {} }, "maxplayers": 25, "players": [ { "name": "", "raw": { "player": "{MOS}HH1", "frags": "0", "ping": 144, "mesh": "Male Soldier", "skin": "SoldierSkins.sldr", "face": "SoldierSkins.Brock", "ngsecret": "true", "team": 255 } }, { "name": "", "raw": { "player": "George182", "frags": "0", "ping": 345, "mesh": "Male Commando", "skin": "CommandoSkins.goth", "face": "CommandoSkins.Grail", "ngsecret": "true", "team": 255 } }, { "name": "", "raw": { "player": "lala", "frags": "0", "ping": 163, "mesh": "Nali Cow", "skin": "TCowMeshSkins.WarCow", "face": "", "ngsecret": "true", "team": 2 } }, { "name": "", "raw": { "player": "Sicario", "frags": "1", "ping": 34, "mesh": "Boss", "skin": "BossSkins.Boss", "face": "BossSkins.Xan", "ngsecret": "true", "team": 1 } }, { "name": "", "raw": { "player": "KOttler", "frags": "2", "ping": 56, "mesh": "Male Soldier", "skin": "SoldierSkins.blkt", "face": "SoldierSkins.Riker", "ngsecret": "true", "team": 0 } }, { "name": "", "raw": { "player": "][-=NFR=-][-Frag-ME!", "frags": "0", "ping": 164, "mesh": "Male Soldier", "skin": "SoldierSkins_fragme.frag", "face": "SoldierSkins_fragme.jerk!", "ngsecret": "true", "team": 255 } }, { "name": "", "raw": { "player": "BoomShakaLaka", "frags": "1", "ping": 59, "mesh": "Male Soldier", "skin": "SoldierSkins.sldr", "face": "SoldierSkins.Brock", "ngsecret": "true", "team": 255 } }, { "name": "", "raw": { "player": "dot_{HoF}", "frags": "3", "ping": 91, "mesh": "Male Soldier", "skin": "SoldierSkins.RawS", "face": "SoldierSkins.Slain", "ngsecret": "true", "team": 255 } }, { "name": "", "raw": { "player": "BornToBeBad", "frags": "3", "ping": 91, "mesh": "Skaarj Hybrid", "skin": "tskmskins.Warr", "face": "tskmskins.Berserker", "ngsecret": "true", "team": 255 } }, { "name": "", "raw": { "player": "BURM!5_one", "frags": "0", "ping": 31, "mesh": "Female Soldier", "skin": "SGirlSkins.fwar", "face": "SGirlSkins.Cathode", "ngsecret": "true", "team": 255 } } ], "bots": [], "connect": "66.85.80.155:7797", "ping": 37 } ```

Only suspicious thing I see is that player names aren't getting extracted properly.

mmorrisontx commented 3 years ago

Are you running gamedig on a server? Is it possible 66.85.80.155 is blocking your address? (Some game server providers block dedicated server blocks to avoid vpn abuse by cheaters).

Perhaps the response udp packet is too large to navigate your network equipment?

oreleraki commented 3 years ago

Are you running gamedig on a server? Is it possible 66.85.80.155 is blocking your address? (Some game server providers block dedicated server blocks to avoid vpn abuse by cheaters).

Perhaps the response udp packet is too large to navigate your network equipment?

It's on my local computer and it works well except few servers i identify as running XServerQuery. I will give you more servers in couple of hours when there will be more activity.

Here is my testing code

GameDig = require('gamedig');

//var address = "31.220.4.155:2250";
var address = "66.85.80.155:7797"; //\XServer

const host = address.split(':')[0];
const port = address.split(':').length == 1 ? 7777 : address.split(':')[1];
console.log(`Host: ${host}, Port: ${port}`);
const res = GameDig.query({
    type: 'ut',
    host: host,
    port: +port,
     debug: true,
}, (error, state) => {
    //console.error(error);
    console.log(state);
})
res.then(console.log);
mmorrisontx commented 3 years ago

Yep, it also works for me locally using your test code 😓

Expand ``` $ node test.js Host: 66.85.80.155, Port: 7797 Q#0 Starting Q#0 Protocol: Gamespy1 Q#0 Options: { socketTimeout: 2000, attemptTimeout: 10000, maxAttempts: 1, port: 7798, protocol: 'gamespy1', type: 'ut', host: '66.85.80.155', debug: true } Q#0 DNS Lookup: 66.85.80.155 Q#0 Raw IP Address: 66.85.80.155 Q#0 66.85.80.155:7798 UDP--> Q#0 Buffer length: 6 bytes 5c 69 6e 66 6f 5c \ i n f o \ 66.85.80.155:7798 <--UDP Buffer length: 287 bytes 5c 68 6f 73 74 6e 61 6d 65 5c 2d 3d 5d 5b 2d 3d 4e 46 52 3d 2d \ h o s t n a m e \ - = ] [ - = N F R = - 5d 5b 3d 2d 45 76 69 6c 27 73 20 46 72 65 65 73 74 6c 79 65 20 ] [ = - E v i l ' s F r e e s t l y e 53 6e 69 70 65 72 20 44 65 61 74 68 6d 61 74 63 68 5c 68 6f 73 S n i p e r D e a t h m a t c h \ h o s 74 70 6f 72 74 5c 37 37 39 37 5c 6d 61 70 74 69 74 6c 65 5c 21 t p o r t \ 7 7 9 7 \ m a p t i t l e \ ! 21 53 44 21 21 2d 43 61 73 61 6e 6f 76 61 53 75 69 74 65 5c 6d ! S D ! ! - C a s a n o v a S u i t e \ m 61 70 6e 61 6d 65 5c 44 4d 2d 21 21 53 44 21 21 2d 43 61 73 61 a p n a m e \ D M - ! ! S D ! ! - C a s a 6e 6f 76 61 53 75 69 74 65 5c 67 61 6d 65 74 79 70 65 5c 44 65 n o v a S u i t e \ g a m e t y p e \ D e 61 74 68 4d 61 74 63 68 50 6c 75 73 5c 6e 75 6d 70 6c 61 79 65 a t h M a t c h P l u s \ n u m p l a y e 72 73 5c 37 5c 6d 61 78 70 6c 61 79 65 72 73 5c 32 35 5c 67 61 r s \ 7 \ m a x p l a y e r s \ 2 5 \ g a 6d 65 6d 6f 64 65 5c 6f 70 65 6e 70 6c 61 79 69 6e 67 5c 67 61 m e m o d e \ o p e n p l a y i n g \ g a 6d 65 76 65 72 5c 34 35 31 5c 6d 69 6e 6e 65 74 76 65 72 5c 34 m e v e r \ 4 5 1 \ m i n n e t v e r \ 4 33 32 5c 77 6f 72 6c 64 6c 6f 67 5c 66 61 6c 73 65 5c 77 61 6e 3 2 \ w o r l d l o g \ f a l s e \ w a n 74 77 6f 72 6c 64 6c 6f 67 5c 66 61 6c 73 65 5c 71 75 65 72 79 t w o r l d l o g \ f a l s e \ q u e r y 69 64 5c 37 34 2e 31 5c 66 69 6e 61 6c 5c i d \ 7 4 . 1 \ f i n a l \ Q#0 Registered RTT: 44ms Q#0 Received part num=1 queryId=74 final=true Q#0 Received part #1 of 1 Q#0 Received all parts Q#0 { hostname: "-=][-=NFR=-][=-Evil's Freestlye Sniper Deathmatch", hostport: '7797', maptitle: '!!SD!!-CasanovaSuite', mapname: 'DM-!!SD!!-CasanovaSuite', gametype: 'DeathMatchPlus', numplayers: '7', maxplayers: '25', gamemode: 'openplaying', gamever: '451', minnetver: '432', worldlog: 'false', wantworldlog: 'false' } Q#0 UDP send finished by callback Q#0 66.85.80.155:7798 UDP--> Q#0 Buffer length: 7 bytes 5c 72 75 6c 65 73 5c \ r u l e s \ 66.85.80.155:7798 <--UDP Buffer length: 379 bytes 5c 6d 75 74 61 74 6f 72 73 5c 55 54 20 45 6e 68 61 6e 63 65 64 \ m u t a t o r s \ U T E n h a n c e d 20 53 74 61 74 69 73 74 69 63 73 20 2d 20 45 76 69 6c 20 45 64 S t a t i s t i c s - E v i l E d 69 74 69 6f 6e 2c 20 4e 57 33 20 53 53 45 20 2d 20 55 6c 74 72 i t i o n , N W 3 S S E - U l t r 61 20 47 6f 72 65 2c 20 52 65 76 65 6e 67 65 2c 20 44 6f 75 62 a G o r e , R e v e n g e , D o u b 6c 65 4a 75 6d 70 55 54 76 33 2c 20 47 6f 74 63 68 61 42 69 74 l e J u m p U T v 3 , G o t c h a B i t 63 68 42 65 74 61 32 21 2c 20 52 65 6c 69 63 3a 20 56 65 6e 67 c h B e t a 2 ! , R e l i c : V e n g 65 61 6e 63 65 2c 20 53 70 65 63 74 61 74 6f 72 50 6c 75 73 56 e a n c e , S p e c t a t o r P l u s V 32 2c 20 58 43 20 45 6e 68 61 6e 63 65 64 20 73 70 65 63 74 61 2 , X C E n h a n c e d s p e c t a 74 6f 72 2c 20 4d 61 70 20 56 6f 74 65 20 55 6c 74 69 6d 61 74 t o r , M a p V o t e U l t i m a t 65 20 33 5c 6c 69 73 74 65 6e 73 65 72 76 65 72 5c 46 61 6c 73 e 3 \ l i s t e n s e r v e r \ F a l s 65 5c 70 61 73 73 77 6f 72 64 5c 46 61 6c 73 65 5c 74 69 6d 65 e \ p a s s w o r d \ F a l s e \ t i m e 6c 69 6d 69 74 5c 33 30 5c 66 72 61 67 6c 69 6d 69 74 5c 34 30 l i m i t \ 3 0 \ f r a g l i m i t \ 4 0 5c 6d 69 6e 70 6c 61 79 65 72 73 5c 31 30 5c 63 68 61 6e 67 65 \ m i n p l a y e r s \ 1 0 \ c h a n g e 6c 65 76 65 6c 73 5c 54 72 75 65 5c 74 6f 75 72 6e 61 6d 65 6e l e v e l s \ T r u e \ t o u r n a m e n 74 5c 46 61 6c 73 65 5c 67 61 6d 65 73 74 79 6c 65 5c 48 61 72 t \ F a l s e \ g a m e s t y l e \ H a r 64 63 6f 72 65 5c 62 6f 74 73 6b 69 6c 6c 5c 41 76 65 72 61 67 d c o r e \ b o t s k i l l \ A v e r a g 65 5c 41 64 6d 69 6e 4e 61 6d 65 5c 45 76 69 6c 20 41 64 6d 69 e \ A d m i n N a m e \ E v i l A d m i 6e 73 5c 71 75 65 72 79 69 64 5c 37 35 2e 31 5c 66 69 6e 61 6c n s \ q u e r y i d \ 7 5 . 1 \ f i n a l 5c \ Q#0 Registered RTT: 39ms Q#0 Received part num=1 queryId=75 final=true Q#0 Received part #1 of 1 Q#0 Received all parts Q#0 { mutators: 'UT Enhanced Statistics - Evil Edition, NW3 SSE - Ultra Gore, Revenge, DoubleJumpUTv3, GotchaBitchBeta2!, Relic: Venge ance, SpectatorPlusV2, XC Enhanced spectator, Map Vote Ultimate 3', listenserver: 'False', password: 'False', timelimit: '30', fraglimit: '40', minplayers: '10', changelevels: 'True', tournament: 'False', gamestyle: 'Hardcore', botskill: 'Average', AdminName: 'Evil Admins' } Q#0 UDP send finished by callback Q#0 66.85.80.155:7798 UDP--> Q#0 Buffer length: 9 bytes 5c 70 6c 61 79 65 72 73 5c \ p l a y e r s \ 66.85.80.155:7798 <--UDP Buffer length: 971 bytes 5c 70 6c 61 79 65 72 5f 30 5c 75 66 6f 5c 66 72 61 67 73 5f 30 \ p l a y e r _ 0 \ u f o \ f r a g s _ 0 5c 32 5c 70 69 6e 67 5f 30 5c 20 31 38 35 5c 74 65 61 6d 5f 30 \ 2 \ p i n g _ 0 \ 1 8 5 \ t e a m _ 0 5c 30 5c 6d 65 73 68 5f 30 5c 42 6f 73 73 5c 73 6b 69 6e 5f 30 \ 0 \ m e s h _ 0 \ B o s s \ s k i n _ 0 5c 42 6f 73 73 53 6b 69 6e 73 2e 42 6f 73 73 5c 66 61 63 65 5f \ B o s s S k i n s . B o s s \ f a c e _ 30 5c 42 6f 73 73 53 6b 69 6e 73 2e 58 61 6e 5c 6e 67 73 65 63 0 \ B o s s S k i n s . X a n \ n g s e c 72 65 74 5f 30 5c 74 72 75 65 5c 70 6c 61 79 65 72 5f 31 5c 6c r e t _ 0 \ t r u e \ p l a y e r _ 1 \ l 61 6c 61 5c 66 72 61 67 73 5f 31 5c 32 5c 70 69 6e 67 5f 31 5c a l a \ f r a g s _ 1 \ 2 \ p i n g _ 1 \ 20 31 36 38 5c 74 65 61 6d 5f 31 5c 32 5c 6d 65 73 68 5f 31 5c 1 6 8 \ t e a m _ 1 \ 2 \ m e s h _ 1 \ 4e 61 6c 69 20 43 6f 77 5c 73 6b 69 6e 5f 31 5c 54 43 6f 77 4d N a l i C o w \ s k i n _ 1 \ T C o w M 65 73 68 53 6b 69 6e 73 2e 57 61 72 43 6f 77 5c 66 61 63 65 5f e s h S k i n s . W a r C o w \ f a c e _ 31 5c 5c 6e 67 73 65 63 72 65 74 5f 31 5c 74 72 75 65 5c 70 6c 1 \ \ n g s e c r e t _ 1 \ t r u e \ p l 61 79 65 72 5f 32 5c 47 65 6f 72 67 65 31 38 32 5c 66 72 61 67 a y e r _ 2 \ G e o r g e 1 8 2 \ f r a g 73 5f 32 5c 30 5c 70 69 6e 67 5f 32 5c 20 33 30 31 5c 74 65 61 s _ 2 \ 0 \ p i n g _ 2 \ 3 0 1 \ t e a 6d 5f 32 5c 32 35 35 5c 6d 65 73 68 5f 32 5c 4d 61 6c 65 20 43 m _ 2 \ 2 5 5 \ m e s h _ 2 \ M a l e C 6f 6d 6d 61 6e 64 6f 5c 73 6b 69 6e 5f 32 5c 43 6f 6d 6d 61 6e o m m a n d o \ s k i n _ 2 \ C o m m a n 64 6f 53 6b 69 6e 73 2e 67 6f 74 68 5c 66 61 63 65 5f 32 5c 43 d o S k i n s . g o t h \ f a c e _ 2 \ C 6f 6d 6d 61 6e 64 6f 53 6b 69 6e 73 2e 47 72 61 69 6c 5c 6e 67 o m m a n d o S k i n s . G r a i l \ n g 73 65 63 72 65 74 5f 32 5c 74 72 75 65 5c 70 6c 61 79 65 72 5f s e c r e t _ 2 \ t r u e \ p l a y e r _ 33 5c 5d 5b 2d 3d 4e 46 52 3d 2d 5d 5b 2d 46 72 61 67 2d 4d 45 3 \ ] [ - = N F R = - ] [ - F r a g - M E 21 5c 66 72 61 67 73 5f 33 5c 30 5c 70 69 6e 67 5f 33 5c 20 35 ! \ f r a g s _ 3 \ 0 \ p i n g _ 3 \ 5 32 5c 74 65 61 6d 5f 33 5c 32 35 35 5c 6d 65 73 68 5f 33 5c 4d 2 \ t e a m _ 3 \ 2 5 5 \ m e s h _ 3 \ M 61 6c 65 20 53 6f 6c 64 69 65 72 5c 73 6b 69 6e 5f 33 5c 53 6f a l e S o l d i e r \ s k i n _ 3 \ S o 6c 64 69 65 72 53 6b 69 6e 73 5f 66 72 61 67 6d 65 2e 66 72 61 l d i e r S k i n s _ f r a g m e . f r a 67 5c 66 61 63 65 5f 33 5c 53 6f 6c 64 69 65 72 53 6b 69 6e 73 g \ f a c e _ 3 \ S o l d i e r S k i n s 5f 66 72 61 67 6d 65 2e 6a 65 72 6b 21 5c 6e 67 73 65 63 72 65 _ f r a g m e . j e r k ! \ n g s e c r e 74 5f 33 5c 74 72 75 65 5c 70 6c 61 79 65 72 5f 34 5c 64 6f 74 t _ 3 \ t r u e \ p l a y e r _ 4 \ d o t 5f 7b 48 6f 46 7d 5c 66 72 61 67 73 5f 34 5c 31 30 5c 70 69 6e _ { H o F } \ f r a g s _ 4 \ 1 0 \ p i n 67 5f 34 5c 20 39 37 5c 74 65 61 6d 5f 34 5c 32 35 35 5c 6d 65 g _ 4 \ 9 7 \ t e a m _ 4 \ 2 5 5 \ m e 73 68 5f 34 5c 4d 61 6c 65 20 53 6f 6c 64 69 65 72 5c 73 6b 69 s h _ 4 \ M a l e S o l d i e r \ s k i 6e 5f 34 5c 53 6f 6c 64 69 65 72 53 6b 69 6e 73 2e 52 61 77 53 n _ 4 \ S o l d i e r S k i n s . R a w S 5c 66 61 63 65 5f 34 5c 53 6f 6c 64 69 65 72 53 6b 69 6e 73 2e \ f a c e _ 4 \ S o l d i e r S k i n s . 53 6c 61 69 6e 5c 6e 67 73 65 63 72 65 74 5f 34 5c 74 72 75 65 S l a i n \ n g s e c r e t _ 4 \ t r u e 5c 70 6c 61 79 65 72 5f 35 5c 42 55 52 4d 21 35 5f 6f 6e 65 5c \ p l a y e r _ 5 \ B U R M ! 5 _ o n e \ 66 72 61 67 73 5f 35 5c 30 5c 70 69 6e 67 5f 35 5c 20 32 34 5c f r a g s _ 5 \ 0 \ p i n g _ 5 \ 2 4 \ 74 65 61 6d 5f 35 5c 32 35 35 5c 6d 65 73 68 5f 35 5c 46 65 6d t e a m _ 5 \ 2 5 5 \ m e s h _ 5 \ F e m 61 6c 65 20 53 6f 6c 64 69 65 72 5c 73 6b 69 6e 5f 35 5c 53 47 a l e S o l d i e r \ s k i n _ 5 \ S G 69 72 6c 53 6b 69 6e 73 2e 66 77 61 72 5c 66 61 63 65 5f 35 5c i r l S k i n s . f w a r \ f a c e _ 5 \ 53 47 69 72 6c 53 6b 69 6e 73 2e 43 61 74 68 6f 64 65 5c 6e 67 S G i r l S k i n s . C a t h o d e \ n g 73 65 63 72 65 74 5f 35 5c 74 72 75 65 5c 70 6c 61 79 65 72 5f s e c r e t _ 5 \ t r u e \ p l a y e r _ 36 5c 42 6f 72 6e 54 6f 42 65 42 61 64 5c 66 72 61 67 73 5f 36 6 \ B o r n T o B e B a d \ f r a g s _ 6 5c 31 32 5c 70 69 6e 67 5f 36 5c 20 39 30 5c 74 65 61 6d 5f 36 \ 1 2 \ p i n g _ 6 \ 9 0 \ t e a m _ 6 5c 32 35 35 5c 6d 65 73 68 5f 36 5c 53 6b 61 61 72 6a 20 48 79 \ 2 5 5 \ m e s h _ 6 \ S k a a r j H y 62 72 69 64 5c 73 6b 69 6e 5f 36 5c 74 73 6b 6d 73 6b 69 6e 73 b r i d \ s k i n _ 6 \ t s k m s k i n s 2e 57 61 72 72 5c 66 61 63 65 5f 36 5c 74 73 6b 6d 73 6b 69 6e . W a r r \ f a c e _ 6 \ t s k m s k i n 73 2e 42 65 72 73 65 72 6b 65 72 5c 6e 67 73 65 63 72 65 74 5f s . B e r s e r k e r \ n g s e c r e t _ 36 5c 74 72 75 65 5c 71 75 65 72 79 69 64 5c 37 36 2e 31 5c 66 6 \ t r u e \ q u e r y i d \ 7 6 . 1 \ f 69 6e 61 6c 5c i n a l \ Q#0 Registered RTT: 50ms Q#0 Received part num=1 queryId=76 final=true Q#0 Received part #1 of 1 Q#0 Received all parts Q#0 { player_0: 'ufo', frags_0: '2', ping_0: ' 185', team_0: '0', mesh_0: 'Boss', skin_0: 'BossSkins.Boss', face_0: 'BossSkins.Xan', ngsecret_0: 'true', player_1: 'lala', frags_1: '2', ping_1: ' 168', team_1: '2', mesh_1: 'Nali Cow', skin_1: 'TCowMeshSkins.WarCow', face_1: '', ngsecret_1: 'true', player_2: 'George182', frags_2: '0', ping_2: ' 301', team_2: '255', mesh_2: 'Male Commando', skin_2: 'CommandoSkins.goth', face_2: 'CommandoSkins.Grail', ngsecret_2: 'true', player_3: '][-=NFR=-][-Frag-ME!', frags_3: '0', ping_3: ' 52', team_3: '255', mesh_3: 'Male Soldier', skin_3: 'SoldierSkins_fragme.frag', face_3: 'SoldierSkins_fragme.jerk!', ngsecret_3: 'true', player_4: 'dot_{HoF}', frags_4: '10', ping_4: ' 97', team_4: '255', mesh_4: 'Male Soldier', skin_4: 'SoldierSkins.RawS', face_4: 'SoldierSkins.Slain', ngsecret_4: 'true', player_5: 'BURM!5_one', frags_5: '0', ping_5: ' 24', team_5: '255', mesh_5: 'Female Soldier', skin_5: 'SGirlSkins.fwar', face_5: 'SGirlSkins.Cathode', ngsecret_5: 'true', player_6: 'BornToBeBad', frags_6: '12', ping_6: ' 90', team_6: '255', mesh_6: 'Skaarj Hybrid', skin_6: 'tskmskins.Warr', face_6: 'tskmskins.Berserker', ngsecret_6: 'true' } Q#0 UDP send finished by callback Q#0 Size of players array: 7 Q#0 Size of bots array: 0 Q#0 Query was successful Results { name: "-=][-=NFR=-][=-Evil's Freestlye Sniper Deathmatch", map: 'DM-!!SD!!-CasanovaSuite', password: false, raw: { hostname: "-=][-=NFR=-][=-Evil's Freestlye Sniper Deathmatch", hostport: '7797', maptitle: '!!SD!!-CasanovaSuite', mapname: 'DM-!!SD!!-CasanovaSuite', gametype: 'DeathMatchPlus', numplayers: '7', maxplayers: '25', gamemode: 'openplaying', gamever: '451', minnetver: '432', worldlog: 'false', wantworldlog: 'false', rules: { mutators: 'UT Enhanced Statistics - Evil Edition, NW3 SSE - Ultra Gore, Revenge, DoubleJumpUTv3, GotchaBitchBeta2!, Relic: V engeance, SpectatorPlusV2, XC Enhanced spectator, Map Vote Ultimate 3', listenserver: 'False', password: 'False', timelimit: '30', fraglimit: '40', minplayers: '10', changelevels: 'True', tournament: 'False', gamestyle: 'Hardcore', botskill: 'Average', AdminName: 'Evil Admins' }, teams: {} }, maxplayers: 25, players: Players(7) [ Player { name: 'ufo', raw: [Object] }, Player { name: 'lala', raw: [Object] }, Player { name: 'George182', raw: [Object] }, Player { name: '][-=NFR=-][-Frag-ME!', raw: [Object] }, Player { name: 'dot_{HoF}', raw: [Object] }, Player { name: 'BURM!5_one', raw: [Object] }, Player { name: 'BornToBeBad', raw: [Object] } ], bots: Players(0) [], connect: '66.85.80.155:7797', ping: 39 } ```
oreleraki commented 3 years ago

Query this: "31.186.251.18:7777"

Host: 31.186.251.18, Port: 7777
(node:15824) UnhandledPromiseRejectionWarning: Error: Failed all 2 attempts
    at QueryRunner.run (I:\New folder\MyDev\utquery\node_modules\gamedig\lib\QueryRunner.js:88:21)
Attempt #1 - Port=7778 Retry=0:
Error: UDP - Timed out after 2000ms
    at Timeout.<anonymous> (I:\New folder\MyDev\utquery\node_modules\gamedig\lib\Promises.js:7:25)
    at listOnTimeout (internal/timers.js:549:17)
    at processTimers (internal/timers.js:492:7)
Attempt #2 - Port=7777 Retry=0:
Error: UDP - Timed out after 2000ms
    at Timeout.<anonymous> (I:\New folder\MyDev\utquery\node_modules\gamedig\lib\Promises.js:7:25)
    at listOnTimeout (internal/timers.js:549:17)
    at processTimers (internal/timers.js:492:7)
(node:15824) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled 
with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)    
(node:15824) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
mmorrisontx commented 3 years ago

Strangely, I can't get that server to respond to xserverquery packets at all, making me think it isn't running xserverquery. However, it DOES respond to a combination \rules\players\ query, including both the rules and players in a single packet. I wasn't aware this was possible with gamespy1, but it was mentioned on the xserverquery wiki as valid. If this works for all gamespy1 servers, we could probably just switch all of them, since it's definitely more efficient to only need to send a single query packet...

Q#0 31.186.251.18:7778 UDP-->
Q#0 Buffer length: 16 bytes
5c 72 75 6c 65 73 5c 5c 70 6c 61 79 65 72 73 5c
\  r  u  l  e  s  \  \  p  l  a  y  e  r  s  \

31.186.251.18:7778 <--UDP
Buffer length: 468 bytes
5c 6d 75 74 61 74 6f 72 73 5c 49 47 2b 36 44 20 55 54 50 75 72
\  m  u  t  a  t  o  r  s  \  I  G  +  6  D     U  T  P  u  r
65 2c 20 49 47 2b 36 44 20 53 54 5f 4d 75 74 61 74 6f 72 2c 20
e  ,     I  G  +  6  D     S  T  _  M  u  t  a  t  o  r  ,
49 47 2b 36 44 20 4e 65 77 4e 65 74 49 47 2c 20 50 47 20 46 6c
I  G  +  6  D     N  e  w  N  e  t  I  G  ,     P  G     F  l
61 67 73 2c 20 4d 61 70 20 56 6f 74 65 20 55 6c 74 69 6d 61 74
a  g  s  ,     M  a  p     V  o  t  e     U  l  t  i  m  a  t
65 20 32 2e 34 5c 6c 69 73 74 65 6e 73 65 72 76 65 72 5c 46 61
e     2  .  4  \  l  i  s  t  e  n  s  e  r  v  e  r  \  F  a
6c 73 65 5c 70 61 73 73 77 6f 72 64 5c 54 72 75 65 5c 74 69 6d
l  s  e  \  p  a  s  s  w  o  r  d  \  T  r  u  e  \  t  i  m
65 6c 69 6d 69 74 5c 32 30 5c 67 6f 61 6c 74 65 61 6d 73 63 6f
e  l  i  m  i  t  \  2  0  \  g  o  a  l  t  e  a  m  s  c  o
72 65 5c 30 5c 6d 69 6e 70 6c 61 79 65 72 73 5c 30 5c 63 68 61
r  e  \  0  \  m  i  n  p  l  a  y  e  r  s  \  0  \  c  h  a
6e 67 65 6c 65 76 65 6c 73 5c 54 72 75 65 5c 6d 61 78 74 65 61
n  g  e  l  e  v  e  l  s  \  T  r  u  e  \  m  a  x  t  e  a
6d 73 5c 32 5c 62 61 6c 61 6e 63 65 74 65 61 6d 73 5c 46 61 6c
m  s  \  2  \  b  a  l  a  n  c  e  t  e  a  m  s  \  F  a  l
73 65 5c 70 6c 61 79 65 72 73 62 61 6c 61 6e 63 65 74 65 61 6d
s  e  \  p  l  a  y  e  r  s  b  a  l  a  n  c  e  t  e  a  m
73 5c 46 61 6c 73 65 5c 66 72 69 65 6e 64 6c 79 66 69 72 65 5c
s  \  F  a  l  s  e  \  f  r  i  e  n  d  l  y  f  i  r  e  \
30 25 5c 74 6f 75 72 6e 61 6d 65 6e 74 5c 54 72 75 65 5c 67 61
0  %  \  t  o  u  r  n  a  m  e  n  t  \  T  r  u  e  \  g  a
6d 65 73 74 79 6c 65 5c 48 61 72 64 63 6f 72 65 5c 41 64 6d 69
m  e  s  t  y  l  e  \  H  a  r  d  c  o  r  e  \  A  d  m  i
6e 4e 61 6d 65 5c 70 67 20 61 64 6d 69 6e 73 5c 70 6c 61 79 65
n  N  a  m  e  \  p  g     a  d  m  i  n  s  \  p  l  a  y  e
72 5f 30 5c 73 4d 66 5c 66 72 61 67 73 5f 30 5c 30 5c 70 69 6e
r  _  0  \  s  M  f  \  f  r  a  g  s  _  0  \  0  \  p  i  n
67 5f 30 5c 20 35 34 5c 74 65 61 6d 5f 30 5c 31 5c 6d 65 73 68
g  _  0  \     5  4  \  t  e  a  m  _  0  \  1  \  m  e  s  h
5f 30 5c 46 65 6d 61 6c 65 20 43 6f 6d 6d 61 6e 64 6f 5c 73 6b
_  0  \  F  e  m  a  l  e     C  o  m  m  a  n  d  o  \  s  k
69 6e 5f 30 5c 46 43 6f 6d 6d 61 6e 64 6f 53 6b 69 6e 73 2e 63
i  n  _  0  \  F  C  o  m  m  a  n  d  o  S  k  i  n  s  .  c
6d 64 6f 5c 66 61 63 65 5f 30 5c 46 43 6f 6d 6d 61 6e 64 6f 53
m  d  o  \  f  a  c  e  _  0  \  F  C  o  m  m  a  n  d  o  S
6b 69 6e 73 2e 4e 69 6b 69 74 61 5c 6e 67 73 65 63 72 65 74 5f
k  i  n  s  .  N  i  k  i  t  a  \  n  g  s  e  c  r  e  t  _
30 5c 66 61 6c 73 65 5c 71 75 65 72 79 69 64 5c 34 37 2e 31 5c
0  \  f  a  l  s  e  \  q  u  e  r  y  i  d  \  4  7  .  1  \
66 69 6e 61 6c 5c
f  i  n  a  l  \

Q#0 Registered RTT: 139ms
Q#0 Received part num=1 queryId=47 final=true
Q#0 Received part #1 of 1
Q#0 Received all parts
Q#0 {
  mutators: 'IG+6D UTPure, IG+6D ST_Mutator, IG+6D NewNetIG, PG Flags, Map Vote Ultimate 2.4',
  listenserver: 'False',
  password: 'True',
  timelimit: '20',
  goalteamscore: '0',
  minplayers: '0',
  changelevels: 'True',
  maxteams: '2',
  balanceteams: 'False',
  playersbalanceteams: 'False',
  friendlyfire: '0%',
  tournament: 'True',
  gamestyle: 'Hardcore',
  AdminName: 'pg admins',
  player_0: 'sMf',
  frags_0: '0',
  ping_0: ' 54',
  team_0: '1',
  mesh_0: 'Female Commando',
  skin_0: 'FCommandoSkins.cmdo',
  face_0: 'FCommandoSkins.Nikita',
  ngsecret_0: 'false'
}
Q#0 UDP send finished by callback
Q#0 31.186.251.18:7778 UDP-->
Q#0 Buffer length: 9 bytes
5c 70 6c 61 79 65 72 73 5c
\  p  l  a  y  e  r  s  \

Q#0 UDP timeout detected
oreleraki commented 3 years ago

What more strange is if you switch between the order of them, and query players and then rules then rules get a timeout. (From what i tested few months ago)

mmorrisontx commented 3 years ago

Give 3.0.3 a shot.

oreleraki commented 3 years ago

Looks like the commit fixed the issue. Thank you mate :)