@switt/minecraft-status
v1.1.0
Published
Node.js module for gathering information about Minecraft Java Edition servers and Minecraft Bedrock Edition servers.
Downloads
1
Maintainers
Readme
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"
]
}
}