prismarine-inspector Minecraft protocol packet viewer using Chrome DevTools.
Supports mineflayer
, node-minecraft-protocol
, prismarine-proxy
and bedrock-protocol
.
If you have Chrome installed, you can use your existing Chrome browser or a bundled copy of DevTools.
Install
As a developer tool, you probably want to install it globally:
npm install -g prismarine-inspector
or usable with npx if you just want to run the standalone client (see below):
npx prismarine-inspector
Usage
as a library
The default export takes emitter and options arguments. If useBundledDevTools
is false you will get a link to open in Chrome, otherwise if true you will get an Electron window.
netlog(emitter, options)
with mineflayer...
const netlog = require('prismarine-inspector')
const mineflayer = require('mineflayer')
const bot = mineflayer.createBot({ 'host': 'localhost' })
netlog(bot, { useBundledDevTools: false })
// ...
bot.on('spawn', () => console.log('spawned'))
with prismarine-proxy
See examples/
with node-minecraft-protocol client
const nmp = require('minecraft-protocol')
const netlog = require('prismarine-inspector')
const client = nmp.createClient(...)
netlog(client)
with bedrock-protocol client
const bp = require('bedrock-protocol')
const netlog = require('prismarine-inspector')
const client = bp.createClient(...)
netlog(client)
as a standalone client
The package comes with a basic standalone client for quick debugging with limited functionality.
Install the package locally or globally and run:
npx prismarine-inspector
You will get a small wizard screen to setup a simple proxy. The server you are connecting to must be offline.
Features
- log in-bound/out-bound packets with timestamps
- view JSON data
- usable as a library
Thanks to @kdzwinel's betwixt for the baseline implementation
Setup
Enabling the Name
, Method
and Protocol
tabs will show you the packet name, time of packet send, time since last packet, and Size of a packet. The colors indicate which side the packet is bound to. When using Chrome DevTools, the XHR and Script categories correspond to Clientbound/Serverbound (we can't change them there).
License
- See LICENSE - this repo contains a bundled copy of Chromium DevTools, Copyright 2014 The Chromium Authors.
(repo formerly known as MC-NetLog)