37 lines
772 B
Ruby
Executable File
37 lines
772 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
# Config:
|
|
# [minecraft_users]
|
|
# env.host awesomeserver.com
|
|
# env.port 25566
|
|
#
|
|
|
|
require 'socket'
|
|
|
|
if ARGV[0] == 'config'
|
|
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'
|
|
exit
|
|
end
|
|
|
|
host = ENV['host']
|
|
host ||= 'localhost'
|
|
|
|
port = ENV['port']
|
|
port ||= '25566'
|
|
|
|
socket = TCPSocket.new(host, port)
|
|
socket.puts 'QUERY'
|
|
|
|
response = socket.read
|
|
response = response.split("\n")
|
|
|
|
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]
|
|
|
|
puts "players.value #{player_count}"
|