What Is the ServerStatus Plugin for Minecraft?
If you run a Minecraft server and want to display its live status on your website, the ServerStatus plugin is exactly what you need. It acts as a bridge between your Craftbukkit server and a custom PHP script, sending real-time data via GET headers. This allows you to show whether your server is online, how many players are connected, the server’s message of the day, and much more, all on your own web page.
Instead of manually updating a status indicator, ServerStatus automates everything. Every time the server starts, stops, or a player joins or leaves, the plugin pings your website with fresh information. You can even configure it to send updates at regular intervals, ensuring your site always reflects the current state of the game world.
Key Features at a Glance
- Sends server status (Online/Offline) and player count to a PHP endpoint.
- Includes server name, MOTD, IP, port, and plugin version in the data payload.
- Supports a security key to prevent unauthorized data submissions.
- Offers an ignore list to exclude specific players from being counted or listed.
- Configurable refresh rate and connection timeout for flexible performance.
- Works seamlessly with any PHP script you write, whether it logs to a text file, updates a database, or generates a banner image.
Installation and Configuration
Getting started is straightforward. Drop the ServerStatus JAR into your server’s plugins folder and restart. The plugin will automatically create a ServerStatus folder containing a config.yml file. Open that file to tailor the plugin to your needs. If you are looking for an even more convenient way to manage your server’s add-ons, the foxygame.net launcher provides a modern, flexible platform where you can download and install plugins like ServerStatus directly from its menu, saving you time and effort.
Understanding config.yml
Here are the available settings and what they do:
- useSecurityKey – Set to
trueif you want the PHP script to verify a secret key before accepting data. - securityKey – A custom string that must match the key in your PHP file. Only used when
useSecurityKeyis true. - callUrl – The full URL to your PHP script, for example
http://www.example.com/path/to/getServerStatus.php. - connection-timeout – Time in milliseconds the plugin waits for a response from your PHP file. Use
-1for the default timeout. - ignore-list – A comma-separated list of player names who will be excluded from the player count and player list sent to your website.
- refresh-rate – How often (in seconds) the plugin sends updates. Set to
-1to disable periodic calls and rely only on events like server start/stop or player join/leave.
After adjusting these values, restart the server or use the /serverstatus reload command to apply changes without downtime.
The PHP File: Receiving and Using the Data
The plugin sends data to any PHP script you point it to. A basic example script is available on the plugin’s official page (download link replaced with plain text: “the PHP file code can be found on the plugin’s resource page”). This script reads the GET headers, checks the security key if enabled, and writes the information into a .txt file. You can then display that text on your site or use it as input for a dynamic banner.
If you have PHP experience, you can easily extend the script to store data in a MySQL database, update an HTML file, or even generate a banner image like the one shown in the plugin’s documentation. The flexibility is entirely in your hands.
Complete List of GET Headers Sent by ServerStatus
Every time the plugin contacts your PHP file, it includes these parameters in the URL query string:
- sec – The security key you configured.
- status – Either “Online” or “Offline”.
- name – Server name from server.properties.
- motd – Message of the day from server.properties.
- ip – Server IP address (from server.properties, or auto-detected if left blank).
- port – Server port from server.properties.
- plsnum – Current number of online players.
- maxnum – Maximum player slots from server.properties.
- players – Comma-separated list of online player names (ignored players excluded).
- log – Reason for the call, such as “Starting up Minecraft server”, “Stopping Minecraft server”, or “Player (name) has joined the game”.
- plversion – ServerStatus plugin version.
- bkversion – Bukkit version the server is running.
This rich set of data lets you build anything from a simple online/offline badge to a detailed player roster widget.
Commands and Permissions
ServerStatus adds one command and two permission nodes:
- /serverstatus – Reloads the plugin configuration. Requires the permission
serverstatus.reload. - serverstatus.ignore – Players with this permission are automatically excluded from the player count and list, even if not explicitly named in the ignore-list.
Changelog Highlights
Version 1.6 introduced the ability to disable periodic calls by setting refresh-rate to -1 and fixed a lingering NullPointerException. Earlier updates added the ignore list, connection timeout, and full compatibility with newer Craftbukkit builds. The plugin has evolved steadily, with improvements like automatic IP detection and integration with MCStats.org.
Why ServerStatus Is a Must-Have for Server Owners
Whether you run a small private server or a large public network, keeping your community informed about server uptime and activity builds trust and engagement. ServerStatus makes this integration painless. You don’t need to write complex polling systems or manually update a status page—the plugin does the heavy lifting. With a few lines of PHP, you can present a professional-looking server status widget that updates in near real-time.
For those who want to take it further, the open-ended PHP script allows you to feed data into a database, create historical uptime logs, or even display a custom banner image with live player counts. The combination of simplicity and flexibility makes ServerStatus a valuable tool for any server administrator looking to bridge the gap between their Minecraft world and the web.