------------------
DavidRM
Samu Games
🎉 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!
What is the best way for players to communicate with server
Especially not if the game is all (or mainly) server side, and you are even remotely interrested in clients that sit behind a firewall. Sockets won't bypass a firewall (in general).
In this case you need to move up a layer, and go for HTTP - it is not as fast but for a lot of applications it's a lot easier, at it has benefits (such as the firewall issue)...
I'll launch a new site in the comming weeks, which is a client/server game using HTTP, that should give an impression of what can be done with HTTP. (Java for the UI on the client, ASP for the prototype server - that might change to ISAPI, or MTS components)
/Niels
As for HTTP...why punish yourself unnecessarily??? ;-)
------------------
DavidRM
Samu Games
Anyhow, I want people to be able to play my game from work (Yes I know, I'm a bad guy ) and I generally don't think IT departments are too trilled about people installing various proxies on the inside of the firewall
...
/Niels
I also achieve a certain amount of "at work" players by having Artifact run in a "normal" window. It's resizeable, so they can make it fit behind their spreadsheet app with only a gold "A" icon showing in the taskbar... ;-)
------------------
DavidRM
Samu Games
First, you point the socket to the proxy server IP and port # and initiate the connection.
Second, when the connection is established, you send the following information:
4 (8-bit value: 0x04)
1 (8-bit value: 0x01)
Port # (16-bit value)
IP address (32-bit form)
NULL (8-bit value: 0x00)
That's it.
The 4 specifies SOCKS4. I forget what the 1 does. The port and IP are obvious.
It's been a while since I researched and implemented this, so I feel a bit rusty. Hope this is helpfule.
------------------
DavidRM
Samu Games
I could imagine that it would be common if some large corperate systems already used it - you could kind of piggy bag your way through the firewall . But as far as I know, most companies are open for HTTP ONLY - and that sort of settles it for me.
There's no doubt that I'd prefer UDP for the performance gain, but it's no good if you miss your target audience ...
/Niels
I don't know how typical that is, though.
I added the proxy support primarily so that players with home networks and modem sharing could play. But I do have a number of worker-players... =)
------------------
DavidRM
Samu Games