@switt/minecraft-status
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

minecraft-status

Node.js module for gathering information about Minecraft Java Edition servers and Minecraft Bedrock Edition servers.

minecraft-status was based off of mc-ping-updated, mc-stat, and mcpe-ping.

minecraft-status supports the Server List Ping protocol for Minecraft Java Edition servers on Minecraft versions 1.7 and above (current), 1.6, and 1.4 through 1.5, and Beta 1.8 through 1.3 and the Query protocol for Minecraft Java Edition servers on Minecraft versions 1.9pre4 and above.

Support for Minecraft Bedrock Edition servers should be implemented soon™️.

Documentation

Include minecraft-status in your project like so.

// MinecraftServerListPing (either)
const { MinecraftServerListPing } = require("minecraft-status");
const MinecraftServerListPing = require("minecraft-status").MinecraftServerListPing;

// MinecraftQuery (either)
const { MinecraftQuery } = require("minecraft-status");
const MinecraftQuery = require("minecraft-status").MinecraftQuery;

// Both
const { MinecraftServerListPing, MinecraftQuery } = require("minecraft-status");

For more information on the Server List Ping or Query protocols, consult wiki.vg.

Unlike previous versions of minecraft-status, functions use promises rather than callback functions.

MinecraftServerListPing.ping(4, "mc.hypixel.net", 25565, 3000)
.then(response => {
    // Success
})
.catch(error => {
    // Error
});

Server List Ping

1.7 and above (current)

MinecraftServerListPing.ping(protocol, host, port, timeout)

protocol Default 4. See protocol version numbers. The version the client uses to connect to the server.

host The host, or the domain name, IPv4, or IPv6 address, of the server.

port Default 25565. The port of the server.

callback(error, response)

timeout Default 3000. Milliseconds.

{
    "version": {
        "name": "1.8.7",
        "protocol": 47
    },
    "players": {
        "max": 100,
        "online": 5,
        "sample": [
            {
                "name": "thinkofdeath",
                "id": "4566e69f-c907-48ee-8d71-d7ba5aa00d20"
            }
        ]
    },	
    "description": {
        "text": "Hello world"
    },
    "favicon": "data:image/png;base64,<data>"
}

1.6

MinecraftServerListPing.ping16(protocol, host, port, timeout)

protocol Default 73. See protocol version numbers. The version the client uses to connect to the server.

host The host, or the domain name, IPv4, or IPv6 address, of the server.

port Default 25565. The port of the server.

callback(error, response)

timeout Default 3000. Milliseconds.

{
    "version": {
        "name": "1.6.4",
        "protocol": 78
    },
    "players": {
        "max": 100,
        "online": 5
    },	
    "description": "A Minecraft Server"
}

1.4 through 1.5

MinecraftServerListPing.ping15(host, port, timeout)

host The host, or the domain name, IPv4, or IPv6 address, of the server.

port Default 25565. The port of the server.

callback(error, response)

timeout Default 3000. Milliseconds.

{
    "version": {
        "name": "1.4.7",
        "protocol": 51
    },
    "players": {
        "max": 100,
        "online": 5
    },	
    "description": "A Minecraft Server"
}

Beta 1.8 through 1.3

MinecraftServerListPing.ping13(host, port, timeout)

host The host, or the domain name, IPv4, or IPv6 address, of the server.

port Default 25565. The port of the server.

callback(error, response)

timeout Default 3000. Milliseconds.

{
    "players": {
        "max": 100,
        "online": 5
    },	
    "description": "A Minecraft Server"
}

Query

The following must be configured in the server.properties file.

enable-query=true
query.port=<1-65535>

The default query port matches the port established in server-port.

Basic stat

MinecraftQuery.query(host, port, timeout)

host The host, or the domain name, IPv4, or IPv6 address, of the server.

port Default 25565. The port of the server.

callback(error, response)

timeout Default 3000. Milliseconds.

{
    "players": { 
        "online": 5, 
        "max": 100 
    },
    "description": "\u0001A Minecraft Server",
    "map": "world",
    "game_type": "SMP"
}

Full stat

MinecraftQuery.fullQuery(host, port, timeout)

host The host, or the domain name, IPv4, or IPv6 address, of the server.

port Default 25565. The port of the server.

callback(error, response)

timeout Default 3000. Milliseconds.

{
    "version": {
        "name": "1.15.2"
    },
    "players": { 
        "online": 1, 
        "max": 20,
        "sample": [
            "mathhulk"
        ]
    },
    "description": "A Minecraft Server",
    "map": "world",
    "game_type": "SMP",
    "game_id": "MINECRAFT",
    "server_modification": {
        "name": "Paper on 1.15.2-R0.1-SNAPSHOT",
        "plugins": [
            "SimpleTpa 3.0"
        ]
    }
}

Package Sidebar

Install

npm i @switt/minecraft-status

Weekly Downloads

0

Version

1.1.0

License

MIT

Unpacked Size

44.5 kB

Total Files

15

Last publish

Collaborators

  • switt