NodeLink

Minimum Client Requirements

The minimum NodeLink features a client must implement to be considered officially compatible.

Minimum Client Requirements

Abstract

This page defines the minimum client-side features required to be considered officially compatible with NodeLink. It focuses only on endpoints, WebSocket flows, and payload extensions that a client must implement. Administrative and monitoring concerns are intentionally excluded.


Introduction

NodeLink is compatible with the Lavalink v4 API, but it adds client-facing features that go beyond the standard specification. A client that wants to be considered an official NodeLink client must implement the minimum set below. These items are not server-only toggles: they require client logic.

Method

The list is derived from the NodeLink server implementation and limited to differences that require explicit client support. Items that are operational, administrative, or monitoring-oriented are excluded from the minimum.

Results

Minimum Feature Set


Audio Mixer

Minimum support

  • REST: POST/GET/PATCH/DELETE /v4/sessions/:sessionId/players/:guildId/mix
  • WS events: MixStartedEvent, MixEndedEvent

Lyrics

Minimum support

  • REST: GET /v4/loadlyrics

Chapters

Minimum support

  • REST: GET /v4/loadchapters

Extra Filters

Minimum support

  • Filters: echo, chorus, compressor, highpass, phaser, spatial

Voice Receive

Minimum support

  • WS: /v4/websocket/voice/:guildId

Update Player Extras

Minimum support

  • voice.channelId in Update Player payloads

Search Prefixes

Minimum support

  • Additional prefixes: admsearch, amsearch, audiomack, bcsearch, bilibili, dzsearch, flowery, ftts, gaanasearch, gtts, jssearch, lfsearch, mcsearch, ncsearch, nicovideo, pdsearch, shsearch, speak, spsearch, szsearch, tdsearch, vksearch


Optional (Not Required for Official Compatibility)

These features are available in NodeLink but are not part of the minimum compatibility bar for clients:

  • /v4/connection (connection metrics endpoint used for diagnostics)
  • /v4/encodedtracks (batch track encoding helper)
  • search: unified search prefix for /v4/loadtracks
  • :playlist: type modifier in search prefixes (example: scsearch:playlist:lofi)
  • track.audioTrackId in Update Player payloads (optional; defaults to original audio unless the client selects an alternate YouTube auto-dubbed track)

Conclusion

If a client implements the seven minimum areas above, it can be marked as an official NodeLink-compatible client in the README feature matrix.

On this page