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

1.0.0 • Public • Published

Client Module

Version made for Lumina projects. Original credits goes to Voxelum/minecraft-launcher-core-node

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 '@createlumina/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 '@createlumina/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

Package Sidebar

Install

npm i @createlumina/client

Weekly Downloads

0

Version

1.0.0

License

MIT

Unpacked Size

161 kB

Total Files

19

Last publish

Collaborators

  • padowyt2