Hey there.
We struggled with this error for multiple weeks, trying everything up and down the road to fix this. Here is a list of what we tried unsuccessfully:
- Repairing BF4
- Flushing DNS cache
- Clean boot
- Replacing aged router with three different new routers
- Calling ISP for port blocking/port limiting
- Calling router manufacturer for device limitations
- Using a VPN
- UPnP off (router/clients)
- Network Device Detection Search Indexer off
- Client firewall rule (inbound 3659), firewall off
- AV off
- Smart Port Forwarding for port 3659 on every client
- Adding '+clientport 20xxx' to the command line arguments
- Router port forwarding for port 3659
- Router port forwarding for ports defined by '+clientport'
But we did not give up, and we finally found the solution, in a German forum, in a post from the beginning of 2013. Whenever you get the error about port 3659, it might be port 3659. But it might also be that 3659 wors flawlessly, yet another port, 443, does not.
So, here is what you do.
Leave all that stuff on - UPnP, Device Indexer, Firewall, AV, etc. No need for Smart Port Forwarding either, and no command line argument.
Get onto your router. Add static routes for every client you have that should play on the same server or play in general.
Forward port 3659 UDP AND 443 TCP to your IP.
Example:
Forward port 443 (TCP) to 192.168.1.2 port 443 (TCP)
Forward port 3659 (UDP) to 192.168.1.2 port 3659 (UDP)
This allows the first client to play, if the firewall allows the game through and nothing else is broken. Now, for every other client in your LAN, do the following:
Forward different ports to the next IP, also 3659 and 443.
Example:
Forward port 453 (TCP) to 192.168.1.3 port 443 (TCP)
Forward port 3759 (UDP) to 192.168.1.3 port 3659 (UDP)
The third client would be:
Forward port 463 (TCP) to 192.168.1.3 port 443 (TCP)
Forward port 3859 (UDP) to 192.168.1.3 port 3659 (UDP)
You get the picture. You can do this for however many clients your LAN has. Since we did this, we can play three people, one server, no rubberbanding, no disconnects, no issues.
Hope this helps everyone who suffered as much as we did.
PS: Don't give me XP, but share this post with those who you suffer in other places. I don't care about upvotes or anything like that. We all suffered through this, with EA support sadly unable to point out this simple solution and the repetition of support replies and then asking for flowers for regurgitated canned responses isn't waht any of us needed.