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:
- Spigot: Supports Spigot servers (including paper and other forks)
- Velocity: Supports Velocity proxies.
- Bungee Supports Bungeecord Waterfall proxies.
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:
- Navigate to https://server.tebex.io/game-servers
- 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. - Click the Settings icon next to the command to edit the command options:
- 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.
- Set
Require Player To Be Online
toExecute the command even if the player is offline
- 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:
- Navigate to https://dash.craftingstore.net/admin/commands
- 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:
- Add a server using the "Add Server" button.
- Install the MCMetrics spigot plugin on the backend server.
- Restart the backend server.
- 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.