Thursday, March 30, 2006

Beta/Development Server back up

The Development server is back up on rez.fastping.net on port 7001 and is accessible from the outside now. This server will incorporate the latest working CVS code and is not recommended for anything beyond testing. The game play server is still on port 7000 and that one will remain open for anyone to use with the Beta Release 1 client while the development server will be used with the experimental clients based on the latest code in the CVS repository.

If anyone interested in testing the CVS code would like to be updated on what is added into the development client/server they may check the sourceforge site's feature requests and bug reports. Right now changes in the development code will reflect what will be in Beta Release 1.1.

Tuesday, March 28, 2006

Server Documentation up

On the same documentation site, the server documentation information has been appended. It should give anyone wanting to host and admin their own server a good step by step guide to the aspects of getting one going for beta release 1. For each future release of GTADS corresponding documentation will be included in the zip file for convenience as well as the internet repository.
I have become aware, as most programmers never realize, that the GTADS gaming sequence isn't as easy as it should be. A lot of people want to get on and game, and find themselves dealing an interface that is less than ideal. That is one of the major things being worked on to make game play a bit better and more fluid for anyone do. If anyone has played a game on the rez server, i urge you to help out any new comers on the server and to point them to the documentation.

Saturday, March 25, 2006

New Beta Server

Ok new that Beta Release 1 has been out for a little more than a week, a lot of development has begin for the next minor release 1.1. Version 1.1 will add some changes to the interface, as well as fixing nasty server errors i've captured. The new Beta Server will be run on rez.fastping.net on port 7001. The FPN GTADS Server will remain on port 7000. For a little while, maybe a week, the beta server will be closed for internal testing before the port is open for the outside world.
A few things to look for in the 1.1 release:

- Fix null pointer exceptions that affect other users on the server
- Keep chatwindow open on disconnects
- Make gameroom creation easier
- Bind IP Address option on game room creation

Thursday, March 23, 2006

Calling all servers! (if any...)

Well its been exactly a week since I released and thinks seem to be going alright. As of today our download statistics have been:

GTADS Client: 17 Downloads
GTADS Server: 8 Downloads
GTADS Source Code: 2 Downloads

I think its a good start and it shows some people not only have interest in playing but also hosting their own. There have also been a handful of games played through GTADS and some positive feedback. That being said, i'd like to know if anyone hosting a server has successfully got it going, and would like to have it listed on here. Things will definitely be more dynamic and streamlined when the server publisher is operational.

One last thing if you are at all interested in getting more people on GTADS please spread the word. Being an open source spare time project I don't have the time nor money (mostly money) to advertise the product all over the internet. Besides a friend's recommendation is much better than a banner or web posting. Invite your friends to use GTADS.

Monday, March 20, 2006

Documentation, a Website, and Release 2

Well I am happy that GTADS is going through its first week as a freely released product. There were a few bumps in the release and a few quick fixes that needed to be made but besides that it's really well. I'd like to thank all the people who supported the project and stayed with seeing it all the way through.
The first thing I want to discuss on the is documentation. I am currently creating GTADS documentation on using the client and server. It is about 50% done and writing a guide for using the server is what is really left. You can check out the documentation at http://gtads.sourceforge.net/docs/ and consult it if you have any questions in using GTADS to play GTA1.
I'd also like to mention that GTADS will officially have a site in the next couple of weeks. A friend of mine and GTA1 ethusiast will help me design an official site while leaving this as a developer's blog. So this site will be up but for more developer specific comments and news.
With that being said I also want to add that that Beta Release 2 is schedules to be released on the 26th. A few things that will definitely be fixed/added upon are:

- Option to Bind IP when hosting a game
- Letting the gameroom know that a request packet has been recieved via host proxy
- New User dialog bug
- /ban User or IP command
- Displaying creator of a gameroom and status

Things I want to add but may not make it into Beta Release 2:

- User control for gameroom
- 2+ player GTA
- GTA2 support

Friday, March 17, 2006

Important things to keep in mind on GTADS

- Whether you're hosting or joining a game, in order for gameplay to work you must have port 8000 (UDP) open on your computer and router.
- When setting an ip address in the actually game, Please make sure you put in 127.0.0.1 or localhost. The proxy routes the GTA traffic from localhost and across the proxy.
- If the game doesn't connect the first time, both the joiner and the host should just restart their proxies, check ports (personal firewalls), and their network connection. Right now the proxy operates on UDP with no packet confirmation. Over laggy or unstable connections some of these packets may never reach their destinations.
- Try to play someone in your region. Its recommended that any ping value less than 150ms should be a good indicator or someone who's in your country. I've personally had decent games with people who live about 3000 miles away and had 90-100ms latency.
- Special note for people who are hosting their own servers on their lan. You guys will most likely connect locally to the GTADS server and as such the server will only record your local ip address. If you decide to host a game the server will auto enter your local IP into their proxy. In the next release special cases like this will be handled by an optional "Force IP to...". A work around now is to either let the player know to change the ip address before they press start on the proxy or just let an external player host.

Thursday, March 16, 2006

1 Day past schedule but here we go

Ok guys, I finally released the first beta version of GTADS that I think is useable for people. It took a lot of time and hard work to get the last parts of the client, server, and proxy done and I hope you guys enjoy. Since the project has been abd must be released on SourceForge's system I will provide a link to the downloads page there. The beta links will remain as those will be the lastest versions of what I'm working on. As for the Beta server, that will be changed to a new address soon as the current server on rez.fastping.net is a fastping.net server now (Same computer just a change in the affiliation).

Now I don't have any time today to release documentation so I will try to get all the relavant parts out as much as possible on this post. As of this release you can play GTA1 2 player games. You will need to OPEN port 8000 UDP on your computers in order for the proxy to function. Those of you with personal firewalls you will need to allow java.exe or javaw.exe to use that port.

Step by Step Guide to getting a game going:

- When you load up the client make the server drop down is on "rez.fastping.net". If you have never made an account on that server you can click the New User button and create your own username and password.
- Once logged in you will see a chatroom and above that buttons that say Join Game and Host Game. If you want to create a game you must click on Host Game. If you have a friend that has created a game you can go click Join Game find his game and connect.
- Once you join your friends game or have set up your hosted game you will be in another smaller chatroom interface. This is the gameroom window. When your friend and you are ready to play whoever is hosting (Whoever started the game) must click Start Proxy. Once the proxy is started for both players you should allow 30 seconds to a minute for the host to set up their game and Gather a network. Once you are sure their game is started and hosting you can load up your own copy of GTA1 and Join Network. It is important to note when the game asks you for an IP Address you should put in 127.0.0.1 or localhost to connect to the proxy.
- The game should connect and you and your opponent should be playing.
- If anything doesn't work correctly you can restart the proxy. The host should stop the proxy and the player as well. Letting the host start the proxy first, the procedure should be repeated again.

Again this is BETA software, and you probably will find some sort of bugs. Please email me if you find anything as I am still working on the GTADS code working towards a 1.0 release.

If you are wondering what is coming:

Client:
Redesign of interface for many windows
Better Gameroom game initialization
configuation file
sounds and graphics (optional by configuration)
Admin commands

Server:
Code clean up
Ban management
Multiple Admin support
SQL Support
Website publishing interface
Stats Management
Admin commands

Proxy:
4 player support for GTA1
Support for GTA2 (6 players)
Support for Twisted Metal 2 (4 players)
Support for Doom (4 players)
Stats management

Tuesday, March 14, 2006

Release Delay

I underestimated the work i'd have to do for GTADS and it looks like i'm going to need a few more days to get it in. The Gameroom stuff, some more server admin, and some loose ends that need polishing. Check back here for when its done. Sorry :-(

Friday, March 10, 2006

A March 15th Release Target

Well GTADS has been on the worktable for a long long time, getting created a little at a time (as my free time permits) and its about time for an official release to come out. I am targeting a March 15th release date because I want people to be able to use and check out where GTADS is right now. I doesn't have everything I wanted to incorporate into the server and client but if I do that it will never be released (there are always cool things you want to add). The last few things I need to finish up before the release are the following:

- Create gameroom, gameroom list window, gameroom creation window
- streamline proxy to work with GTADS
- preferences for client
- Documentation

Things that won't make it into the release:

- Multiple admins
- GTA2 and Twisted Metal 2 game support
- 2+ player support in games
- SQL support
- Ping times and Localization
- Web Index of Servers being run


So, what you should expect when gtads comes out is support for GTA1 for 2 players on windows 2000 and windows XP. I haven't tested game support on a pre-2000 machine and for GTA1 it wouldn't work between win98 players and 2k users (random seed differences).

In the maintime i've been trying to find a way to grab the score/kills off the game via packets but I think that all the scoring is put determined on the client side and it does make sense. (Its more efficient for 2 players to know hitting a car is 10 pts rather than a player hitting a car and informing the other player its 10 points. Less chances for cheating too). I was hoping to try to grab an event such as each tallied kill or at the end game the scores would be matched and verified. Some more binary digging my turn up something. I want to create a stats system :-).

Wednesday, March 08, 2006

Optimizations, Windows 2000, and Gamelists

Well as you may or may not know based on the end of the last post the optimization problem is solved. The CPU no longer impeads on the performance of the game play on either side and I was able to get a good game going with a friend of mine who lives 3000 miles away on the west coast (California) and you may be surprised as to what fixed it.
Anyway as of this post I also discovered that the windows 2000 machine I was using to test gameplay crashes independent of the proxy. Each time a game tries to initialize it kills its process. I'm not sure as to what is causing it but I know now that there isn't anything intentionally crashing it from the proxy. I do need someone with windows 2000 and GTA1 to help me test the game out though. I only know of 2 places where it works and all machines have been windows XP. If any ambitious soul out there wants to test it on their own and report results that is just as fine. I wanted to test 2 conditions (XP to 2000) and (2000 to 2000). I am planning to release the whole integrated product on the 15th (A week from now) and determining what works and doesn't will keep the windows 2000 people included. If not then the first release will just have to be Windows XP supported until a second release (These first few releases will be public betas and will have updates in very short increments).
I'm very anxious to see how this would run GTA2 and Twisted Metal over the proxy. So far I haven't bothered adjusting the proxy for those 2 games, which use the same ports but behave slightly differently. Twisted Metal seems to port its ports a little more randomly and I know from the tournament (on hold at the moment) that there were many problems with people connecting to each other with ports forwarded. Sounds like a good challenge to take up.
As it is right now the proxy can only support 2 players. I honestly don't know what the network play looks like with 2+ players. I've never packet sniffed a bigger game. I'm hoping that it's a Burden of Host mode (all players send to the host and recieve from the host) because that would be the easiest model to work with but it may turn out to be drastically different. I do plan to add in 2+ players into the game which will keep everyone interested in playing but that will be at a later time.
On a final note I am glad to see the interest in the people who plan to host their own GTADS server. I hope that each respective network does well from having GTADS apart of it. I also plan to host one up for the Fastping.net gaming network but the important thing is having a choice in hosting and going to different networks.

Tuesday, March 07, 2006

Proxy woes and the integration process and an icon

Perhaps the joy of finally getting the proxy working made me so happy that I didn't see a small problem I am still having with setting up games between certain computers. So far I haven't had any luck with Windows XP to 2000 machines playing. I am not sure what is the X factor in this (DirectX versions? OS versions?) but I do plan to find out. On one windows 2000 machine it gets up to the point where the hoster sets the game in motion and the windows 2000 machine never connects and closes out (The game may change the UDP port). On another older windows 2000 machine it won't see the game at all so all this will need to be fixed if I am to get different people with different operating systems to play GTA. I don't think i'll be supporting windows 98 though. I don't have that OS on any computer to test with and I think this represents a minority of users. If anyone would like to help get support on windows 98 for gameplay you can add in to the code.

Besides these incompatibilities that will need to be fixed other things that are going on are:

- Optimization:
For the udp traffic that goes to and from the proxy the latency is not that bad, almost as good as an actual peer to peer, however, the proxy runs at 100% CPU slowing down the game. Fixing and optimizing some of the methods after receiving the data is the best bet.
- Integration:
I want to have all the Gameroom stuff ready for when the gameplay works, to just plug it in and release. Right now the client has a gameroom list that is currently being coded in the server and the client.
- Functionality:
As I said in the previous post, the proxy right now works as a developers device, it's not really friendly to a normal user to use and game, getting that more usable will make the game process seamless.

WANTED: An icon for the GTADS client, if you have an idea you want to send to me I will consider it. Any icon or future graphics in the app will retain the creator's full copyright.

Send your Icon to Steven dot Day at gmail dot com

Update as of 11:58 PM 3/7/2006

Fixed the GTA latency problem. GTA now runs at an excellent speed with a player across the country (From Ny to La) at 93ms ping.

Sunday, March 05, 2006

GTA Proxy is COMPLETE!!!

Yes, after 2 solid weeks of trial and error, ethereal logs, and damning DirectPlay, the GTADS proxy is finished. Testing it on my Lan it is able to proxy a game between 2 players. The speed over the lan is a little slower than a normal GTA1 game. For the first release of GTADS I may just release support for GTA1 with 2 player support and work on adding more users, more games, and optimizing the connections. Keep in mind that the latency will never be BETTER than normal GTA because of the extra steps through the java based proxy. For this coming week I will be focusing on adding proxy integration to the GTADS client, optimizing the game connection, and making sure everything else is ready for release. If you are interested in trying out the proxy, I warn you that it isn't very user friendly and is functional for programmer testing, nevertheless if you are still curious in using it, you can email me on instructions for playing with it and/or how to compile it from the CVS source.
Since the Proxy forwards directplay ports, it won't be very hard to incorporate GTA2, and other assorted games to the mix.

Friday, March 03, 2006

Proxy Progress Pics

Well with trying to create a proxy for GTA1 (and in effect all directplay games) its been one hurdle after another to overcome. Well our next hurdle is the actual game play. If you look at these pics you will see that we have actually gotten players in the host's gameroom:

















The Host finds the joining user.
















From the user's perspective, the player joined and found a game.

For some reason GTA is crashing when the host decides to go ahead with the game. This should be fixed soon just like all other pervious problems.