@xmcl/client
TypeScript icon, indicating that this package has built-in type declarations

3.1.1 • Public • Published

Client Module

npm version Downloads Install size npm Build Status

Minecraft socket pipeline utilities. Support Minecraft lan server discovery.

Usage

Ping Minecraft Server

Read sever info (server ip, port) and fetch its status (ping, server motd):

import { queryStatus, Status, QueryOptions } from '@xmcl/client'
const serverInfo = {
    host: 'your host',
    port: 25565, // be default
};
const options: QueryOptions = {
    /**
     * see http://wiki.vg/Protocol_version_numbers
     */
    protocol: 203,
};
const rawStatusJson: Status = await fetchStatus(info, options);

Detect LAN Minecraft Server

You can detect if player share LAN server.

Or you can fake a LAN server.

import { MinecraftLanDiscover, LanServerInfo } from '@xmcl/client'
const discover = new MinecraftLanDiscover();

await discover.bind(); // start to listen any lan server

discover.on('discover', ({ motd, port }: LanServerInfo) => {
    console.log(motd); // server motd
    console.log(port); // server port
})

const isReady = discover.isReady // a boolean represent whether the discover is ready to use

// you can also fake a lan server
discover.broadcast({
    motd: 'your motd',
    port: 2384 // fake port
});
// fake LAN server is useful when you want to implement the P2P connection between two players

dicover.destroy(); // stop listening

/@xmcl/client/

    Package Sidebar

    Install

    npm i @xmcl/client

    Weekly Downloads

    48

    Version

    3.1.1

    License

    MIT

    Unpacked Size

    152 kB

    Total Files

    19

    Last publish

    Collaborators

    • ci010