Archive for March, 2008

Two Xbox 360’s, one router

Picture of Xboxc 360 ElitePiggle loves playing Halo 3 and I do to, you’d think this was a marriage made in heaven yes? Actually, as great as always having partner for team games is, sharing a screen on Halo 3 is very frustrating, especially on Team Swat. Halo not only halves the screen horizontally but also crops the left and right sides of the screen to keep the aspect ratio. Think of it as playing from the house across the road, peering at your TV through the window. So yesterday I surprised Piggle with her very own Xbox 360 Pro, welcoming the world of Strict NAT Hell into my home at the same time.

I have a 20mb connection, connected to a Linksys WRT54GL (V1.1) router. 1 Xbox, set with a static IP and placed into the DMZ gave a perfect Open NAT, adding the second 360 caused us both to have Strict NAT’s. Looking around no-one seemed to have any answers to this issue so I decided it must be possible, I just wasn’t trying hard enough. The first step was to play with Port Forwarding, don’t waste your time here, it doesn’t work. Next I changed the routers firmware to DD-WRT, after several issues (always read the instructions for installing on your router folks) I had it running but the best I could do was get us both to Moderate NAT status. Doing some more research I read a comment on someones blog suggesting that both 360’s be put into the DMZ of the Tomato Firmware. I’ve never seen a router firmware that allows two devices to be in the DMZ so I immediately installed it. Disaster! One 360 could get an Open NAT but the other couldn’t connect at all 🙁

After hours of router upgrades and configuration I was in a worse situation than before. I resigned myself to going back to the stock firmware. Checking out the US side of the Linksys website I noticed that they had a more recent firmware available than the UK side so decided to risk an install on my router. Everything installed fine but the NAT status for both 360s was Moderate/Moderate at best and Strict/Moderate at worst. I wasn’t happy with this and the fact that nothing was showing up in the UPnP log for either Xbox was bugging me. Not only that but I began to wonder what affect putting the 2nd 360 in a different VLAN would have. I immediately reinstalled the DD-WRT firmware and set to work.

The first option I changed was to put the 2nd 360 into a different VLAN to the other.

DD-WRT VLAN Settings

The final steps were to disable the DMZ option, enable the UPnP option and to set each 360 to DHCP. This allowed each 360 to use UPnP to configure it’s own ports. Tentatively I did a connection test on my own 360, the result came in, an Open NAT! Taking Piggle’s controller out of her sleeping hands I started the connection test on her 360, again, an Open NAT! Fearing it was too good to be true I started the sign in process on both consoles. Both 360s started displaying messages about signing out of Messenger and showed as being logged out. After a moment of worry my fears dissipated as both machines logged into Xbox Live and even better, both had Messenger running. I can only assume that the initial messages were due to the port forarding being set up for each machine. A quick look on the router confirmed, both had used UPnP to set a different port. Now for some tests.

I started Halo 3 on both machines and hosted a custom game, inviting Piggle in. No messages appeared about being unable to host due to my NAT, a great start. I started the game and watched both screens as I ran around and destroyed things, it was identical in every way. Next I fired up messenger from my chatpad and had a small conversation with myself from Piggle’s account, everything was working fine. Dropping back into lobby I changed the room to the Theater to see if that would complain or flake out. Well it certainly complained, apparently Piggle’s connection was better than mine and she would have to be party leader to start the film clip! We’re on the same connection and same router! Giving Piggle Party Leader status allowed me to start the video, it worked like a charm. The final test was to play a game, I kicked Piggle from the party and headed into DLC Objective. Everything worked exactly as it should, I could hear everyone I was supposed to and finding a game didn’t take too long. The game was over so quickly, we won of course, that I started another, just to test of course… We lost and I decided that 4:30am really was a good time to go to bed after a long struggle with the 360’s NAT settings.

If you’re struggling to get two 360’s on the same network with Open NAT’s, it can be done so don’t give up, I hope that my experience with it can be of some help to you.

Tags: , , , , , , ,

Halo 3 Asset-O-Matic AKA the Halo 3 Assets Finder

Halo 3 logoI’m a big fan of the film clip/screenshot feature of Halo 3 and check the Bungie Favourites every time I load up Halo 3. Recently they haven’t been updating this as much and this left me wandering the Halo 3 Files Forum in search of some decent clips to watch. Then it hit me, what if someone had made a video from a game I was in, how would I find it? Well Bungie’s site makes a lot of stats available but finding all the games with assets, even for just yourself, is a tiresome and manual process. I didn’t fancy looking back over the 1000 or so games I had played, checking each one for assets (screenshots and film clips created by players) so I created the Halo 3 Asset-O-Matic.

The Asset-O-Matic (development name: Halo 3 Assets Finder) actually stemmed from an earlier idea, I was going to log every game recorded by Bungie and make a database of all the games with assets, build a website around it and let people search on almost anything; date, player name, game type, map, length of match, number of clips/screenshots, well you get the idea. I did some quick maths, and it wasn’t good. I could do it slowly and not cause a Denial Of Service on Bungies site or I could do it faster and risk taking Bungies website offline. Doing it slow meant it would take days, even months to log every game and then the data would be immediately out of date. The faster option wasn’t much faster and risked getting me banned from and even Halo 3. Then I realised, most people will only be interested in clips/screenshots from games they were in. I spent the better half of a day re-coding my application and threading it so I could keep tabs on the results in real time. The results are what you see below, the Halo 3 Asset-O-Matic

The Halo 3 Asset-O-Matic

As you can see, I record a lot of information, all of this will be stored in a local database in the final version so you can update overnight and browse the results at your leisure. The current layout is for testing purposes, the final version will allow you to search the database, rate the results, look better with organised information and be easier to use.

A brief overview:

What does it do?
The Halo 3 Asset-O-Matic scans the game history of any Gamertag you specify looking for matches with Assets (screenshots/film clips).
How fast is it?
The development build took just over 50 minutes to scan my entire game history, that’s 1052 games at the time of writing.
50 minutes!? Can’t we speed that bad boy up a bit?
The program is currently single threaded, adding extra threads to prefetch the game data will speed things up a lot. My concern with this method is that if the program becomes popular it could cause a DDOS (Distributed Denial Of Service) on Bungie’s site. I will look at adding an extra thread or two to the program to check the speed difference. Ideally I will be able to discuss with Bungie how the program affects their website and adjust it accordingly before public release.
When will you release this?
There is no current release date but I’m expecting it to be soon. The database code needs adding and then some tests on adding a few extra worker threads to speed things up. Keep checking back for a release date.

Over the course of testing this I found a horde of film clips that I enjoyed watching, knowing I was in there somewhere. You never know, you might find that you’re the unwitting star of someones video, just like I did….

Tags: , ,