Menu
 

Fix Luanti Connection Timed Out Errors

Fixing Luanti "Connection Timed Out" Errors

A Luanti timeout almost always means packets are not making the full round trip between client and server. The usual causes are a stopped server, UDP 30000 not reaching the instance, localhost-only binding, or a home network trapped behind CGNAT.

1. Start with the obvious: is the server actually up?

Before touching firewalls, confirm the server process is running and listening where you expect.

systemctl status luanti-server.service
ss -lunp | grep 30000
journalctl -u luanti-server.service -n 100

If the service is crash-looping or never opens the port, the problem is local to the host. Fix that first before testing the network path.

2. Open the correct port and protocol

Luanti servers normally use UDP port 30000. Opening TCP alone does not solve the common join timeout.

sudo ufw allow 30000/udp
sudo ufw reload
sudo ufw status

If you also manage raw iptables or cloud firewalls, the same UDP port must be allowed there too. One open layer and one blocked layer still equals a timeout.

3. Check your bind address

If you explicitly bind the server to 127.0.0.1, remote players will never reach it. Leave the bind unset or use a public-facing value.

# Bad for remote players
bind_address = 127.0.0.1

# Safe when you want to listen on all interfaces
bind_address = 0.0.0.0

After changing the bind setting, restart the service and confirm it is listening on the expected address, not only on loopback.

4. Home hosting: router forwarding and CGNAT

If the server is on a home connection, your router must forward UDP 30000 to the LAN IP of the host machine. That still will not help if your ISP places you behind carrier-grade NAT.

Typical symptoms of CGNAT:

  • the server works on your LAN but not from the internet
  • the router shows one WAN IP while public IP websites show another
  • every external test times out even though local firewall rules are correct

If that is your situation, you usually need a real public IP, a VPN or tunneling layer, or a server hosted in a data center instead of at home.

5. Quick operator checklist

  1. Verify the service is up and not crash-looping.
  2. Confirm the server is listening on UDP 30000.
  3. Open UDP 30000 on the host firewall and any cloud firewall.
  4. Ensure the server is not bound only to 127.0.0.1.
  5. If hosting from home, confirm router forwarding and rule out CGNAT.
  6. Retest from a network outside your LAN.

6. When the timeout is really a version or mod problem

Not every failed join is network-only. If players can reach the server but fail after the initial handshake, check protocol compatibility, gamepack expectations, and mod mismatches. Those problems usually show up in logs more clearly than a pure timeout.

Do not want to debug UDP paths and home NAT? Supercraft's Luanti Server Hosting gives you a public endpoint, backups, and a cleaner control surface without manual router or firewall work.

Top