Server troubleshooting

Why is my Minecraft server offline?

9 min readServerBuddy

Work through the server process, address, port, edition, DNS, firewall, and Server List Ping checks that usually explain why a Minecraft server shows offline.

A Minecraft server usually shows offline when the address players are using does not return a valid status response. The server may be stopped, the port may be wrong, Java and Bedrock may be mixed up, DNS may point to the wrong place, or a firewall may be blocking the ping.

For public listings, this matters because ServerBuddy only charts a server after it is online and responds to a valid Server List Ping. The add-server flow rejects addresses that are offline, unreachable, mistyped, blocked by firewall rules, or checked with the wrong edition.

Quick Diagnosis Table

What you seeLikely causeWhat to check first
Server works on your own PC but not for friendsPort forwarding, firewall, or public IP issueTest from outside your network
Server works with an IP but not a domainDNS or SRV record issueCheck A, AAAA, and SRV records
Java checker fails but Bedrock worksWrong edition or protocolTest Java and Bedrock separately
Bedrock checker fails but Java worksWrong protocol or UDP portCheck UDP 19132 or the custom Bedrock port
Server shows offline but players can joinStatus response is disabled or blockedCheck enable-status=true and proxy settings
Server shows online with 0 playersThe server is online but emptyThis is not the same as offline
Players get connection timed outTraffic is not reaching the serverCheck router, host firewall, and cloud firewall
Players get connection refusedSomething answered, but not the Minecraft serverCheck the process and listening port

Offline Does Not Always Mean Empty

A server with 0 players can still be online. It responded to the status check, but nobody was connected at that moment.

Offline means the check failed or the server did not respond. ServerBuddy also separates unknown from offline when there is no reliable data for a time bucket. Do not restart a server just because it has 0 players. Restart it when the process is down, the status check fails, or players cannot connect from outside your network.

Check That the Server Process Is Running

Start with the boring check first. Open your hosting panel, console, or terminal and confirm the server process is actually running.

Look for a normal startup line in the console. On most Java servers, the log eventually says the server is done loading. If the console keeps restarting, read logs/latest.log before changing random settings.

Log or panel clueWhat it usually means
Crash loop after installing a pluginRemove the newest plugin and restart
Failed to bind to portAnother process is already using that port, or the bind address is wrong
Server stops right after launchCheck EULA, Java version, memory, and plugin errors
Host panel says suspended or expiredBilling, resource, or host-side issue
Console is online but no players can connectMove to address, port, and firewall checks

Check the Address Players Are Using

Use the exact address a player enters in Minecraft. Small differences matter, especially protocol prefixes, trailing paths, local IPs, and custom ports.

Good address examples
play.example.net
play.example.net:25566
123.45.67.89:25565
Bad address examples
https://play.example.net
play.example.net/
192.168.1.25
localhost

192.168.x.x, 10.x.x.x, and localhost are local addresses. They can work on your own machine or home network, but they are not the public address most players need.

Check the Port

For a normal Java server, the default port is 25565. A clean Java setup usually leaves server-ip blank, uses server-port=25565, and keeps status checks enabled.

server.properties
server-ip=
server-port=25565
enable-status=true

Do not put your public IP in server-ip unless your host specifically tells you to. A wrong bind address can make the server listen on the wrong interface.

Bedrock is different. Java servers usually use TCP port 25565, while Bedrock servers usually use UDP port 19132. Custom ports are possible for both.

Check Java vs Bedrock

Java and Bedrock do not use the same connection protocol. If you run a Java server, test it as Java. If you run a Bedrock server, test it as Bedrock. If you use Geyser or another crossplay setup, test the Java side and Bedrock side separately because each side can fail for a different reason.

A common mistake is submitting a Bedrock server as Java, or giving players a Java address when only the Bedrock listener is reachable. ServerBuddy can auto-detect the edition, but the server still has to respond correctly when it is probed.

Check Firewall and Port Forwarding

If the server works locally but not publicly, the problem is usually between the player and the server machine. Check the layers that can block traffic before you change Minecraft settings.

  1. Hosting provider firewall
  2. Cloud firewall or security group
  3. Operating system firewall
  4. Router port forwarding
  5. Server process port
  6. Proxy or network software

For Java, forward TCP to the Java port. For Bedrock, forward UDP to the Bedrock port.

Typical Java route
Player -> public IP/domain -> router TCP 25565 -> server computer TCP 25565 -> Minecraft server
Typical Bedrock route
Player -> public IP/domain -> router UDP 19132 -> server computer UDP 19132 -> Bedrock server

If your server computer's local IP changed, the router may still forward traffic to the old device. Give the server machine a reserved LAN IP if you host from home.

Check DNS and SRV Records

If a raw IP works but a domain does not, check DNS. For a basic setup, your domain should point to the public IP of the server or proxy. If you use a custom Java port and do not want players to type it, you may use an SRV record.

DNS issueWhat happens
A record points to old IPDomain fails, old server responds, or timeout
SRV target points directly to an IPSome DNS providers reject it or clients fail
SRV port is wrongDomain resolves but connects to the wrong port
Proxy domain works but backend IP is privatePublic players cannot reach the backend
Recent DNS change has not propagatedSome players can connect, others cannot

When troubleshooting, test both the domain and the raw public IP. If the IP works and the domain fails, fix DNS before changing Minecraft settings.

Check Server List Ping

Many server lists and status tools rely on Minecraft's status response, often called Server List Ping. On Java servers, enable-status=true is important because it lets tools fetch public server information.

server.properties
enable-status=true

Then restart the server. If you run a proxy, also check the proxy config. Some networks block or customize ping responses at the proxy layer, not the backend server.

Test From Outside Your Own Network

Do not rely only on your own Minecraft client. Home networks can hide problems because local connections take a different route than public player connections.

Use ServerBuddy's status checker with the public address players use. It resolves DNS and SRV records, auto-detects Java or Bedrock, and shows latency, version, protocol, players, MOTD, icon, and whether the server is already listed.

Use Connection Doctor when the problem looks like a port or network issue. It runs a live Minecraft status probe from ServerBuddy infrastructure, then gives a clearer failure category such as DNS failure, timeout, closed port, wrong protocol, or invalid response.

Fix the Issue Before Listing the Server

Before you submit a server to a public list, make sure the public status response works. ServerBuddy creates a public profile after a successful live ping, then tracks player count, MOTD, version, uptime, activity history, and peak times over time.

ItemGood state
Public addressDomain or public IP, not a local IP
EditionJava, Bedrock, or auto-detect verified
PortCorrect TCP or UDP port open
Status responseServer responds to Server List Ping
MOTDShort, readable, and accurate
Player limitShows the real capacity
VersionMatches the client versions you support
CategorySurvival, SMP, Lifesteal, Skyblock, or the closest fit

FAQ

  • Why does my Minecraft server say offline when players can join? On Java, the server may allow joins while hiding or blocking the status response. Check enable-status=true, proxy ping settings, firewall rules, and plugins that modify server list behavior.
  • What port should a Minecraft server use? Java servers usually use TCP 25565. Bedrock servers usually use UDP 19132. Hosts can use custom ports, so always check the port in your host panel or server.properties.
  • Should I put my public IP in server.properties? For most Java servers, no. Leave server-ip blank unless your host tells you to bind to a specific address.
  • Why can I join locally but my friends cannot? Your server process is probably running, but public traffic is not reaching it. Check router port forwarding, firewall rules, public IP, and whether you are testing the right protocol.
  • Why was my server rejected by ServerBuddy? ServerBuddy rejects a submission when it cannot verify the address. Common causes are an offline or unreachable server, mistyped address or port, firewall-blocked Server List Ping, or wrong edition selection.
  • Is 0 players the same as offline? No. 0 players means the server responded and is empty. Offline means the status check failed or the server did not respond.