[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

BattleNet, Starcraft Client and Debian Router

well, i have searched high and low, and have found absolutely nothing on
this topic.  I don't even know where to begin or where to start looking for
the problems.

a) The Starcraft Game (client) can [attempt to] host a game behind the
router, but no one else on the net, including anyone else behind the router,
can join them due to [blizzards official wording says something stupid about
latency] what appears to be simply that no connection is going through from
the people trying to join to the computer hosting
b) Multiple Starcraft Clients behind the router is just ugly.  Almost as if
the clients clash when trying to get data through the router.  One or both
will eventually drop, and 'chatting' using battlenets' chatrooms is
ex: computer A and computer B are behind the router on battlenet sitting in
some default chatroom.  computer A types something in.  Everyone [on the
net] except computer B sees the message in the chat room, and vice versa.
So something is happening that is preventing data from coming back.

things that do work fine:
1) A single Starcraft client playing from behind the router, can join, chat
and play games with no issues

now, i know it can work, because waaay back when i had my windoze router,
[shudder] it actually worked fine.  also, my mac router, from waaaaay
waaaaay back when also worked just fine.

now, thoughts and things i have tried:
- Port Forwarding will not solve it, as the clients run on various machines,
and port forwarding would need a concrete destination to go to.
- if there is something like the ftp conntrack module for whatever protocols
battlenet uses, i believe that would solve the problem.  => my understanding
of how it works is that my computer makes a connection to battlenet and
tells it a game is being hosted.  then other clients see this message, and
attempt to create a new connection back to the host directly (bypassing
bnet), which requires the router to track the fact that there is an outgoing
broadcast to battlenet and recognize that new connections will need to be
brought back to the machine hosting the game.  (i hope this is clear)

my router is a fairly basic setup, as security is not a huge issue.  this is
a household network, which does provide some services, like www, irc and
some gaming services, but the services are very low demand at the moment.

my routing is as simple as the following: (both nics are up, one ext, on
int), there may be typos, but that will be from me simply rewriting them in
the email -

modprobe iptable_nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/piv4/ip_forward
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc

the rest is port forwarding rules for the various services and games i host,
which consists of the following line for each port (5100 to 80 for secondary
webserver, 80 for primary webserver, 25 for smtp, 21 tcp/udp for ftp, 110
for pop3, 27500tcp/udp for quakeworld and 7777tcp/udp for unreal tourney)  -

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to


router info:
p166deb:~# uname -a
Linux p166deb 2.4.18-bf2.4 #1 Son Apr 14 09:53:28 CEST 2002 i586 unknown
-the only other items running on the router are 'sshd' and 'iptraf' (for
bandwidth monitoring) so i highly doubt there is anything else getting in
the way.


Reply to: