lukasss93 / minecraft-server-status
PHP library to check Minecraft Servers Status
Installs: 4 343
Dependents: 0
Suggesters: 0
Security: 0
Stars: 40
Watchers: 2
Forks: 9
Open Issues: 2
Type:project
This package is auto-updated.
Last update: 2024-10-28 06:29:31 UTC
README
This library can be used to check Minecraft Servers Status for some basic information.
⚠ Please do not create issues when you are unable to retrieve information from a server, unless you can prove that there is a bug within the library.
Differences between Ping and Query
There are two methods of retrieving information about a Minecraft server.
-
Ping
Ping protocol was added in Minecraft 1.7 and is used to query the server for minimal amount of information (hostname, motd, icon, and a sample of players). This is easier to use and doesn't require extra setup on server side. It uses TCP protocol on the same port as you would connect to your server an optional parameter
IsOld17
which can be used to query servers on version 1.6 or older. N.B.: this method doesn't work with Minecraft: Bedrock Edition -
Query
This method uses GameSpy4 protocol, and requires enabling
query
listener in yourserver.properties
like this:enable-query=true
query.port=25565
Query allows to request a full list of servers' plugins and players, however this method is more prone to breaking, so if you don't need all this information, stick to the ping method as it's more reliable.
Requirements
- PHP >= 5.6
- Json Extension
- Iconv Extension
Installation
You can install this library with composer:
composer require lukasss93/minecraft-server-status
Using
MCPing
Using
<?php //using the class use MCServerStatus\MCPing; //include composer autoload require_once('../vendor/autoload.php'); //checking account $response=MCPing::check('hostname or IP'); //get informations from object var_dump($response); //or from array var_dump($response->toArray()); ?>
If you want to get ping
info from a server that uses a version older than Minecraft 1.7,
then add true parameter after $timeout
.
Please note that this library does resolve SRV records too.
Input
The check()
method has 4 optional parameters:
Output
The check()
method return an object with the following properties:
You can use the following methods after check()
method:
MCQuery
Using
<?php //using the class use MCServerStatus\MCQuery; //include composer autoload require_once('../vendor/autoload.php'); //checking account $response=MCQuery::check('hostname or IP'); //get informations from object var_dump($response); //or from array var_dump($response->toArray()); ?>
Input
The check()
method has 4 optional parameters:
Output
The check()
method return an array with the following properties:
You can use the following methods after check()
method:
Changelog
All notable changes to this project will be documented here.
Recent changes
[2.0]
- First release