1. Go to this page and download the library: Download cartograph/minecraft-slp library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
cartograph / minecraft-slp example snippets
use Cartograph\SLP\Failure;
use Cartograph\SLP\Pinger;
use Cartograph\SLP\Success;
$pinger = new Pinger();
$outcome = $pinger->ping('hypixel.net');
if ($outcome instanceof Success) {
echo $outcome->result->players->online; // e.g. 47892
echo $outcome->result->version->name; // e.g. "Requires MC 1.8 / 1.21"
}
if ($outcome instanceof Failure) {
echo $outcome->type->value; // e.g. "timeout"
}
use Cartograph\SLP\Pinger;
use Cartograph\SLP\Success;
$outcome = new Pinger()->ping('play.example.com');
if ($outcome instanceof Success) {
$result = $outcome->result;
echo $result->version->name; // "1.21.1"
echo $result->players->online; // 42
echo $result->description->plainText; // "Welcome to Example"
echo $result->latencyMs ?? 'no measurement'; // 73
}
use Cartograph\SLP\ExecutionContext;
use Cartograph\SLP\Packet\Handshake;
use Cartograph\SLP\Packet\NextState;
use Cartograph\SLP\Packet\StatusRequest;
use Cartograph\SLP\Packet\StatusResponse;
use Cartograph\SLP\Pinger;
use Cartograph\SLP\Success;
$pinger = new Pinger();
$outcome = $pinger->execute('play.example.com', function (ExecutionContext $ctx) use ($token): string {
$ctx->connection->send(new Handshake(
protocolVersion: $ctx->protocolVersion,
serverAddress: "verify-{$token}.{$ctx->endpoint->host}",
serverPort: $ctx->endpoint->port,
nextState: NextState::Status,
));
$ctx->connection->send(new StatusRequest());
return $ctx->connection->receive(StatusResponse::class)->json;
});
if ($outcome instanceof Success) {
// $outcome->result is whatever the closure returned (a string here)
}
use Cartograph\SLP\Packet\Handshake;
use Cartograph\SLP\Packet\NextState;
use Cartograph\SLP\Packet\StatusRequest;
use Cartograph\SLP\Packet\StatusResponse;
use Cartograph\SLP\Pinger;
$ctx = new Pinger()->open('play.example.com');
try {
$ctx->connection->send(new Handshake(-1, $ctx->endpoint->host, $ctx->endpoint->port, NextState::Status));
$ctx->connection->send(new StatusRequest());
$status = $ctx->connection->receive(StatusResponse::class);
} finally {
$ctx->connection->close();
}
use Cartograph\SLP\JsonStatusDecoder;
use Cartograph\SLP\Pinger;
use Cartograph\SLP\Resolver\DnsResolver;
use Cartograph\SLP\Transport\SocketTransport;
$pinger = new Pinger(
resolver: new DnsResolver(), // hostname/IP resolution (uses system DNS)
transport: new SocketTransport(), // opens real TCP sockets
decoder: new JsonStatusDecoder(), // parses StatusResponse JSON
);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.