root / plugins / minecraft / minecraft-users @ ef960abc
Historique | Voir | Annoter | Télécharger (809 octets)
| 1 | bc344d00 | Matt Stith | #!/usr/local/bin/ruby |
|---|---|---|---|
| 2 | 5d78918d | Matt Stith | # Config: |
| 3 | bc344d00 | Matt Stith | # [minecraft_users] |
| 4 | # env.host awesomeserver.com |
||
| 5 | # env.port 25566 |
||
| 6 | 5d78918d | Matt Stith | # |
| 7 | |||
| 8 | bc344d00 | Matt Stith | require 'socket' |
| 9 | |||
| 10 | if ARGV[0] == 'config' |
||
| 11 | puts "graph_title Connected players" |
||
| 12 | puts "graph_vlabel players" |
||
| 13 | puts "players.label players" |
||
| 14 | puts "graph_info Number of players connected to Minecraft" |
||
| 15 | puts "graph_category Minecraft" |
||
| 16 | exit |
||
| 17 | end |
||
| 18 | |||
| 19 | host = ENV['host'] |
||
| 20 | host = 'localhost' unless host |
||
| 21 | |||
| 22 | port = ENV['port'] |
||
| 23 | port = '25566' unless port |
||
| 24 | |||
| 25 | socket = TCPSocket.new(host, port) |
||
| 26 | socket.puts "QUERY" |
||
| 27 | |||
| 28 | response = socket.read |
||
| 29 | response = response.split("\n")
|
||
| 30 | |||
| 31 | server_port = response[0].split(" ", 2)[1].to_i
|
||
| 32 | player_count = response[1].split(" ", 2)[1].to_i
|
||
| 33 | max_players = response[2].split(" ", 2)[1].to_i
|
||
| 34 | player_list = response[3].split(" ", 2)[1].chomp[1..-2]
|
||
| 35 | |||
| 36 | puts "players.value #{player_count}" |
