minestat 2.2.2 → 2.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/minestat.rb +23 -9
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1aae005889c4dfd2940d4fe464195aceb82380a03437603bbfc984a036a79b91
|
4
|
+
data.tar.gz: bb333f2e25d3dd899b26e357bfeffffa8411055832f5c6b36eee850c6912314f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 98d83d61c188baffac40427684cc7e93d1e77db3a4acf1e58c55e6f0cba39d2e48a57b7ae53562aa0041c47ca60fdd6abb360e0caae820e30b13e7164b1819ae
|
7
|
+
data.tar.gz: 8ccb0e3159c32175ec677b37dc15960532bedf2bb238ea185f7f01c4ee02e4a3245d166889abaa36bbf1f6e152f0ee477dbb4bd72022093b6b09c50847174a52
|
data/lib/minestat.rb
CHANGED
@@ -25,7 +25,7 @@ require 'timeout'
|
|
25
25
|
# Provides a ruby interface for polling Minecraft server status.
|
26
26
|
class MineStat
|
27
27
|
# MineStat version
|
28
|
-
VERSION = "2.2.
|
28
|
+
VERSION = "2.2.3"
|
29
29
|
# Number of values expected from server
|
30
30
|
NUM_FIELDS = 6
|
31
31
|
# Number of values expected from a 1.8b/1.3 server
|
@@ -135,12 +135,11 @@ class MineStat
|
|
135
135
|
retval = json_request()
|
136
136
|
end
|
137
137
|
# Bedrock/Pocket Edition
|
138
|
-
unless retval == Retval::SUCCESS || retval == Retval::CONNFAIL
|
138
|
+
unless @online || retval == Retval::SUCCESS || retval == Retval::CONNFAIL
|
139
139
|
retval = bedrock_request()
|
140
140
|
end
|
141
141
|
end
|
142
|
-
set_connection_status(retval)
|
143
|
-
@online = false unless retval == Retval::SUCCESS
|
142
|
+
set_connection_status(retval) unless @online
|
144
143
|
end
|
145
144
|
|
146
145
|
# Sets connection status
|
@@ -286,7 +285,6 @@ class MineStat
|
|
286
285
|
retval = connect()
|
287
286
|
return retval unless retval == Retval::SUCCESS
|
288
287
|
# Perform handshake and acquire data
|
289
|
-
@request_type = "SLP 1.8b/1.3 (beta)"
|
290
288
|
@server.write("\xFE")
|
291
289
|
retval = parse_data("\u00A7", true) # section symbol
|
292
290
|
end
|
@@ -296,6 +294,10 @@ class MineStat
|
|
296
294
|
$stderr.puts exception
|
297
295
|
return Retval::UNKNOWN
|
298
296
|
end
|
297
|
+
if retval == Retval::SUCCESS
|
298
|
+
@request_type = "SLP 1.8b/1.3 (beta)"
|
299
|
+
set_connection_status(retval)
|
300
|
+
end
|
299
301
|
return retval
|
300
302
|
end
|
301
303
|
|
@@ -325,7 +327,6 @@ class MineStat
|
|
325
327
|
retval = connect()
|
326
328
|
return retval unless retval == Retval::SUCCESS
|
327
329
|
# Perform handshake and acquire data
|
328
|
-
@request_type = "SLP 1.4/1.5 (legacy)"
|
329
330
|
@server.write("\xFE\x01")
|
330
331
|
retval = parse_data("\x00") # null
|
331
332
|
end
|
@@ -335,6 +336,10 @@ class MineStat
|
|
335
336
|
$stderr.puts exception
|
336
337
|
return Retval::UNKNOWN
|
337
338
|
end
|
339
|
+
if retval == Retval::SUCCESS
|
340
|
+
@request_type = "SLP 1.4/1.5 (legacy)"
|
341
|
+
set_connection_status(retval)
|
342
|
+
end
|
338
343
|
return retval
|
339
344
|
end
|
340
345
|
|
@@ -372,7 +377,6 @@ class MineStat
|
|
372
377
|
retval = connect()
|
373
378
|
return retval unless retval == Retval::SUCCESS
|
374
379
|
# Perform handshake and acquire data
|
375
|
-
@request_type = "SLP 1.6 (extended legacy)"
|
376
380
|
@server.write("\xFE\x01\xFA")
|
377
381
|
@server.write("\x00\x0B") # 11 (length of "MC|PingHost")
|
378
382
|
@server.write('MC|PingHost'.encode('UTF-16BE').force_encoding('ASCII-8BIT'))
|
@@ -389,6 +393,10 @@ class MineStat
|
|
389
393
|
$stderr.puts exception
|
390
394
|
return Retval::UNKNOWN
|
391
395
|
end
|
396
|
+
if retval == Retval::SUCCESS
|
397
|
+
@request_type = "SLP 1.6 (extended legacy)"
|
398
|
+
set_connection_status(retval)
|
399
|
+
end
|
392
400
|
return retval
|
393
401
|
end
|
394
402
|
|
@@ -415,7 +423,6 @@ class MineStat
|
|
415
423
|
retval = connect()
|
416
424
|
return retval unless retval == Retval::SUCCESS
|
417
425
|
# Perform handshake
|
418
|
-
@request_type = "SLP 1.7 (JSON)"
|
419
426
|
payload = "\x00\x00"
|
420
427
|
payload += [@address.length].pack('c') << @address
|
421
428
|
payload += [@port].pack('n')
|
@@ -460,6 +467,10 @@ class MineStat
|
|
460
467
|
$stderr.puts exception
|
461
468
|
return Retval::UNKNOWN
|
462
469
|
end
|
470
|
+
if retval == Retval::SUCCESS
|
471
|
+
@request_type = "SLP 1.7 (JSON)"
|
472
|
+
set_connection_status(retval)
|
473
|
+
end
|
463
474
|
return retval
|
464
475
|
end
|
465
476
|
|
@@ -526,7 +537,6 @@ class MineStat
|
|
526
537
|
retval = nil
|
527
538
|
begin
|
528
539
|
Timeout::timeout(@timeout) do
|
529
|
-
@request_type = "Bedrock/Pocket Edition"
|
530
540
|
retval = connect()
|
531
541
|
return retval unless retval == Retval::SUCCESS
|
532
542
|
# Perform handshake and acquire data
|
@@ -544,6 +554,10 @@ class MineStat
|
|
544
554
|
$stderr.puts exception
|
545
555
|
return Retval::UNKNOWN
|
546
556
|
end
|
557
|
+
if retval == Retval::SUCCESS
|
558
|
+
@request_type = "Bedrock/Pocket Edition"
|
559
|
+
set_connection_status(retval)
|
560
|
+
end
|
547
561
|
return retval
|
548
562
|
end
|
549
563
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minestat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lloyd Dilley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: MineStat polls Minecraft server data such as version, motd, current players,
|
14
14
|
and max players.
|