P2P Kaillera Client & Related
Your browser does not have basic javascript enabled required to view this site properly or our webserver is having problems. Sorry for the inconveniance.

Latest file: kailleraclient.dll

Information & FAQ

P2P Client

Q: What is this?
A: It's a free online multiplayer library for arcade type game systems that can do with fixed frame delay and fixed data length(for netplay). For users, it allows them to connect directly to someone and play. It supports the popular Kaillera client interface making it usable with kaillera supported emulators and hence is also known as the Kaillera p2p client.

Q: Why would anyone want to connect directly?
A: Connecting directly to another person (peer to peer) can have certain advantages over server/client systems. For example: scalability. Also since there are only 2 endpoints, they can be made smarter instead of the central server to advocate lower latency/delay in gameplay. Hence this can definitely serve as an extra alternative if the users or developers want to compare p2p gameplay to other types of systems to see what works better for them.

Q: What is this not?
A: This is nothing more than a free netplay library.

Q: I want to play with "[insert emulator name here]" but I cant find this particular rom. Where should I get it?
A: Firstly, we have no clue. We strongly discourage users from obtaining and distributing unauthorized or illegal content.

Q: Where can I get more info on this ?
A: General Information: http://okai.movsq.net. Bug reports: http://bugs.movsq.net.

Comptibility and Operation

Q: Will it work on my computer?
A: System/Program requirements (if something has anything out of the ordinary) are usually stated on the download page. All our programs are developed on Windows Xp sp2 and are also tested on Windows Vista. If you should have something that precedes those, you are encouraged to go ahead and test it.

Q: Can I play 3 or more players?
A: Not yet.

Q: Do I need to port forward?
A: Usually, host needs to forward his hosting port (27886 by default). Connector does not need port forwarding in most cases.

Q: Help! I port forwarded and whatismyip it still says my port is [insert random port no here] and noone can connect through the waiting games list!
A: Use the force port option.

Q: I hosted and my IP address is 127.0.0.1:27886 but how come my friend can't connect?/How do I get my IP?
A: 127.0.0.1 is the loopback ip address. I.e. it will always point to your own computer. So someone on the internet or even your local network couldn't connect to you using this IP address. To connect you will need your external IP address which can be seen on "your ip" page.

Q: In p2p, does it give any advantage to low pingers over high pingers?
A: No. Ping a.k.a. latency can be seen as a network property between 2 endpoints. There are only 2 endpoints in p2p and hence both users share the same ping.

Q: Does host have any advantage? How is host different to connector?
A: No. Host is obviously the one who is connected to. Host has the privilege of taking certain initiatives such as calculating average ping and throughput but nothing special. Client's clock also gets synchronized emit the same time as host. On the negative side, host needs to have the hosting port forwarded in firewalls and routers so the connector can connect. Once the game starts, both behave identically.

Q: How do I find opponents? Does it have a lobby?
A: That part is mainly left to the user. However, due to popular demands, a vary limited "waiting games list" was added. The waiting games list server will do basic UDP hole punching if it helps anyone. To put games in the waiting games list, check the "enlist on waiting games" checkbox.
We are also working on an IRC chat module to connect to the p2p IRC channel (#srkkaillera @ efnet). It's future implications may include connecting to other peers through the channel however things are still tentative.

Q: I can't see any waiting games/People can't see my games on the waiting games list.
A: If you cant see any waiting games, there is a good chance that there are no waiting games. If people can't see your game on the waiting games list and if you forwarded your ports, in 99% of these cases, your router still translated your hosting port after port forwarding. You are encouraged to use the "Force port" option. You can check if this is the case by pressing the what is my ip button. The port received with IP address will be different to the port you forwarded.
Your game will appear on someone's list when he successfully pings you. I.e. if you didn't port forward or didnt do it properly, people will not be able to see your game on the list. You can also get away without port forwarding with certain types of NAT implementations/configurations in some rare routers but not all routers are nice and everyone is encouraged to forward their ports.

Q: How is the delay calculated?
A: For delay, the latency between the peers is calculated and is turned into frames. When smoothing is used, extra numbers/frames are added to either latency or delay.

Q: This isn't good enough! I want even lower response delay!
A: You will be pleased to know that there is a netplay service called GGPO which guarantees single frame response delay.

Q: Why are my games always choppy/laggy when I use this? Does this ignore/drop my input?
A: We don't release modules/libraries that we find choppy when we test. However, our test environment may not resemble the network environment between you and your peer vary well and we are always seeking your feedback to make things better for everyone.
We never drop inputs. Out libraries proveide 100% lossless service. I.e. Everything received from incorporating application are always used and transmitted.
There will always be lag over any type of network and the only way to have no lag is to use lag compensating applications such as GGPO. Choppyness / feeling that an input was dropped can be caused by frequent packet losses and lag spikes. We are always striving to minimize those things and your feedback on this regard is greatly appreciated. We've also added smoothing options (configurable by host) which trades delay with extra margin for lag spikes.

NFBA

Q: What is nFBA?
A: nFBA is a new Fibonacci Barriar Assault program. It uses clever brute fencing tricks to remotely infect and damage the user's Operation System(OS) infrustructure via the interweb matrix. Currently, it only operates on windows.

Q: When will the bugs be fixed/next version be released?
A: Hopefully mid April. Delayed koz of RL issues! Apart from the assy sound bug, the work on the next version is complete but it wont come out before the next stable version of the p2p client is released! It does not work with v0r7. Check the downloads page.

Q: I have questions about this emulator, where do I ask them?
A: Emulator related questions etc goes here. Bug reports go here.

Download

Stable

This is where we keep our horses

kailleraclient.dll
Last updated: August 03 2008 14:08:17.
Latest stable P2P Kaillera client
Size: 184320 bytes
okai_recorder.7z
Last updated: February 08 2008 23:20:24.
This is our recorder module. It records game data as ".krec" files(super compresed KRC1 format...not compatible old KRC0 format). Work on this module is complete.
Size: 74752 bytes
nfbadtr9u1.exe
Last updated: August 03 2008 14:00:53.
Insteller + sources with sound bug fix. Nothing special.
Size: 4426592 bytes

Installers

nerk.exe
Last updated: May 08 2008 13:58:57.
An Installer that lets user pick between the packages and automatically downloads and installs content. Courtesy of Todd (iammud)
Size: 209501 bytes
okai.zip
Last updated: February 12 2008 22:37:02.
An installer that automatically downloads all p2p client files and installs them.
Size: 17665 bytes

In development stuff

WARNING: Files in this section are updated way too often and is intended for testing. Builds may not be stable.

okai_p2pchat.7z
Last updated: February 09 2008 21:59:02.
This is our p2p irc chat module.
Size: 64678 bytes
gens-win32-bin-2.14-fixes.7z
Last updated: August 20 2008 13:56:06.
Kaillera loading crash fixed version of gnes
Size: 436067 bytes

Old Files

These are outdated files.

Sources

Meet our sources...

The time now is January 06 2009 06:02:10

How to use

Installation

// TODO: Write this section

/* Manual Install:

Close all instances of your emulator. Download the kailleraclient.dll from downloads page to your program/emulator folder replacing the old one.

Modules:
Modules are searched for in Windows\system32, the folder kailleraclient.dll is in and it's "modules" subfolder. Simply extract all the files in module archive to one of those folders.

Automatic Installers:

Simply download one of our installers from our downloads page to where you want your stuff installed and run it. Only for content released in/after 2008.

*/

P2P Client

The idea is really simple. One person hosts and the other person connects. Once the users are connected and they mark themselves ready, the game will start. The only complicated part in using this is configuring your machine to host. Hosting is similar to running a game server and hence the port used must be forwarded in routers and enabled in any type of firewalls used. The default port used is 27886 and is configurable by host. In most cases, port forwarding is not necessary for the connector or if the user is connected directly to the internet.

Modules

The latest version of Open Kaillera client is module based. Modules are searched for and loaded at runtime which gives us and users a bit of flexibility in terms of updating and using. Only the most essencial of the modules, the p2p gameplay module is included inside the default library. Everything else such as recorder or kaillera server play mode are/will be distributed as external dll. Currently, the client searches for these modules in 3 locations: ...Windows\system32, the folder the library dll file is in and modules subfolder from the folder the library dll file is in.

External Tutorials

A_Rival's p2p HQ
SRK Tutorial and questions thread
Vid Tutorial

Your IP

This page was requested from 38.103.63.57
If this fails or otherwise, you can always do a google search for "what is my ip"

Delay calculator

Calculates delay on different kaillera & related systems. Try changing the values to suit you and find your response delay =)

Program
Ping
Connection
*for Emulinker and related, input the ping of the worst person in your game
*P2P assumes no smoothing was used