Punkbuster: No Packet Flow w/ Multi-WAN (ex. BF3) - Fixed
-
I felt the need to share this with fellow pfSense gamers. With the release of Battlefield 3 and crappy its use of Punkbuster I been plagued with punkbuster errors. #1 issue being "No Packet Flow". The forums in BF3's battlelog have tons of posts about this issue. But most are just people kicking and screaming. I am 95% sure I have solved the problem for good. My setup is a pfSense 2.0 router with 2 cable connections. I have a basic load-balancing rule for all traffic + exceptions (like HTTPS and Ventrilo). The issue was with "Use sticky connections". This must be checked in order for BF3 + Punkbuster to work together. The interesting thing is I am ex-bad company 2 player, which also uses punkbuster, and I never had an issue. This must be a recent feature to punkbuster that causes the game to kick you.
I hope this will help someone. I sure had a lot of headaches because of this.
-
I'm having the exact same problem, although Sticky connections is checked. I have a high-bandwidth Wi-Max connection and a T1 line. The Pfsense router is at a gaming cafe where we send UDP traffic out the T1 and everything else out the Wimax. I believe the problem lies somewhere in the firewall rules, but I've tried filtering everything I can think of and can't get it to work. However when I make a rule for a local IP to send all traffic to either interface, there is no issue. I wiresharked the session and found no irregular ports being used that I haven't thought of filtering thusfar. On top of everything, BF3 was working fine until this Back to Karkand patch came out and ruined everything. Punkbuster doesn't even help prevent hacking in this game, anyway. There's thousands of hackers and there always will be. I don't get why they still use this awful program.
-
we send UDP traffic out the T1 and everything else out the Wimax.
I bet that's your problem. I am unsure but my guess bf3 gameplay traffic is udp and punkbuster traffic is tcp. (I have no clue what port #s) So when a player joins a bf3 server it connects with T1's IP address but punkbuster sending client info from a different IP (wimax connection). Therefore a punkbuster kick. The best solution sounds like finding every bf3/punkbuster port and creating exception rule to force it to a single wan (yuck!).