Launch sale20% off everything — celebrating the launch of GHosting!
← All guides

Mindustry Server Not Showing Up? Ports, Maps and Version Fixes

A Mindustry server can be running as a Java process and still be impossible to join. The usual causes are specific: no map was hosted, only one protocol was opened, another server owns the port, the public address never reaches the home machine, or a player is on a different build.

A defended desert factory under attack on a Mindustry dedicated server Use Mindustry hosting with a public port and Linux service already configured

1. Make sure a map is actually hosted

“Server loaded” means the JAR started. It does not guarantee that a game is open for players. In the server console, run:

status
maps all
host

status should show an active map rather than a closed server. If it does not, start one explicitly:

host Ancient_Caldera survival

Use a map name returned by maps all, replacing spaces with underscores if necessary. If a custom map is missing, confirm that it is a compatible .msav file in the map directory, run reloadmaps, and try again. A valid Java process with no hosted map is one of the most common reasons a new server is not reachable.

2. Confirm the process is listening on the intended port

Mindustry defaults to port 6567, but the server can be configured to use another number. Check the live configuration and the operating system:

config port
sudo ss -ltnup | grep 6567

A healthy default host normally shows the Java process on both TCP and UDP 6567. If the console says the port is already in use, find the existing process before starting a second instance:

sudo lsof -nP -iTCP:6567 -iUDP:6567

Stop the stale Mindustry service or choose a different port for one server. Two instances cannot share the same address and port.

3. Open both TCP and UDP

Mindustry uses the same game port over both TCP and UDP. Opening only TCP can leave a server looking fine to a web-style test while players time out or cannot discover it:

sudo ufw allow 6567/tcp
sudo ufw allow 6567/udp

Then make the router forward TCP 6567 and UDP 6567 to the same fixed private address of the server. If you changed the server port, all four places must agree: Mindustry configuration, Linux firewall, router rule and the address your players add.

4. Separate a LAN success from an internet success

Ask another device on the same home network to join the server's private IP first. If that works but an external friend cannot connect, the game and Java installation are probably fine. The remaining path is the router, ISP or cloud firewall.

  • Reserve the server machine's private address so forwarding does not point at a different device after DHCP renews.
  • Check for double NAT, such as an ISP modem acting as a router in front of your own router.
  • Compare the router WAN address with a public-IP service. A private or carrier-grade WAN address usually means CGNAT.
  • Test from a genuinely different network. Some routers cannot connect to their own public address from inside the home network.

With CGNAT, local port forwarding cannot make the server public. Ask the provider for a public address or move the game to a host with one.

5. Treat “not compatible” as a version problem first

Mindustry supports PC and mobile together, but not across incompatible builds. The project's own server messages distinguish an outdated client, an outdated server and a build-type mismatch. Check the dedicated server version in its startup log or with:

java -jar server-release.jar version

Then compare it with every player, including Android, iOS, Steam, itch.io and F-Droid builds. Mobile storefront approval can lag a desktop release. Do not automatically update the server just because a GitHub release exists. Keep the server on the build the group can actually install, or schedule the update after the slowest platform is ready.

6. Check custom maps, content and plugins

A map can be visible but fail to load because it was saved by a newer major build or depends on content the dedicated server does not have. Test with a built-in map first. If that works, the network is not the issue. Reintroduce the custom map, patches and plugins one at a time while reading the startup log.

Server-side plugins live in config/mods/. They are useful for commands and moderation, but they also run Java code on the server. Remove a newly added plugin and restart if the server crashes before opening its port. Keep a copy of the latest autosave before experimenting with a large mod or data-patch set.

7. Restore the world without accidentally starting over

If the server accepts connections but appears to have reset, stop changing network settings. Find the saves first. Mindustry's autosave naming and directories depend on the server data path, so verify the service's working directory before assuming the world was deleted.

Copy the newest save somewhere safe, then use the dedicated console's save and load commands to validate it. A correctly restored autosave should show the expected map, wave and factory state in status.

Quick diagnosis

  • The terminal says loaded but players cannot join: run status and host a map.
  • “Port already in use”: find the stale Java process or choose a separate port.
  • Works on LAN only: forward both TCP and UDP, then investigate CGNAT or double NAT.
  • “Not compatible”: align the dedicated server and every client build.
  • Only one custom world fails: test a built-in map, then check its version, content and plugins.
  • The world looks new after restart: locate and restore the autosave before making network changes.

GHosting Mindustry hosting removes the home-router and service-management layer: each server gets a fixed public port over TCP and UDP, automatic saves, server settings, file access, a live console and a deliberate version-update control. Nothing renews automatically.

See the official server documentation for commands and configuration options, the upstream issue tracker for current fixes, and the project's release notes before changing client or server builds.