2018-07-11 18:58:23 +02:00
|
|
|
#!/usr/bin/env ruby
|
2011-03-18 09:33:24 +01:00
|
|
|
# Config:
|
2012-03-06 05:11:27 +01:00
|
|
|
# [minecraft_users]
|
|
|
|
# env.host awesomeserver.com
|
|
|
|
# env.port 25566
|
2011-03-18 09:33:24 +01:00
|
|
|
#
|
|
|
|
|
2012-03-06 05:11:27 +01:00
|
|
|
require 'socket'
|
|
|
|
|
|
|
|
if ARGV[0] == 'config'
|
2020-08-25 17:06:15 +02:00
|
|
|
puts 'graph_title Connected players'
|
|
|
|
puts 'graph_vlabel players'
|
|
|
|
puts 'players.label players'
|
|
|
|
puts 'graph_info Number of players connected to Minecraft'
|
|
|
|
puts 'graph_category games'
|
2020-08-25 16:52:39 +02:00
|
|
|
exit
|
2012-03-06 05:11:27 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
host = ENV['host']
|
2020-08-25 17:06:15 +02:00
|
|
|
host ||= 'localhost'
|
2012-03-06 05:11:27 +01:00
|
|
|
|
|
|
|
port = ENV['port']
|
2020-08-25 17:06:15 +02:00
|
|
|
port ||= '25566'
|
2012-03-06 05:11:27 +01:00
|
|
|
|
|
|
|
socket = TCPSocket.new(host, port)
|
2020-08-25 17:06:15 +02:00
|
|
|
socket.puts 'QUERY'
|
2012-03-06 05:11:27 +01:00
|
|
|
|
|
|
|
response = socket.read
|
|
|
|
response = response.split("\n")
|
|
|
|
|
2020-08-25 17:06:15 +02:00
|
|
|
server_port = response[0].split(' ', 2)[1].to_i
|
|
|
|
player_count = response[1].split(' ', 2)[1].to_i
|
|
|
|
max_players = response[2].split(' ', 2)[1].to_i
|
|
|
|
player_list = response[3].split(' ', 2)[1].chomp[1..-2]
|
2012-03-06 05:11:27 +01:00
|
|
|
|
2017-02-20 23:01:26 +01:00
|
|
|
puts "players.value #{player_count}"
|