NetherLink
NetherLink is a Minecraft mod for friend-based online play. It provides a friends UI, friend requests, presence sharing, and WebRTC-based joining for single-player worlds and dedicated servers.
The default backend is NLI API v1, hosted by NetherLink. It handles friends, presence, signaling, and TURN credentials used by the P2P connection flow.
What it does
- Adds a NetherLink friends screen with:
- friend list
- friend requests
- friend/API settings
- player avatars
- joinable instance display
- Lets a single-player integrated server be opened to friends through NetherLink.
- Lets friends join through WebRTC P2P, with TURN fallback when direct connectivity is not available.
- Supports dedicated servers publishing themselves as joinable NetherLink instances through a linked Minecraft account.
- Supports switching between available link backends from the Friends settings tab.
Client usage
- Install NetherLink on the client.
- Launch Minecraft and sign in with a Microsoft/Minecraft account.
- Open the Friends button in the main/multiplayer UI to manage friends and requests.
- In a single-player world, open the multiplayer sharing screen.
- Select NetherLink as the multiplayer scope and apply the change.
When enabled, your friends can see and join the world through NetherLink. The world is still hosted by your client, so it closes when you leave the world or stop sharing it.
The first use of the NLI backend may show the current service terms. NLI terms are fetched from the configured backend and accepted terms are stored locally.
Dedicated server usage
-
Install NetherLink on the server.
-
Optional: set
NETHERLINK_CLIENT_IDif you want to use your own Microsoft authentication app id. -
Start the server and run:
/nli add -
Open the login URL shown in chat or the server console, complete Microsoft authentication, and wait for NetherLink to store the Minecraft account.
-
Check configured accounts:
/nli list -
Publish the server through the linked account:
/nli publish
After publishing, friends of the linked account should see the server as a joinable NetherLink instance. Incoming WebRTC join requests are accepted by NetherLink and routed into the running server.
Server commands
/nli addor/netherlink add: add a Microsoft/Minecraft account through device-code login./nli list: show configured accounts and token status./nli refresh [all|<name>]: refresh stored account tokens./nli publish [all|<name>]: publish server presence and start accepting P2P joins./nli revoke [all|<name>]: revoke server presence and stop accepting P2P joins./nli toggle <name>: enable or disable an account./nli remove <name>: remove a stored account.
Account data is stored under netherlink/accounts. Treat these files as credentials; do not share them publicly.
Configuration
Client configuration is stored under config/netherlink/.
config.jsonactiveService: selected backend, defaulting tonetherlink:nli_v1.instanceName: optional name used when publishing your current world/server instance.
nli-v1.jsonserver: NLI API server URL. Defaults tohttps://nli-api.muyucloud.cool.acceptedTerms: local record of accepted NLI terms revisions.
The active backend can also be changed from the Friends settings tab.
Notes
- NetherLink uses Minecraft account identity information for friend and presence features. The mod and companion backend code are open source.
- NLI's hosted backend and TURN service are used by default.
- Connection quality depends on both peers' networks, but TURN fallback should make joining more reliable than direct-only P2P attempts.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 |
- use nli icon
- display player's own instances
- fix offline server connection
- fix server token refresh
- optimize client presence publish
- optimize terms requests
- optimize UI
- use nli icon
- display player's own instances
- fix offline server connection
- fix server token refresh
- optimize client presence publish
- optimize terms requests
- optimize UI
- use nli icon
- display player's own instances
- fix offline server connection
- fix server token refresh
- optimize client presence publish
- optimize terms requests
- optimize UI
- use nli icon
- display player's own instances
- fix offline server connection
- fix server token refresh
- optimize client presence publish
- optimize terms requests
- optimize UI
- use nli icon
- display player's own instances
- fix offline server connection
- fix server token refresh
- optimize client presence publish
- optimize terms requests
- optimize UI
- use nli icon
- display player's own instances
- fix offline server connection
- fix server token refresh
- optimize client presence publish
- optimize terms requests
- optimize UI
- use nli icon
- display player's own instances
- fix offline server connection
- fix server token refresh
- optimize client presence publish
- optimize terms requests
- optimize UI
- use nli icon
- display player's own instances
- fix offline server connection
- fix server token refresh
- optimize client presence publish
- optimize terms requests
- optimize UI
- use nli icon
- display player's own instances
- fix offline server connection
- fix server token refresh
- optimize client presence publish
- optimize terms requests
- optimize UI
- use nli icon
- display player's own instances
- fix offline server connection
- fix server token refresh
- optimize client presence publish
- optimize terms requests
- optimize UI
- display player's own instances
- fix offline server connection
- optimize client presence publish
- optimize terms requests
- optimize UI
- display player's own instances
- fix offline server connection
- optimize client presence publish
- optimize terms requests
- optimize UI
NetherLink has been almost completely rebuilt in this update. The mod is no longer a simple backport of Mojang's experimental friends and peer-to-peer online play APIs. It now uses a redesigned backend abstraction and can switch between supported link services, with NetherLink's own NLI API as the default service.
Most importantly, online play is available again. After Mojang temporarily removed or delayed the official peer-to-peer online play service, NetherLink now restores the connection flow through our own backend infrastructure and self-hosted coturn server.
### Major changes
- Completely refactored the link service architecture.
- Official Minecraft API support is now implemented as one
LinkService. - NLI API v1 is implemented as the default
LinkService. - Runtime, friends, hosting, joining, signaling, and settings are now separated behind common abstractions.
- Restored peer-to-peer online play.
- NetherLink now uses our own NLI API and self-hosted coturn server for WebRTC traversal.
- Friend-hosted worlds can once again be joined through NetherLink.
- Improved signaling lifecycle, runtime reuse, and join-state handling.
- Added NLI API v1 integration.
- Friend list, friend requests, friend settings, presence, hosting, and joining are now available through NLI.
- NLI backend URL is configurable in
config/netherlink/nli-v1.json. - General NetherLink settings are stored in
config/netherlink/config.json.
- Reworked the Friends UI.
- Added separate tabs for friends, friend requests, and settings.
- Friends are sorted by joinability and online state.
- Friend and request entries now show player avatars.
- Friend instances can be viewed before joining.
- Added API switching and friend network settings.
- Added service terms handling.
- NLI terms are fetched from the backend and shown when needed.
- Accepted NLI terms are stored with the NLI v1 configuration.
- Accepting terms can also enable the friend network when required.
- Improved join feedback.
- Added a NetherLink join screen that shows actual connection progress.
- The screen reports request, acceptance, WebRTC negotiation, P2P handoff, and Minecraft login stages.
- Join cancellation is handled more safely.
- Improved presence publishing.
- Published instance names now prefer the configured instance name.
- Integrated servers fall back to the current Minecraft window title.
- Dedicated servers fall back to the server MOTD.
- Updated official API compatibility.
- Official friends and presence flows have been synchronized with Minecraft 26.2 behavior.
- Friend settings support has been added for the official service where available.
- Legacy official service IDs are migrated automatically.
### Notes
- This version changes much of the internal architecture. Existing behavior around friends and joining should be considered newly rebuilt rather than a small patch over the old implementation.
- If you previously configured NetherLink, check the new files under
config/netherlink/. - Connection quality depends on both peers' network environments, but coturn fallback should make joining much more reliable than direct-only P2P attempts.
NetherLink has been almost completely rebuilt in this update. The mod is no longer a simple backport of Mojang's experimental friends and peer-to-peer online play APIs. It now uses a redesigned backend abstraction and can switch between supported link services, with NetherLink's own NLI API as the default service.
Most importantly, online play is available again. After Mojang temporarily removed or delayed the official peer-to-peer online play service, NetherLink now restores the connection flow through our own backend infrastructure and self-hosted coturn server.
### Major changes
- Completely refactored the link service architecture.
- Official Minecraft API support is now implemented as one
LinkService. - NLI API v1 is implemented as the default
LinkService. - Runtime, friends, hosting, joining, signaling, and settings are now separated behind common abstractions.
- Restored peer-to-peer online play.
- NetherLink now uses our own NLI API and self-hosted coturn server for WebRTC traversal.
- Friend-hosted worlds can once again be joined through NetherLink.
- Improved signaling lifecycle, runtime reuse, and join-state handling.
- Added NLI API v1 integration.
- Friend list, friend requests, friend settings, presence, hosting, and joining are now available through NLI.
- NLI backend URL is configurable in
config/netherlink/nli-v1.json. - General NetherLink settings are stored in
config/netherlink/config.json.
- Reworked the Friends UI.
- Added separate tabs for friends, friend requests, and settings.
- Friends are sorted by joinability and online state.
- Friend and request entries now show player avatars.
- Friend instances can be viewed before joining.
- Added API switching and friend network settings.
- Added service terms handling.
- NLI terms are fetched from the backend and shown when needed.
- Accepted NLI terms are stored with the NLI v1 configuration.
- Accepting terms can also enable the friend network when required.
- Improved join feedback.
- Added a NetherLink join screen that shows actual connection progress.
- The screen reports request, acceptance, WebRTC negotiation, P2P handoff, and Minecraft login stages.
- Join cancellation is handled more safely.
- Improved presence publishing.
- Published instance names now prefer the configured instance name.
- Integrated servers fall back to the current Minecraft window title.
- Dedicated servers fall back to the server MOTD.
- Updated official API compatibility.
- Official friends and presence flows have been synchronized with Minecraft 26.2 behavior.
- Friend settings support has been added for the official service where available.
- Legacy official service IDs are migrated automatically.
### Notes
- This version changes much of the internal architecture. Existing behavior around friends and joining should be considered newly rebuilt rather than a small patch over the old implementation.
- If you previously configured NetherLink, check the new files under
config/netherlink/. - Connection quality depends on both peers' network environments, but coturn fallback should make joining much more reliable than direct-only P2P attempts.
NetherLink has been almost completely rebuilt in this update. The mod is no longer a simple backport of Mojang's experimental friends and peer-to-peer online play APIs. It now uses a redesigned backend abstraction and can switch between supported link services, with NetherLink's own NLI API as the default service.
Most importantly, online play is available again. After Mojang temporarily removed or delayed the official peer-to-peer online play service, NetherLink now restores the connection flow through our own backend infrastructure and self-hosted coturn server.
### Major changes
- Completely refactored the link service architecture.
- Official Minecraft API support is now implemented as one
LinkService. - NLI API v1 is implemented as the default
LinkService. - Runtime, friends, hosting, joining, signaling, and settings are now separated behind common abstractions.
- Restored peer-to-peer online play.
- NetherLink now uses our own NLI API and self-hosted coturn server for WebRTC traversal.
- Friend-hosted worlds can once again be joined through NetherLink.
- Improved signaling lifecycle, runtime reuse, and join-state handling.
- Added NLI API v1 integration.
- Friend list, friend requests, friend settings, presence, hosting, and joining are now available through NLI.
- NLI backend URL is configurable in
config/netherlink/nli-v1.json. - General NetherLink settings are stored in
config/netherlink/config.json.
- Reworked the Friends UI.
- Added separate tabs for friends, friend requests, and settings.
- Friends are sorted by joinability and online state.
- Friend and request entries now show player avatars.
- Friend instances can be viewed before joining.
- Added API switching and friend network settings.
- Added service terms handling.
- NLI terms are fetched from the backend and shown when needed.
- Accepted NLI terms are stored with the NLI v1 configuration.
- Accepting terms can also enable the friend network when required.
- Improved join feedback.
- Added a NetherLink join screen that shows actual connection progress.
- The screen reports request, acceptance, WebRTC negotiation, P2P handoff, and Minecraft login stages.
- Join cancellation is handled more safely.
- Improved presence publishing.
- Published instance names now prefer the configured instance name.
- Integrated servers fall back to the current Minecraft window title.
- Dedicated servers fall back to the server MOTD.
- Updated official API compatibility.
- Official friends and presence flows have been synchronized with Minecraft 26.2 behavior.
- Friend settings support has been added for the official service where available.
- Legacy official service IDs are migrated automatically.
### Notes
- This version changes much of the internal architecture. Existing behavior around friends and joining should be considered newly rebuilt rather than a small patch over the old implementation.
- If you previously configured NetherLink, check the new files under
config/netherlink/. - Connection quality depends on both peers' network environments, but coturn fallback should make joining much more reliable than direct-only P2P attempts.
NetherLink has been almost completely rebuilt in this update. The mod is no longer a simple backport of Mojang's experimental friends and peer-to-peer online play APIs. It now uses a redesigned backend abstraction and can switch between supported link services, with NetherLink's own NLI API as the default service.
Most importantly, online play is available again. After Mojang temporarily removed or delayed the official peer-to-peer online play service, NetherLink now restores the connection flow through our own backend infrastructure and self-hosted coturn server.
### Major changes
- Completely refactored the link service architecture.
- Official Minecraft API support is now implemented as one
LinkService. - NLI API v1 is implemented as the default
LinkService. - Runtime, friends, hosting, joining, signaling, and settings are now separated behind common abstractions.
- Restored peer-to-peer online play.
- NetherLink now uses our own NLI API and self-hosted coturn server for WebRTC traversal.
- Friend-hosted worlds can once again be joined through NetherLink.
- Improved signaling lifecycle, runtime reuse, and join-state handling.
- Added NLI API v1 integration.
- Friend list, friend requests, friend settings, presence, hosting, and joining are now available through NLI.
- NLI backend URL is configurable in
config/netherlink/nli-v1.json. - General NetherLink settings are stored in
config/netherlink/config.json.
- Reworked the Friends UI.
- Added separate tabs for friends, friend requests, and settings.
- Friends are sorted by joinability and online state.
- Friend and request entries now show player avatars.
- Friend instances can be viewed before joining.
- Added API switching and friend network settings.
- Added service terms handling.
- NLI terms are fetched from the backend and shown when needed.
- Accepted NLI terms are stored with the NLI v1 configuration.
- Accepting terms can also enable the friend network when required.
- Improved join feedback.
- Added a NetherLink join screen that shows actual connection progress.
- The screen reports request, acceptance, WebRTC negotiation, P2P handoff, and Minecraft login stages.
- Join cancellation is handled more safely.
- Improved presence publishing.
- Published instance names now prefer the configured instance name.
- Integrated servers fall back to the current Minecraft window title.
- Dedicated servers fall back to the server MOTD.
- Updated official API compatibility.
- Official friends and presence flows have been synchronized with Minecraft 26.2 behavior.
- Friend settings support has been added for the official service where available.
- Legacy official service IDs are migrated automatically.
### Notes
- This version changes much of the internal architecture. Existing behavior around friends and joining should be considered newly rebuilt rather than a small patch over the old implementation.
- If you previously configured NetherLink, check the new files under
config/netherlink/. - Connection quality depends on both peers' network environments, but coturn fallback should make joining much more reliable than direct-only P2P attempts.