MAME32 + Open Kaillera (P2P)
Tutorial by [NewNet]* Neckshredder1
Open Kaillera P2P is a great way of playing classic games together with online friends! Grab the package below to get started.
MAME32 + + 119 with Open Kaillera - http://www.thenewnet.eu/downloads/mameppk_bin_gcc-0.119-20070914.zip
OVERVIEW
Open Kaillera - n02 v0.5r1(kaillera 0.9 compatible) - Nov 1 2007 comes with a P2P option (peer to peer) as well as the regular Kaillera Client. For the uninitiated, P2P allows you to bypass Kaillera servers and host your own games directly. This works very well in the countless games I've had. There's almost none of the unpredictable lag, desyncs, and timeouts normally associated with server play. When setup and used correctly, Open Kaillera P2P is so stable it's the next best thing to being in the same room together. Another really great thing is that some emulators with Kaillera support (eg. Snes9k, Project64k) can also use Open Kaillera P2P. This adds a huge number of P2P playable games to the vast amount already available on MAME.
Here's a peek at the Open Kaillera P2P option:
And here's the Connection Window:
Hang about, here comes my good mate, Nostalgia (aka The Flankdog), for another round of 3rd Strike!
LOL, good one, Nos! This is the thanks I get for figuring out all this cool stuff. :P
PORT FORWARDING
Some info for anyone that's behind a router. To host a game in Open Kaillera P2P you need port 27886 forwarded under UDP protocol (TCP not needed) in your router's firewall. You may also need to make a rule in your PC's anti-virus/firewall to allow connection to take place.
To get into your router in Windows XP, go Start>Run>cmd>ipconfig (I'm on XP, so I'm not sure if this applies exactly to other OS). Note the IP of the Default Gateway then type it into your web browser's address bar and you're in!
Go to - http://www.portforward.com/english/routers/port_forwarding/routerindex.htm - to find free info on specific routers. If you find their site confusing to navigate (they are trying to sell software after all) let me know your router's exact brand name and model number and I can try to get you a direct link to your router's port forward info page. As there are so many different routers out there it's really not possible to write a general guide that can cover this topic more fully than what I've already done here.
Anyway, once you've got port 27886 forwarded successfully and, if necessary, enabled in your PC's anti-virus/firewall, it's quite a simple matter to host games in Open Kaillera P2P.
HOSTING P2P
Before proceeding check that both players have the following:
-
The same version of MAME and Open Kaillera.
-
Same versions of whichever games you want to play.
The host must have port 27886 forwarded etc. as per the Port Forwarding guide above.
Host: After starting Kaillera Netplay make sure the 'Change Mode' window is set to '1. P2P'. The 'use port' window must read 27886 (it's 27886 by default). 'Nick' is obviously for your nickname. Under the 'Host' tab the host chooses a game from the list then presses the 'Host' button at the bottom.
Now you're in the Connection Window. Either press the 'whatismyip' button to call up your IP number, or if the button doesn't work get it from somewhere like http://whatismyip.org/ or your router's web page. Tell your friend your full IP via your preferred chat/VoIP method.
Connect: Under their 'Connect' tab your friend presses the 'Add' button and enters your IP and Name (a Name is preferable but not essential). The entry then appears in their 'Stored' window, they click it and it shows up in their 'Peer IP' window and they press the 'Connect' button. Port 27886 is default so Open Kaillera P2P will automatically add :27886 at the end of the host's IP for connection. Once your friend has connected to you both players tick the 'click here when ready' checkbox and the game will launch.
If any errors occur after this point both of you should completely exit out of Open Kaillera and MAME, then try again.
Troubleshooting:
- We tried to launch a game but we both got crashed.
Some games should only be run with the parent version in P2P. Go to the MAME GUI and click the 'Grouped' icon. Clone games will be offset in the games list view. Take note of the full name of the parent version of the game and try using that instead. Also remember that it is absolutely essential for both players to have the exact same version of MAME, Open Kaillera, and the games to be played. Also, analog control games (e.g. Arkanoid) are not supported over Kaillera in MAME32 + + 0.119 and will insta-desynch if you try.
- There's too much lag!
P2P play with Open Kaillera is normally exceptionally smooth and stable compared to standard Kaillera server play. In most of our tests so far between Italy and Australia we have found that Open Kaillera works just fine even over this great distance. We haven't had any slow down, just a bit of delayed response that only seems to affect certain games. If you are experiencing serious lag then maybe there is something running in the background that doesn't need to be, possibly from a recently installed piece of software. Check your Task Manager (ctrl + alt + delete), or go Start>Run>msconfig>Startup tab to disable any unnecessary Startup Items (advanced users only).
OTHER USEFUL LINKS
Some routers require a static IP for port forwarding, which will be indicated on your router's page at PortForward.com. Here's the index page of Static IP guides for various OS:
http://www.portforward.com/networking/staticip.htm
PortForward.com also have this good general port forwarding overview:
http://www.portforward.com/help/pfprogression.htm
Good luck and have fun! : )