minecraft

package
v1.16.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 28, 2020 License: MIT Imports: 6 Imported by: 11

README

Minecraft Input Plugin

The minecraft plugin connects to a Minecraft server using the RCON protocol to collects scores from the server scoreboard.

This plugin is known to support Minecraft Java Edition versions 1.11 - 1.14. When using an version of Minecraft earlier than 1.13, be aware that the values for some criterion has changed and may need to be modified.

Server Setup

Enable RCON on the Minecraft server, add this to your server configuration in the server.properties file:

enable-rcon=true
rcon.password=<your password>
rcon.port=<1-65535>

Scoreboard Objectives must be added using the server console for the plugin to collect. These can be added in game by players with op status, from the server console, or over an RCON connection.

When getting started pick an easy to test objective. This command will add an objective that counts the number of times a player has jumped:

/scoreboard objectives add jumps minecraft.custom:minecraft.jump

Once a player has triggered the event they will be added to the scoreboard, you can then list all players with recorded scores:

/scoreboard players list

View the current scores with a command, substituting your player name:

/scoreboard players list Etho
Configuration
[[inputs.minecraft]]
  ## Address of the Minecraft server.
  # server = "localhost"

  ## Server RCON Port.
  # port = "25575"

  ## Server RCON Password.
  password = ""
Metrics
  • minecraft
    • tags:
      • player
      • port (port of the server)
      • server (hostname:port, deprecated in 1.11; use source and port tags)
      • source (hostname of the server)
    • fields:
      • <objective_name> (integer, count)
Sample Queries:

Get the number of jumps per player in the last hour:

SELECT SPREAD("jumps") FROM "minecraft" WHERE time > now() - 1h GROUP BY "player"
Example Output:
minecraft,player=notch,source=127.0.0.1,port=25575 jumps=178i 1498261397000000000
minecraft,player=dinnerbone,source=127.0.0.1,port=25575 deaths=1i,jumps=1999i,cow_kills=1i 1498261397000000000
minecraft,player=jeb,source=127.0.0.1,port=25575 d_pickaxe=1i,damage_dealt=80i,d_sword=2i,hunger=20i,health=20i,kills=1i,level=33i,jumps=264i,armor=15i 1498261397000000000

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewClient

func NewClient(connector Connector) (*client, error)

func NewConnector

func NewConnector(hostname, port, password string) (*connector, error)

Types

type Client

type Client interface {
	// Connect establishes a connection to the server.
	Connect() error

	// Players returns the players on the scoreboard.
	Players() ([]string, error)

	// Scores return the objective scores for a player.
	Scores(player string) ([]Score, error)
}

Client is a client for the Minecraft server.

type Connection

type Connection interface {
	// Execute runs a command.
	Execute(command string) (string, error)
}

Connection is an established connection to the Minecraft server.

type Connector

type Connector interface {
	// Connect establishes a connection to the server.
	Connect() (Connection, error)
}

Connector is used to create connections to the Minecraft server.

type Minecraft

type Minecraft struct {
	Server   string `toml:"server"`
	Port     string `toml:"port"`
	Password string `toml:"password"`
	// contains filtered or unexported fields
}

Minecraft is the plugin type.

func (*Minecraft) Description

func (s *Minecraft) Description() string

func (*Minecraft) Gather

func (s *Minecraft) Gather(acc telegraf.Accumulator) error

func (*Minecraft) SampleConfig

func (s *Minecraft) SampleConfig() string

type Score

type Score struct {
	Name  string
	Value int64
}

Score is an individual tracked scoreboard stat.

Directories

Path Synopsis
internal
rcon
Package rcon implements the communication protocol for communicating with RCON servers.
Package rcon implements the communication protocol for communicating with RCON servers.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL