minestat 2.2.2 → 2.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/minestat.rb +23 -9
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: affbc3d1ec0778e630ea341dbd8afcf5f79a907f2da08554703f4b52d6f7f553
4
- data.tar.gz: c65a8af83bc4c81695892c3447480ccde9fc731bab00e28ac7700012b7203341
3
+ metadata.gz: 1aae005889c4dfd2940d4fe464195aceb82380a03437603bbfc984a036a79b91
4
+ data.tar.gz: bb333f2e25d3dd899b26e357bfeffffa8411055832f5c6b36eee850c6912314f
5
5
  SHA512:
6
- metadata.gz: 62da41df1030d258d4f72ac64c9d4e8f882372e43c2a342712e48b75e016634076ac4537a928e5631ed61448df1e35210e697e0c9dd1023032079e9b6bfb0d54
7
- data.tar.gz: f442d1bbe7a625d5ae7eb665da4caf6612465abbb83e031a1ea010e6aa3f7aa0b41c8b74da15f2e06a987702ac440091dd3495701864c2682d0a5b72cf492281
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.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.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-12 00:00:00.000000000 Z
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.