NOTE: This may only apply to linux, as it is the only operating system I use, Windows may or may not have this problem.
Currently if the host computer hosting a multiplayer game has multiple IP addresses, the source address when sending back packets to the client may not be the same as the destination address used by the client to connect, which will cause most stateful firewall in-between to reject or drop the communication and game connection will fail.
It is mostly an issue with ipv6, since it is very common to have multiple IPV6 addresses on a given interface/subnet but not so common for IPV4.
It appears that something special needs to be done on a UDP server when the server binds to all addresses to properly track the clients destination IP used initially, since UDP is "connectionless". I wasn't aware of that particular thing myself until I faced this issue with Factorio when playing with a friend and using ipv6 and trying to use a specific address.
This is also described in this very old article for a similar challenge with a udp dns server: https://blog.powerdns.com/2012/10/08/on ... -addresses and demonstrated how it can be implemented in this code example: https://malahal.github.io/how-does-in6_ ... -work.html (which I confirmed this code still works to verify the concept / fix).
Now I have no way to really say that this is the solution or same bug for Factorio, but the behavior I have experimented is the same, I can only use one ipv6 address to connect (and it is not easy to determine which ipv6 address will work, you have to guess mostly and use tcpdump to confirm, as it seems a bit random or perhaps specific to the kernel or/and sysctl options).
[raiguard][1.1.104][Linux] UDP server IP_PKTINFO and IPV6_RECVPKTINFO for hosts with multiple IP addresses
Jump to
- General
- ↳ Releases
- ↳ News
- ↳ General discussion
- ↳ Multiplayer
- ↳ Find Servers / Tools / Guides
- ↳ Show your Creations
- ↳ Videos
- ↳ Combinator Creations
- ↳ Mechanical Throughput Magic (circuit-free)
- ↳ Railway Setups
- ↳ Energy Production
- ↳ Medium/Big/Gigantic Sized Structures
- ↳ Fan Art
- ↳ Gameplay Help
- ↳ Spread the Word
- ↳ Off topic
- ↳ This Forum
- ↳ Celebration Party
- Support
- ↳ Gameplay Help
- ↳ Discover Factorio Wiki
- ↳ Discover Others Creations
- ↳ Discover Mods
- ↳ Discover Tools Around Factorio
- ↳ Technical Help
- ↳ Bug Reports
- ↳ Resolved for the next release
- ↳ Assigned
- ↳ Not a bug
- ↳ Pending
- ↳ 1 / 0 magic
- ↳ Duplicates
- ↳ Minor issues
- ↳ Desyncs with mods
- ↳ Won't fix.
- ↳ Resolved Problems and Bugs
- Factorio Direction
- ↳ Ideas and Suggestions
- ↳ Outdated/Not implemented
- ↳ Frequently Suggested / Link Collections
- ↳ Implemented Suggestions
- ↳ Implemented in 2.0
- ↳ Development Proposals
- ↳ Balancing
- Contributions
- ↳ Mods
- ↳ Download mods
- ↳ Mod portal Discussion
- ↳ Mods
- ↳ Mod Packs / Libs / Special Interest
- ↳ 5dim's mod
- ↳ Angels Mods
- ↳ Atomic Power
- ↳ Bob's mods
- ↳ DyWorld
- ↳ F.A.R.L
- ↳ Fentus Challenge & Tool Mods
- ↳ Logistic Train Network
- ↳ MoMods
- ↳ Reika's Mods
- ↳ Resource Spawner Overhaul
- ↳ Yuoki Industries
- ↳ PyMods
- ↳ Questions, reviews and ratings
- ↳ Modding Discussions
- ↳ Modding discussion
- ↳ Modding help
- ↳ Ideas and Requests For Mods
- ↳ Modding interface requests
- ↳ Implemented mod requests
- ↳ Already exists
- ↳ Won't implement
- ↳ Documentation Improvement Requests
- ↳ Resolved Requests
- ↳ Development tools
- ↳ Tools
- ↳ Mod and installation managers
- ↳ Cheatsheets / Calculators / Viewers
- ↳ Development tools
- ↳ Special interest mods and libraries
- ↳ Modding Development
- ↳ Multiplayer / Dedicated Server
- ↳ Multiplayer Board
- ↳ Archive
- ↳ Maps and Scenarios
- ↳ Translations
- ↳ Texture Packs
- ↳ Fan Art
- ↳ Wiki Talk
- ↳ To be sorted
- ↳ Campaign / Scenario suggestions