XBoxGW Version 1.08-2 HOWTO http://www.xboxgw.com/ 1. INTRODUCTION 2. INSTALLATION 2.1 RPM INSTALL 2.2 TGZ INSTALL 2.3 BOOTDISK INSTALL 3. CONNECTING TO YOUR NETWORK 4. REQUIREMENTS 5. CONFIGURATION 5.1 DHCP CONFIGURATION 5.2 STATIC IP CONFIGURATION 5.3 X-BOX CONFIGURATION MENU 6. STARTING A GAME 7. ENDING A GAME 8. TROUBLESHOOTING 9. SUPPORT 10. DISCLAIMER 1. INTRODUCTION This document is intended for the installation, configuration, and use of XBoxGW. XBoxGW is an application that was developed to expand the capabilities of System Link games for the Microsoft XBOX. 2. INSTALLATION Installation Instructions 2.1 RPM INSTALL When installing the provided RPM packages, you must download both the hmlibs and xboxgw RPMs. These can be downloaded from: http://www.xboxgw.com/downloads.html Once you have the two RPM files, and it is your first time ever installing xboxgw, simply enter the following command: rpm -ivh hmlibs* xboxgw* If you are upgrading from a previous version, simply enter the command: rpm -Uvh hmlibs* xboxgw* 2.2 TGZ INSTALL When installing from the provided tarballs, you must download both the hmlibs and xboxgw tarballs. These can be downloaded from: http://www.xboxgw.com/downloads.html Once you have the two tarballs (.tgz files), you can install them by entering the following commands: gunzip hmlibs* gunzip xboxgw* tar -xvof hmlibs* tar -xvof xboxgw* cd hmlibs* ./install.sh cd ../xboxgw* ./install.sh 2.3 BOOTDISK INSTALL For bootdisk installation, you must download the bootdisk images from our web site. You will also need a utility to write these images to a floppy disk. The suggested utility, which is also available on your web site, is Disk Write. They can be found at: http://www.xboxgw.com/downloads.html Note that there are three images. Two "Boot" (disk 1) images, and one "Root" (disk 2) image. You must choose which Boot disk suits you best. You can tell the three images apart, by the extention of the filename: xbgw.i1l - Disk #1 for Laptops. Includes PCMCIA and USB support xbgw.i1d - Disk #1 for Desktops. Includes PCI/ISA and USB support xbgw.i2 - This is Disk #2 Once you have downloaded the images, and have chosen which "Disk #1" you require, please follow these steps: 1. Format 2 1.44MB floppy disks 2. Install Disk Write 3. Insert disk #1 4. Launch Disk Write and click open 5. Change 'Files of type' to All files 6. Select the image for disk #1 you have chosen (either .i1l or .i1d) 7. Eject disk #1, insert disk #2 8. Click open 9. Change 'Files of type' to All files 10. Select xbgw.i2 and click write 11. When done click exit 3. CONNECTING TO YOUR NETWORK Instructions and graphics on how to connect your Microsoft XBox to your network in the required configuration is available at: http://www.xboxgw.com/docs.html 4. REQUIREMENTS A Microsoft XBOX, of course! XBOXGW currently only runs on Linux (Soon for Windows and MAC OSX). Because of the amount of traffic these games generate, a Broadband Internet connection is required. Since XBOXGW is very similar to a bridge, it requires a promiscuous network. A promiscuous network means that the Linux box where XBOXGW is running, it must be able to receive all LAN packets. This requires that the ethernet network between the Linux Box and your XBOX must be on a HUB or a cross-over cable. If you have a firewall or run NAT, you must open up your firewall to allow the following ports. Inbound: TCP port 7601 (Only required for server mode) Inbound: UDP port 7602 (Required for client and server) Outbound: TCP port 7601 (Only required for client mode) Outbound: UDP port 7602 (Required for client and sever) If you need help configuring your Router for FIREWALL or NAT please contact the manufacturer of your hardware or the forums. Don't email us asking how, WE DON'T KNOW! 5. CONFIGURATION Before you begin we expect you by this point to have installed XBoxGW. Instructions are above in case you missed it. Insert Disk #1 of the XBoxGW Bootup software. Either turn on or reboot your PC. You should see a message upon bootup: XBoXGW................................. A bunch of other boot messages will scroll by. They aren't important right now. There are serveral options you need to know before you start configuring XBoxGW. 1. You must know if your on DHCP or have a static IP. 2. Choose 1 or 2 network card configuration. When the bootup says, "Please insert Disk #2 and then press the RETURN key..." Take Disk #1 out of the PC and insert Disk #2 and press return or enter. Next you will see: Please wait. Loading XBoxGW Software......... RAMDISK: Compressed image found at block 1 *If you get errors here, you may have a bad floppy disk. Remake your Disk #2 and reboot. XBoxGW: Attempting to setup ethernet interfaces.... Please wait, attempting to load config from floppy.....Not Found XBoxGw: Configure eth0? [Y/N] Y Perform DHCP for this interface? [N] If you are using DHCP say yes. If you have a static IP address say no. 5.1 DHCP CONFIG DHCP should receive your IP parameters from the server and fill in your information into the blanks like in the example below. XBoxGw: Configure eth0? [Y/N] Y Perform DHCP for this interface? [N] Y DHCP Computer Name: [] yourhostnamehere Please wait, waiting for DHCP to complete....Complete! IP Address: [192.168.0.5] *enter key if correct* Netmask : [255.255.255.0] *enter key if correct* Broadcast : [192.168.0.255] *enter key if correct* Interface eth0: IP Address: 192.168.0.5 Netmask : 255.255.255.0 Broadcast : 192.168.0.255 Is this correct? [Y/N] Y Default Gateway: [192.168.0.1] *enter key if correct* DHCP Computer Name: [] yourhostnamehere Please wait, waiting for DHCP to complete....Complete! Name Server: [1.1.1.1] *enter key if correct* *Name server is the same as DNS server. XBoxGW: Done configureing Ethernet Interfaces.... Save current configuration for next boot? [Y/N] *Answering yes will save eth0 config for next boot. 5.2 STATIC IP CONFIGURATION This configuration is for static IPs. If you don't know your IP you can get the information from Windows at the command prompt by entering the command 'ipconfig /all'. Copy down all the information and enter it into the appropriate areas in the XBoxGW config. XBoxGw: Configure eth0? [Y/N] Y Perform DHCP for this interface? [N] N IP Address: [N/A] 192.168.0.5 Netmask : [N/A] 255.255.255.0 Broadcast : [N/A] 192.168.0.255 Interface eth0: IP Address: 192.168.0.5 Netmask : 255.255.255.0 Broadcast : 192.168.0.255 Is this correct? [Y/N] Y Default Gateway: [N/A] 192.168.0.1 Name Server: [N/A] 1.2.3.4 *Name server is the same as DNS server. XBoxGW: Done configureing Ethernet Interfaces.... Save current configuration for next boot? [Y/N] *Answering yes will save eth0 config for next boot. 5.3 XBOXGW CONFIGURATION MENU There are only a few changes from default you should need to make, to get XBox Gateway to work for you. ******************************************************************************** * XBoxGW v1.08-2 http://www.xboxgw.com/ * ******************************************************************************** * * * * * * * * * * * MAIN MENU * * ~~~~~~~~~ * * * * 1. Configuration * * 2. Start a server * * 3. Connect to a server * * Q. Quit from XBoxGW * * R. Reboot System * * * * * * * * * * * * * ******************************************************************************** * Cmd> 1 * ******************************************************************************** By pressing 1 you will enter the configuration mode. ******************************************************************************** * XBoxGW v1.08-2 http://www.xboxgw.com/ * **************************** Global Configuration ****************************** * * * 1. Nickname : Peanut 5. Interface : eth0 * * 2. Server Password : N/A 6. Ping Interval : 10 seconds * * 3. Server Game Port : UDP 7602 7. Control Port : TCP 7601 * * 4. Client Game Port : UDP 7602 8. Encapsulation : Type 2 * * * **************************** Server Configuration ****************************** * * * Server #1 : -- Empty -- Server #11 : -- Empty -- * * Server #2 : -- Empty -- Server #12 : -- Empty -- * * Server #3 : -- Empty -- Server #13 : -- Empty -- * * Server #4 : -- Empty -- Server #14 : -- Empty -- * * Server #5 : -- Empty -- Server #15 : -- Empty -- * * Server #6 : -- Empty -- Server #16 : -- Empty -- * * Server #7 : -- Empty -- Server #17 : -- Empty -- * * Server #8 : -- Empty -- Server #18 : -- Empty -- * * Server #9 : -- Empty -- Server #19 : -- Empty -- * * Server #10 : -- Empty -- Server #20 : -- Empty -- * * * ******************************* Command Window ********************************* * [Configure (G)lobal or (S)erver, or go (B)ack]> * ******************************************************************************** To configure Global options press G then . To add/edit a server press S then . To go back to the Main Menu press B the . Global Options: 1. Nickname - The name you will use in chat during the game. 2. Server Password - The password running on the server XBoxGW. 3. Server Game Port - UDP Port the XBoxGW server is running on. 4. Client Game Port - UDP Port the XBoxGW clinet is running on. 5. Interface* - The ethernet interface name the XBOX is connected to. 6. Ping Interval - How many seconds between pings to remote XBoxGW connection. 7. Control Port - This is the control port for XBoxGW. 8. Encapsulation** - Selects the type of XBoxGW session: Type 1: XBoxGW 1.05-6 and below compatiblity mode. Type 2: XBoxGW 1.08-1 and higher, high performance mode. ** All clients will use whatever encapsulation the server is configured for. This means that if you select Encapsulation Type 2, anyone with client software earlier than version 1.08-1 will fail to connect. The server must be configured for Encapsulation Type 1 to be backwards compatable. * In the 1 network card configuration make sure your Global Interface is set to eth0. In the 2 network card configuration make sure your Global Interface is set to the interface that contains network your XBOX is on. For most people this would be eth1 For backwards compatability, there is an option under Server Configuration for the servers header type. If connecting to an XBox GW Server whos version is earlier than 1.08-1, you must choose Header Type #1. Otherwise, you can leave this setting at its default value (which is currently 2). 6. STARTING A GAME At the Main Menu: ******************************************************************************** * XBoxGW v1.08-2 http://www.xboxgw.com/ * ******************************************************************************** * * * * * * * * * * * MAIN MENU * * ~~~~~~~~~ * * * * 1. Configuration * * 2. Start a server * * 3. Connect to a server * * Q. Quit from XBoxGW * * R. Reboot System * * * * * * * * * * * * * ******************************************************************************** * Cmd> * ******************************************************************************** Press number 2 and . You will see the In Game Menu start up: ******************************************************************************** * XBoxGW v1.08-2 http://www.xboxgw.com/ * ********************************* Game Status ********************************** * * * Local X-BOX Mac: 00:00:00:00:00:00 * * Link #1: Not Connected UBPRG1 Link #2: Not Connected UBPRG1 * * Link #3: Not Connected UBPRG1 Link #4: Not Connected UBPRG1 * * * ****************************** Received Messages ******************************* * * * * * * * * * * * * * * * * * * * * * * * * * * ************************** Command / Message Window **************************** * > * ******************************************************************************** At this point, go to your XBOX and start a game. Anyone who connects to your server should see your game. 7. ENDING A GAME In Game Menu type '/quit'. This will end your game. 8. TROUBLESHOOTING There are some obvious things that may go wrong when attempting to bring up a link with a remote user. The two main ones are: 1) Firewall issues 2) Ethernet switch between XBOX and Linux Server instead of a HUB. We have attempted to make it very easy to detect both of these problems. ******************************************************************************** * XBoxGW v1.08-2 http://www.xboxgw.com/ * ********************************* Game Status ********************************** * * * Local X-BOX Mac: 00:50:F2:50:40:14 * * Link #1: Not Connected UBPRG1 Link #2: Not Connected UBPRG1 * * Link #3: Not Connected UBPRG1 Link #4: Not Connected UBPRG1 * * * ****************************** Received Messages ******************************* * * * * * * * * * * * * * * * * * * * * * * * * * * ************************** Command / Message Window **************************** * > * ******************************************************************************** In the new 'In Game Menu' you can see the flags per connection: UBPRG1 This way you can easily see what state each connection is in. U is UDP Test: Passed - The UDP test has passed (This side has received a UDP pkt). Failed - This side has not received a UDP packet yet. **NOTE** This stage is most useful in detecting firewall problems. This test MUST be in "Passed" state on BOTH the client side, and the server side. Whatever side shows failed, means it did not receive a UDP packet from the remote side. Its firewall should be checked. B is Broadcast - The "game stage" is in its Broadcast stage. This is where the XBOX either looking for games, or waiting for other XBOX's to join a started game P is Point-To-Point - The XBOX has entered a stage where it is talking directly to another XBOXs. A game has been started. **NOTE** This stage is most useful in detecting whether you have an ethernet switch or an ethernet hub. If the stage goes to Broadcast, and never goes Point-To-Point when you attempt to join a game, then it is more than likely because you have a switch, or the xbox is not directly connected to your linux box. For more details on how to solve this issue, please see the REQUIREMENTS section of this document. R is RAW mode - Internal debugging -- Please send the color of this option when e-mailing support@xboxgw.com G is Game Port Mode - Internal debugging -- Please send the color of this option when e-mailing support@xboxgw.com 1 is Header type 1 - This shows the remote client is running a version earlier than 1.08-1, which only supports Encapsulation Type 2. Your X-BOX MAC - This is the detected MAC address of your X-BOX. If this is all 00's, then your X-BOX hasn't been detected yet. State: Connected - This means the remote side has connected, but has not sent a registeration packet yet. If stuck in this state, it is suggested to bring down and back up the remote link. If this does not help, please contact support@xboxgw.com Registered - This means the remote side has registered, however the UDP Game Port test has not passed yet Active - This means the remote side has registered, and that the UDP Game Port test has passed. Bad Password - This means the remote side attemptd to register, but did not have the correct password Dup Nickname - This means the nickname you have chosen conflicts with someone else already connected If none of the above information helps you troubleshoot your probem, please post it to our forums with a detailed description of your problem. 9. SUPPORT Support is available on http://www.xboxgw.com on the forums. Email support is at support@xboxgw.com. Note that for e-mail support, we do not answer router/hub/switch related questions! Please post these to our support forum. 10. DISCLAIMER All trademarks belonging to Microsoft are fully owned by Microsoft Corp. We have no Affiliation with Microsoft. There is no guarantees with this software. It's free! Use it, enjoy it. Frag your friends with it. Use at your own risk.