Friday, February 24, 2006

Pictures will speak for this post

Proxy on Client Machine (My Media PC)

Proxy on Host machine receiving the OK packet.

Client machine loading GTA Multiplayer

Entering in the loopback address

Our game session gets looked up

From these pictures you can see that there has been nice progress coming along with GTADS. There have been a lot of obstacles to overcome to get it going correctly, especially with Java (Lack of native IPX support so there was no option to proxy protocols, it was all straight TCP/IP). What's left to be done is the UDP game play and we should be good to go.

For anyone who is interested in how this is done within the code, i'll give you a quick overview. the proxy is loaded up with the parameter of being a host or client. If you decide to be a host and start the proxy the proxy will externally sit on port 8000 waiting for a proxy connection to it and get a "REQUEST OK!". You would then open up your game set up a normal TCP Host (I don't know why but this doesn't work if you host the game first, it must use a port thats not 2300). A virtualPlayer will be created on your computer representing the remote player. Traffic meant for the directplaysvr.exe will be sent over the proxy with the tag (DXPLAY or DXPLAYTCP, udp and tcp respectfully). TCP and UDP game traffic will be sent over the proxy tagged as VHOSTTCP and VHOSTUDP respectfully.

As the connecting client proxy, an IP address of the host will need to be entered in the textbox. Clicking start will send an acknowledgement to the host proxy to trigger it to be ready. A virtual host will be loaded on the computer representing the remote game hoster. The player would now load up their game and choose to join a TCP/IP game. The ip address to enter in would be localhost or to play against the host. The remote game will load up for the player to choose. So far there is where I am at.

Wednesday, February 22, 2006

A release around the corner, I promise

Its been a lengthy 8-9 months in getting GTADS out the door and I know a lot of people have been waiting. I don't blame you! This project originally started as an idea to just get friends of mine to play GTA without the problem of multiple ports and to have a match managing to make things more interesting. Now it is developing into a great thing, something to be shared by the community as a whole. I think one of the best things about GTADS will be the ability to run your own server for your own gaming network or for your LAN and while it hasn't been the fastest of development processes, its been a one man development show. By the end of this week or two (Depending on my schedule) we should have the first GTADS proxied game between two people going. The server and client jar betas have been released for your interest of new features or just to log on to contact me.

Thursday, February 16, 2006

The Proxy, Dashboard, and Server oriented advertising

It's been a little while but over the course of the last week or so I have gotten to work on getting everything working for GTADS. The proxy's code is complete but a lot of debugging of Theoretical code is happening to get the game to read on both sides. In preparation for the proxy though I have started writing some gameroom oriented code that will keep users up to date on how many users and games are on the server. I dubbed it the GTADS dashboard and it may find many other uses namely my plan in the future of it.
Now i'm not a big fan of in application advertisement but I realize the costs associated with hosting a server, they can pile up. What I think would be the best way to deal with this is not me putting advertising in all the clients like some sort of shareware but rather let it be server controlled. This means if you connect to someone's GTADS network and they have an advertising enabled server you will see advertisements. This shouldn't be intrusive in the least bit, since it is a chat and game type of application. However, if you go to a server without advertising you wouldn't see anything on your own client. I think this is being fair to all those who would potentially run a GTADS server to either make a few bucks back from hosting or make it a place to post announcements from affiliates etc. Now of course there is nothing stopping anyone from killing the advertising off their client since it is open sourced but I don't think that would be fair to your usage of someone else's bandwidth.