Skip to main content
GameDev.net gamedev.net
🔒 Locked

LAN simulation

Started by Pipo DeClown Jun 22, 2004 at 11:12 AM 5 replies 2.2k views
Original Post
Pipo DeClown
Pipo DeClown
I've recently seen an application called BattleLAN at a friend. He used it to play a game where he joined an internetgame in the LANgame-menu. So I guess the LAN was simulated. How is this done? Can independant developers use this tool to simulate a local network for filesharing?
Shannon Barber
Shannon Barber
I used Kali a long time ago to play WC2 over the internet. It picked up the IPX packets and tunneled them over an IP link.

If you wanted to do LAN/file-sharing over the internet, you should use VPN - virtual-private-networking. It tunnels IP through IP and encrypts the data.
The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
Pipo DeClown
Pipo DeClown
You're not talking English to me. :P
Can you maybe explain the theory in a simpler way? Thanks.
shadwdrake
shadwdrake
ahh Kali, that was the greatest dos program I owned :) well worth the $20 bucks to buy it.


many a long nights playing WC2 and MechWarrior2 via that great IPX tunnel.
cbenoi1
cbenoi1
> Can you maybe explain the theory in a simpler way?

Warcraft was originally designed for the old Novell network protocol, IPX, now defunct. That protocol was the de-facto standard when Novell Netware was the dominant LAN solution on PCs. IPX is a LAN protocol (i.e. a local network only), and most routers don't support IPX anymore; so sending IPX data across the globe is a problem. In order to connect to remote servers over the Internet, you need to convert the IPX packets to UDP/IP packets, and then the server must do the opposite on the receiving end.

-cb
Pipo DeClown
Pipo DeClown
K, thanks for explaining. Still remains a question, how do I make a fake local network connection to send those TCP/UDP-to-IPX packages from?

TCP/UDP ->(internet)-> IPX ->(lan)-> game                           ^^^^^^^^^     


That part.
hplus0603
hplus0603
Typically, you'll have a machine listening to all packets ("raw" mode) on the network, extract all the packets it's interested in, and forward them to the other end, where a similar machine will synthesize the appropriate packets, again using raw sockets, and send them on the wire. This way, you can write a mostly transparent bridge for the protocol of your choice.

You have to make sure you get all traffic, though; if you have a filtering switch, you may have to make your port "special" so that it can see all the traffic. Or, at a minimum, reply to ARP for all Ethernet addresses you know are on the "other side", probably by exchanging this information with the counterpart.
enum Bool { True, False, FileNotFound };

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.