The interface of Kaillera
|Stable release||0.9 / April 14, 2003|
|Operating system||Microsoft Windows|
Kaillera is middleware designed to aid networked multiplayer play for emulators. The word "Kaillera" is the verlan of the French word racaille (also spelled "kaïra") which is used in reference to "bad people".
Unlike GGPO, a technology and program allowing emulated games to be played over the Internet, Kaillera suffers from input lag which results in the player's actions being delayed more the higher the delay in a connection is. This is accentuated by the fact that when not using the Kaillera P2P modification, two players have to be connected through a server, thus increasing the delay of the connection.
Kaillera was developed by Christophe Thibault in the years 2001-2003. His most recent entry was the Kaillera Client library and SDK on 14 April 2003. Later in early 2006, rights and source code of Kaillera were sold to a private online gaming advertising company called TC. Ads and Etai Hugi. On 17 June 2006, Christophe Thibault himself publicly confirmed the sale of Kaillera and also announced that TC. Ads. no longer had anything to do with the Kaillera project and that Etai Hugi is the only owner.
On 20 November 2006, Etai Hugi announced that a new version of Kaillera would be released in "the next several months". His announcement also suggested that the new version would be "much better" and "more efficient" than the current version. In July 2007, he posted on the official forums and sent emails to the forum administrator announcing that the next official release would occur in "3-4 months." This announcement coincided with a revamp of the forums and the posting of new unofficial builds created by others for download (the first new downloads posted in nearly four years). On 4 November 2007, it was announced that due to unforeseen "bugs" the imminent release would be postponed for a time. It was later announced that the new version of Kaillera would be released on 7 April 2008. However, the official Kaillera website along with existing Kaillera master servers list was taken down a few days prior to the release date. Later when it came back up, no explanations for the downtime was given and nothing was released.
The client is implemented as a small library with a typical GUI which is incorporated with the emulator. Its simple self-explanatory API consisting of only 8 functions allow emulators to perform necessary functions such as specify the list of games it supports and control game execution to some extent. Everything after enabling the client to starting the game is managed by the client and the user. The client can only make requests to server on user's input and react to server's response.
On the other hand, the server takes the tedious role of managing all the users. Users can join servers if their conditions are satisfactory. Then they are allowed to chat and make games on the server which other users can join. A maximum of 8 players are allowed to participate in a game and others are treated as spectators. Once a game starts, the server is also responsible for scheduling and mix matching data sent by emulators in a manner befitting user's ping and connection configuration.
Emulators with Kaillera support
- 1964 (N64)
- Atari800Win PLus (Atari 8-bit family)
- Bliss (Intellivision)
- CCS64 (Commodore 64)
- DEmul (Dreamcast, NAOMI, NAOMI 2, Atomiswave; requires netBlade plugin)
- ePSXe (PlayStation, requires Netplay plugin)
- Final Burn Alpha (CPS1, CPS2, NeoGeo MVS)
- Gens (Mega Drive)
- Jnes (NES)
- Kawaks (CPS1, CPS2, NeoGeo MVS)
- MAME (various arcade systems)1
- Modeler (Sega System 32)
- Mupen64 (N64)
- Nebula (CPS1, CPS2, NeoGeo MVS)
- Nemu64 (N64)
- NESten (NES)
- Nestopia (NES)2
- PCAE (Atari 2600, VCS)
- Project64k, a modified version of Project64 (N64)
- Snes9k, a modified version of Snes9x (SNES)
- WinUAE (Amiga)
Note 1: There are several third-party versions of MAME with Kaillera, but these violate the MAME license by not having the source code to the Kaillera client library distributed, even though the source code to the modified version of MAME itself (such as "Mame32k", "Mame32 Plus Plus" and "MameLang32+") are always provided.
Note 2: Works with Kaillera client 0.9a, or Anti3D's modified Kaillera client (v1.1) or higher.