Cannot host public server successfully

Anything that prevents you from playing the game properly. Do you have issues playing for the game, downloading it or successfully running it on your computer? Let us know here.
xBlizzDevious
Fast Inserter
Fast Inserter
Posts: 108
Joined: Mon Feb 02, 2015 10:15 pm
Contact:

Cannot host public server successfully

Post by xBlizzDevious »

Hello.

I've hosted servers for Factorio as soon as I could as my friends and I were keen to play it together. Locally hosted, directly connected games work fine, as do dedicated games that you connect to with a direct IP.

With 0.14 (or was it in 0.13?) the Server Browser was a nice addition. I never used it as I was always playing private, modded games in which I send the IP to anyone I want to be able to connect. This works PERFECTLY.

Today, I decided to host an open vanilla server to see if people join and how it goes. All appears well - to the point that my server shows up in the public server browser. Unfortunately, that's where it fails. I can't connect - nor can a random person I found on another server.

TL;DR: Server shows in public listing but no one can join.


Details I can provide:
Server is hosted on a separate machine in my house. NAT Mirroring is enabled so I should be able to join from inside the network (on my main PC) through the external route.
I have attempted with an assortment of ports. A few confirmed working with other applications and a couple of random ports that were not forwarded in my router.
I have attempted hosting from my main PC with another port (that is forwarded correctly).

Errors that appear to be the issue:

Dedicated server log (suspect lines - IP removed, port left in):

Code: Select all

   0.955 Info ServerMultiplayerManager.cpp:649: mapTick(769) changing state from(CreatingGame) to(InGame)
   0.955 Info ServerRouter.cpp:602: Asking pingpong servers (pingpong1.factorio.com:34197, pingpong2.factorio.com:34197) for own address
   1.008 Warning ServerRouter.cpp:490: Received own adddress message reply with conflicting address (got <correct IP>:47217, expected <correct IP>:6644)
   1.009 Warning ServerMultiplayerManager.cpp:545: Determining own address has failed. Best guess: <correct IP>:6644
   1.393 Info ServerMultiplayerManager.cpp:578: Matching server connection resumed --last 5 lines of log file.
To note: the port I am trying to use (which is forwarded to the computer in question) is: 34198.

When hosted from main PC through the game itself, I get an error message pop up that says: "Failed to determine external IP address. Other players may not be able to join" or something to that effect. The "matching server connection resumed" also appears in the chat log.



Does anyone have any idea what the issue is?
Does anyone have any idea how to fix the issue - or what's causing it?

Thanks.
User avatar
impetus maximus
Smart Inserter
Smart Inserter
Posts: 1299
Joined: Sat Aug 20, 2016 10:07 pm
Contact:

Re: Cannot host public server successfully

Post by impetus maximus »

looking at the ping pong ports, i'm guessing it's a NAT cone problem. meaning the port numbers for outgoing server traffic are being changed by your router(s).
most SOHO routers are crap for hosting any kind server. sure they will forward incoming traffic, but will change the outgoing traffic port # for the one you have forwarded.

it could also be a double NAT problem. some ISPs provide a router built into the modem to "help" us.
we connect our routers and then can't figure out why forwarding isn't working. :x find out if your ISP does this.
if so (and you have your own router) you'll want to bridge the connection on the modem to get rid of it's NAT.

also, why not use the default port of 34197 for the server? for playing locally i would use the servers (static?) LAN IP address.
xBlizzDevious
Fast Inserter
Fast Inserter
Posts: 108
Joined: Mon Feb 02, 2015 10:15 pm
Contact:

Re: Cannot host public server successfully

Post by xBlizzDevious »

impetus maximus wrote:looking at the ping pong ports, i'm guessing it's a NAT cone problem. meaning the port numbers for outgoing server traffic are being changed by your router(s).
most SOHO routers are crap for hosting any kind server. sure they will forward incoming traffic, but will change the outgoing traffic port # for the one you have forwarded.

it could also be a double NAT problem. some ISPs provide a router built into the modem to "help" us.
we connect our routers and then can't figure out why forwarding isn't working. :x find out if your ISP does this.
if so (and you have your own router) you'll want to bridge the connection on the modem to get rid of it's NAT.

also, why not use the default port of 34197 for the server? for playing locally i would use the servers (static?) LAN IP address.

Thanks for the ideas. I live in the UK and my ISP is Plusnet. I'm fairly sure they only do silly things with NAT if you opt-in to their trial services which I've not done. I have the standard BT Openreach modem feeding directly into my pfSense router.

I'll have a look through my router settings for anything to do with outgoing connections and see how that goes. Any other ideas?

As for using port 34198; that's because I've got a modded, private server hosted on 34197. Yes, the server is set to static IP.



EDIT: Have had a look through the router settings - it is set for automatic outbound NAT. I can manually add rules, but I'm not sure what settings would be required. Here's a screenshot of the page:
Outbound Options
User avatar
impetus maximus
Smart Inserter
Smart Inserter
Posts: 1299
Joined: Sat Aug 20, 2016 10:07 pm
Contact:

Re: Cannot host public server successfully

Post by impetus maximus »

i'll have to ask a friend from the UK. he had an ISP that prevented him from running a server. will ask him next time i speak with him

you want to use "Do not NAT" so outgoing packets stay with the same 'from' port.
source your server IP and port. destination ANY
xBlizzDevious
Fast Inserter
Fast Inserter
Posts: 108
Joined: Mon Feb 02, 2015 10:15 pm
Contact:

Re: Cannot host public server successfully

Post by xBlizzDevious »

impetus maximus wrote:i'll have to ask a friend from the UK. he had an ISP that prevented him from running a server. will ask him next time i speak with him

you want to use "Do not NAT" so outgoing packets stay with the same 'from' port.
source your server IP and port. destination ANY

Thanks for investigating. I can't see it being the issue as I've hosted several other games (some with server browsers), Teamspeak and even a web server on this connection before with no issues.

As for the outbound rule... Well it still shows up in the browser and still can't join but those same lines from the log look a little bit on the odd side:

Code: Select all

   0.897 Info ServerMultiplayerManager.cpp:649: mapTick(769) changing state from(CreatingGame) to(InGame)
   0.897 Info ServerRouter.cpp:602: Asking pingpong servers (pingpong1.factorio.com:34197, pingpong2.factorio.com:34197) for own address
   2.182 Warning ServerMultiplayerManager.cpp:545: Determining own address has failed. Best guess: 0.0.0.0:34198
   2.583 Info ServerMultiplayerManager.cpp:578: Matching server connection resumed

Where on Earth is it getting 0.0.0.0 from?

Note: The source cannot be specified to a specific host, just "any" or "network". I tried both "any" and "network", specifying my local network range and subnet but both result in the same 0.0.0.0 IP on the server.
User avatar
impetus maximus
Smart Inserter
Smart Inserter
Posts: 1299
Joined: Sat Aug 20, 2016 10:07 pm
Contact:

Re: Cannot host public server successfully

Post by impetus maximus »

if you have a server already running on another port, maybe try copying it's settings?
BTW, are you using version 0.14.13?

[edit] my friend said it was BT that gave him problems hosting servers.
xBlizzDevious
Fast Inserter
Fast Inserter
Posts: 108
Joined: Mon Feb 02, 2015 10:15 pm
Contact:

Re: Cannot host public server successfully

Post by xBlizzDevious »

impetus maximus wrote:if you have a server already running on another port, maybe try copying it's settings?
BTW, are you using version 0.14.13?

[edit] my friend said it was BT that gave him problems hosting servers.

That's what I did. And I can run a hidden server on that port just fine. It's the matchmaking server that isn't connecting right.
And yes, it's 0.14.13.

That's interesting. I used to use BT and never had any issues, then switched to Plusnet (who I'm with now) but they're owned by BT and use their networks.
User avatar
impetus maximus
Smart Inserter
Smart Inserter
Posts: 1299
Joined: Sat Aug 20, 2016 10:07 pm
Contact:

Re: Cannot host public server successfully

Post by impetus maximus »

maybe the matchmaking server is having trouble with you having 2 servers on 1 IP address with 2 dif ports?
or one username and password/token for both? i don't know.
xBlizzDevious
Fast Inserter
Fast Inserter
Posts: 108
Joined: Mon Feb 02, 2015 10:15 pm
Contact:

Re: Cannot host public server successfully

Post by xBlizzDevious »

impetus maximus wrote:maybe the matchmaking server is having trouble with you having 2 servers on 1 IP address with 2 dif ports?
or one username and password/token for both? i don't know.
The one is hidden and doesn't have any login details.

I tried running the public server with nothing else running and it still wouldn't work, exactly the same errors.

I appreciate the help. Perhaps the devs have some idea of what might be going on?
Post Reply

Return to “Technical Help”