PHPackages                             dev-lancer/minecraft-status - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. dev-lancer/minecraft-status

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

dev-lancer/minecraft-status
===========================

PHP library to query Minecraft servers

v4.0.0(1mo ago)61.3k[1 PRs](https://github.com/jgniecki/MinecraftStatus/pulls)1MITPHPPHP ^8.1CI passing

Since Apr 6Pushed 1w ago1 watchersCompare

[ Source](https://github.com/jgniecki/MinecraftStatus)[ Packagist](https://packagist.org/packages/dev-lancer/minecraft-status)[ RSS](/packages/dev-lancer-minecraft-status/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (5)Versions (26)Used By (1)

Minecraft Status
================

[](#minecraft-status)

[![](https://camo.githubusercontent.com/cb0b43a50c166ab51d226dc532d7147b7bd9298dda1a5c8f28a56ba7cd1c3068/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6465762d6c616e6365722f6d696e6563726166742d7374617475733f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/cb0b43a50c166ab51d226dc532d7147b7bd9298dda1a5c8f28a56ba7cd1c3068/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6465762d6c616e6365722f6d696e6563726166742d7374617475733f7374796c653d666f722d7468652d6261646765)[![](https://camo.githubusercontent.com/61ba79627c3cadda482ca8a0f8f5e76520e329e9f01319f2d673141f70b09351/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6465762d6c616e6365722f6d696e6563726166742d7374617475733f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/61ba79627c3cadda482ca8a0f8f5e76520e329e9f01319f2d673141f70b09351/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6465762d6c616e6365722f6d696e6563726166742d7374617475733f7374796c653d666f722d7468652d6261646765)[![](https://camo.githubusercontent.com/c0628488b9c4684fae1435bee209fb68d6654c522042e505d33cb60440343dcc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f446576656c6f7065724c616e6365722f4d696e6563726166745374617475733f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/c0628488b9c4684fae1435bee209fb68d6654c522042e505d33cb60440343dcc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f446576656c6f7065724c616e6365722f4d696e6563726166745374617475733f7374796c653d666f722d7468652d6261646765)[![](https://camo.githubusercontent.com/a0c7d16ebfd12f52bcfed1b848171795d7c0800e91c762267f93bc696ff81c53/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6465762d6c616e6365722f6d696e6563726166742d7374617475733f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/a0c7d16ebfd12f52bcfed1b848171795d7c0800e91c762267f93bc696ff81c53/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6465762d6c616e6365722f6d696e6563726166742d7374617475733f7374796c653d666f722d7468652d6261646765)

Minecraft Status is a PHP 8.1+ library for reading Minecraft server information without running a Minecraft client.

Use it when you want to show server availability, MOTD, player counts, version, protocol, favicon, player samples or Query data in a website, panel, bot, monitor or backend job.

The library supports:

- Java Edition status ping, used by the Minecraft multiplayer server list;
- Java Edition GameSpy4 Query, when `enable-query=true` is enabled on the server;
- Bedrock Edition RakNet unconnected ping/pong;
- legacy Java ping for servers before Minecraft 1.7.

Installation
------------

[](#installation)

Install the package with Composer:

```
composer require dev-lancer/minecraft-status
```

Requirements:

- PHP `^8.1`;
- `ext-json`;
- `ext-iconv`;
- `ext-mbstring`.

The Basic Flow
--------------

[](#the-basic-flow)

Every client follows the same shape: instantiate it for a host, call `fetch()`, then read the typed result with `getResult()`. Use `raw()` or `getInfo()` only when you need the parsed protocol array.

```
use DevLancer\MinecraftStatus\MinecraftJavaStatus;

$status = new MinecraftJavaStatus('mc.example.com');
$result = $status->fetch()->getResult();

echo $result->motd();
echo $result->onlinePlayers() . '/' . $result->maxPlayers();
```

`fetch()` returns the same client instance, so chaining is safe:

```
$result = (new MinecraftJavaStatus('mc.example.com'))
    ->fetch()
    ->getResult();
```

Your First Java Status Check
----------------------------

[](#your-first-java-status-check)

Most Java Edition servers should be queried with `MinecraftJavaStatus`. It uses the same TCP status ping that the Minecraft multiplayer screen uses.

```
