🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Multiplayer over LAN

Started by
6 comments, last by jaymz 24 years, 4 months ago
Well, I''ve got the basics of TCP/IP Winsock programming down, and can understand how to setup a network game via IP address... my question is how do games find the server on a LAN without using IP''s? Is this where IPX comes into play? If so, can someone point me in the right direction as far as IPX/SPX is concerned? I can''t seem to find any useful programming info on it.
Advertisement
This question has already been answered here, but I''ll give you the answer again:

The server sends out its address on the broadcast channel at intervals, when a client wants to find a server it just listens to the broadcast channel and picks the servers IP from the packages that arrives.
Wouldn''t it be more efficient for the client to send out a broadcast request on the appropriate port and recieve a reply from the active servers? Rather than having servers regularly blasting out info, you simply get one broadcast from the client when you want to join a game, then the active servers just send out one reply. I thought that''s the way Gamespy and such tools work.
That would work too. I don''t know wether it''s better or worse than the way I said, and I won''t bother to think about it right now.

The point is that either the client or the server must notify it''s presence and IP address on the broadcast channel so that they can find each other.
What works best depends on what kind of load you expect. If you expect 10 idling servers at a given time and 100 clients to look for a game in the space of a minute. Then you''ve got 1000 response packets. If instead you''ve got 10 servers that each broadcast every 10 seconds. Then you''ve got 60 broadcast packets in a minute. Even if you do it by client query, you''ll still want servers to broadcast a message saying "I''m full up" or "Someone joined 2 spots remaining" or something like that when players join/leave. If you just do server broadcast then include that information with the regularly scheduled broadcast. But ultimately your expected server/client configuration is what dictates how you organize it.
but how would you know where to send/look for the packets if your not using IP''s is what I''m asking. Example, I invite friends over to play Darkstone. We setup 5 computers on a LAN without assigning IP''s to each machine. I then choose to be the server, 4 other friends look for the game I''m hosting on the LAN, it pops up and we play.. never was an IP entered.
You''re probably playing on IPX, not TCP/IP. In that case you can use Winsock 2 functions to open sockets over IPX protocols. The best reference for that would probably "Winsock 2" by Lewis Napper. But once you have the sockets working, you treat them just as normal winsocks.
that was kinda the answer I was looking for, thanks.. time to hit amazon.com

This topic is closed to new replies.

Advertisement