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

Factorio Server Not Responding: UDP, Version and Mod Fixes

A running Factorio process is not proof that players can reach it. The common causes are a missing UDP listener, a firewall or router rule, CGNAT, a client on another build, or a different mod set. Work from the server outward.

Original top-down industrial factory with branching conveyors Run Factorio on a managed public address in Europe or North America

1. Confirm the process and UDP listener

sudo systemctl status factorio
sudo journalctl -u factorio -n 100 --no-pager
sudo ss -Hlun 'sport = :34197'

Replace 34197 with your configured port. The command-line reference documents --port, server settings and save startup options. If the listener is absent, read the log before changing firewall rules: a bad mod, unreadable save or incorrect write-data path can stop startup first.

2. Open and forward UDP, not TCP

sudo ufw allow 34197/udp

At home, forward UDP 34197 from the router to the server's fixed LAN address. Forwarding TCP alone is not enough. UDP checks from generic websites are limited because UDP has no connection handshake, and a healthy server may not answer a probe that is not speaking Factorio. Test with a real client from a different network.

3. Rule out CGNAT

Compare the router's WAN address with the public address shown by an external IP service. Addresses in private or carrier-grade ranges mean inbound forwarding cannot work without a public IP, an ISP option, a tunnel or a hosted server. A direct connection can fail under CGNAT even when local LAN play works perfectly.

4. Match the exact version and mod set

Factorio clients need the same game build and the same enabled mods as the server. Check the server binary and installed mods, then ask joining players to compare their mod list. Do not change mod-list.json on a running server. Stop it, back up saves, apply the change and restart.

/srv/factorio/runtime/bin/x64/factorio --version
find /srv/factorio/data/mods -maxdepth 1 -type f -name '*.zip' -print

Use the official stable headless link for normal production updates and stage it before swapping runtime files. The Linux setup guide shows a data layout that protects saves during that process.

5. Public listing is optional

A server can be absent from the public browser yet work by direct address. Public visibility requires both the Factorio account username and auth token in server settings. Missing, stale or incomplete credentials should leave visibility.public false. Fix the credentials only if discovery matters; never paste the token into a public log or command line.

Finally, verify that the map was created under the intended Base or Space Age configuration. An unsafe DLC toggle can look like a connection problem when clients load a different mod state. Read our variant guide before changing it.