If you run a Minecraft Bedrock server and a status checker reports it offline even though players can join, the checker is probably trying to reach it over the wrong protocol. Modern Bedrock servers may be running on NetherNet, whereas most status sites can only ping the older RakNet transport. This guide shows how to easily check a NetherNet server's real status and the connection info it advertises.
Short version: point iceFetch at your server's host and port. It performs the same signaling handshake a real client does and reports the server's status plus its ICE candidates. There is also a JSON API for scripts and monitoring.
Classic Bedrock status and ping tools send a RakNet "unconnected ping" over UDP and read the pong. That worked for servers on the legacy transport. But a modern server may be configured with transport=nethernet, and NetherNet is not compatible with RakNet pings — there is no UDP pong to read. The server is fully online; the checker simply queried it over a protocol it does not support, so it reports offline or timed out.
NetherNet is a WebRTC-based transport: connections are negotiated with SDP offers/answers and ICE candidates over a small HTTP signaling endpoint the server opens on its TCP port. To see a NetherNet server's status you have to talk to that endpoint, not send a RakNet ping. For the full contrast, see RakNet vs NetherNet.
Open iceFetch, enter the server's host and port (usually 19132), and run it to get:
/v1/join metadata: name, protocol/version, and current and maximum players.host, srflx, relay).It never joins the server; it only completes the signaling step.
Repeated runs can use up the UDP ports BDS has available to hand out, so keep ICE candidate fetches to a minimum.
For scripts and uptime monitoring, use the API:
# status only
curl "https://icefetch.tools.kt04.com/api/info?host=play.example.net&port=19132"
# status + ICE candidates
curl -X POST https://icefetch.tools.kt04.com/api/offer \
-H 'content-type: application/json' \
-d '{"host":"play.example.net","port":19132}'
/api/info returns { ok, status, tls, info }; /api/offer returns the candidates plus the raw SDP answer. The API docs list the full request and response types and the rate limits.
host / srflx / relay) — these are the real UDP endpoints the server offers to clients. srflx is its public NAT-reflexive address; relay is a TURN fallback.Is my server NetherNet or RakNet? Check server.properties: transport=nethernet (or a network that fronts it) uses NetherNet. If it is the default RakNet, classic pingers work and iceFetch's signaling path does not apply.
Why does a status site show my server offline? Most sites ping RakNet only. A NetherNet server does not answer RakNet pings, so they report it offline even though it is running.
Can I check without joining? Yes — reading status and candidates is a signaling-only handshake. No game session is opened.
Can I monitor it automatically? Yes, poll GET /api/info on a schedule. Mind the rate limits: 20 requests per minute per IP and a monthly quota (a free API key raises it).
Does it work for a friend's open world? That is a different, Xbox-brokered path, covered in reading a friend's world over NetherNet.
ToolLearnArticlesAPIPrivacyTerms · iceFetch is not affiliated with Mojang or Microsoft.