Why is my Minecraft server offline?
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 see | Likely cause | What to check first |
|---|---|---|
| Server works on your own PC but not for friends | Port forwarding, firewall, or public IP issue | Test from outside your network |
| Server works with an IP but not a domain | DNS or SRV record issue | Check A, AAAA, and SRV records |
| Java checker fails but Bedrock works | Wrong edition or protocol | Test Java and Bedrock separately |
| Bedrock checker fails but Java works | Wrong protocol or UDP port | Check UDP 19132 or the custom Bedrock port |
| Server shows offline but players can join | Status response is disabled or blocked | Check enable-status=true and proxy settings |
| Server shows online with 0 players | The server is online but empty | This is not the same as offline |
| Players get connection timed out | Traffic is not reaching the server | Check router, host firewall, and cloud firewall |
| Players get connection refused | Something answered, but not the Minecraft server | Check 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 clue | What it usually means |
|---|---|
| Crash loop after installing a plugin | Remove the newest plugin and restart |
| Failed to bind to port | Another process is already using that port, or the bind address is wrong |
| Server stops right after launch | Check EULA, Java version, memory, and plugin errors |
| Host panel says suspended or expired | Billing, resource, or host-side issue |
| Console is online but no players can connect | Move 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.
play.example.net
play.example.net:25566
123.45.67.89:25565https://play.example.net
play.example.net/
192.168.1.25
localhost192.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-ip=
server-port=25565
enable-status=trueDo 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.
- Hosting provider firewall
- Cloud firewall or security group
- Operating system firewall
- Router port forwarding
- Server process port
- Proxy or network software
For Java, forward TCP to the Java port. For Bedrock, forward UDP to the Bedrock port.
Player -> public IP/domain -> router TCP 25565 -> server computer TCP 25565 -> Minecraft serverPlayer -> public IP/domain -> router UDP 19132 -> server computer UDP 19132 -> Bedrock serverIf 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 issue | What happens |
|---|---|
| A record points to old IP | Domain fails, old server responds, or timeout |
| SRV target points directly to an IP | Some DNS providers reject it or clients fail |
| SRV port is wrong | Domain resolves but connects to the wrong port |
| Proxy domain works but backend IP is private | Public players cannot reach the backend |
| Recent DNS change has not propagated | Some 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.
enable-status=trueThen 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.
| Item | Good state |
|---|---|
| Public address | Domain or public IP, not a local IP |
| Edition | Java, Bedrock, or auto-detect verified |
| Port | Correct TCP or UDP port open |
| Status response | Server responds to Server List Ping |
| MOTD | Short, readable, and accurate |
| Player limit | Shows the real capacity |
| Version | Matches the client versions you support |
| Category | Survival, 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.
