Hi all, I'm working with a few others to get everything in gear for the network at QuakeCon (www.quakecon.org). One part of that event is a huge Bring Your Own Computer LAN with a 1250 PC capacity, for which we will provide a number of servers running a ton of gameservers.
One problem we've had with gameservers in the past is that when we bind them to a specific IP on the box they stop responding to broadcasts that the clients use for finding servers on the local LAN. The crux of the problem is that the dedicated server only binds one UDP socket and when binding to a specific IP it doesn't open a INADDR_ANY socket as well to catch the broadcasts (something I'll be talking about with the idsoftware people). The solution to that could be to use different ports for each daemon, since the clients scan a number of ports, but that had strange effects when using multiple NICs and it limits the amount of daemons per box to either 8 or 4. Furthermore if the ports aren't consecutive there's more strange sideeffects. What we did however is dive into the FreeBSD kernel and hack up the UDP handling. I added a sysctl that controls whether or not broadcast packets are delivered to all sockets on the port the datagram was sent to regardless of what address the socket is bound to. I have a patch that applies cleanly to -STABLE, but it's still a little rough in the sense that the behaviour is now default, and multicast packets get delivered too. But that's not really important for us right now. The reason I am sending this email to the list is that I was wondering if there's any interest in merging this sysctl into the main source tree. Because this behaviour is mentioned in comments, but not coded for since some applications might have problems with it. If there's interest in this I'll clean the patch up some more, if not I'll just drop it and get on with the rest of my tasks. For those interested regardless, the patch can be found here: http://www.bsdchicks.com/patches/udp_wide_broadcast.patch Greetings, DocWilco - QuakeCon Network Director To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-net" in the body of the message