Installation & Setup

Set up MCMetrics to start collecting data within 5 minutes.

Create a Project

To get started, create a new project. Add a name and optionally a description.

Add a Server

To add a server, enter a name and select a server type. Valid server types are:

Proxy setups require at least one spigot server in order to track sessions. Read more here.

Plugin Setup

In the next step, you will get a plugin download link for the server type that you selected. Alternatively, you can download them here:

The plugins are also open-source and can also be compiled manually.

Add the .JAR file to your /plugins directory and restart the server. Once restarted, execute the /mcmetrics setup command provided in the setup step to automatically connect your server. Once completed, user sessions will automatically be tracked and uploaded.

Tebex Setup

Follow the steps below to set up revenue tracking from Tebex:

  1. Navigate to https://server.tebex.io/game-servers
  2. Add the following Global Server Game Command: mcmpayment tebex {username} {transaction} {price} {currency}. Make sure this command executes every time a payment is made. The API endpoint automatically prevents duplicate payments from being tracked.
  3. Click the Settings icon next to the command to edit the command options:
  4. Optional: Configure "Game Server to Execute on" to execute on the server that the package applies to. If this is not set, the Revenue by Server Breakdown metric will not be accurate, but every other metric will work regardless.
  5. Set Require Player To Be Online to Execute the command even if the player is offline
  6. Set "Execution Rule" to "Execute once per payment and not per package"

CraftingStore Setup

Follow the steps below to set up revenue tracking from CraftingStore:

  1. Navigate to https://dash.craftingstore.net/admin/commands
  2. For each server/gamemode you have, click "Create Command" with the following options:
  • Command Type: Initial
  • Server: Select the server that command should execute on. Each command should execute on exactly one server.
  • Require player to be online: False
  • Only execute when price is above: Leave blank
  • Enter command: mcmpayment craftingstore {player} {transaction_id} {cost} USD

Geyser/Floodgate Bedrock Setup

Bedrock players will be tracked by default. Set forward-hostname to true in your Geyser config.yml file. This allows MCMetrics to access Bedrock join domains for Campaign tracking.

Proxy Setup

Set up MCMetrics on a proxy with multiple servers. MCMetrics currently supports Velocity and Bungeecord/Waterfall proxies.

Create a Project

First, create a new project. When given the option to create a server, select Velocity orBungeecord/Waterfall. You will need to set up your backend servers later from the settings page.

Once you created the proxy server, click "Next" and download the plugin. Install it on your proxy and reboot.

Add backend servers

At this point, you should have a proxy server with the MCMetrics plugin installed.

Next, navigate to the "Servers" tab in settings. For each backend server, you should do the following:

  1. Add a server using the "Add Server" button.
  2. Install the MCMetrics spigot plugin on the backend server.
  3. Restart the backend server.
  4. On the dashboard, click "Edit Server" and copy the /mcmetrics setup command. Run the command on the backend server.

Revenue Tracking Setup

To set up revenue tracking, you need to set up the mcmpayment command for each backend server. If you execute payments on a proxy server, set up the command on the proxy server as well.

  • When adding the payment commands on Tebex or CraftingStore, make sure each command only executes on one server. For example, if you have a package "1x Crate Key" that applies to a server called "Survival", you should run the mcmpayment command only on the Survival server.
  • If you have packages that apply to multiple servers (such as ranks), we suggest you execute the mcmpayment command on a hub or limbo server.

Finish Setup

Whenever the server reboots or the plugin is reloaded, the plugin sends an API call to MCMetrics to get a list of tasks for the server to run (such as tracking player sessions and payments). This is how the plugins communicate with each other to prevent duplicate data.

To make sure this works properly, run /mcmetrics reload on the proxy and every backend server once all servers are set up.