Jump to content


Photo

XLink Kai 7.4 Beta released


  • Please log in to reply
19 replies to this topic

#1 Xbox-Scene

Xbox-Scene

    Memba Numero Uno

  • Admin
  • 5,201 posts
  • Location:Yurop
  • Xbox Version:unk
  • 360 version:unknown

Posted 01 July 2008 - 05:22 AM

XLink Kai 7.4 Beta released
Posted by XanTium | July 1 00:22 EST | News Category: Xbox_Xbox360
 
Team XLink released a new version of their global gaming network (that allows you to play system-link enabled games (incl. Xbox and 360) online for free):


What's the point?
XLink Kai(info) 7.4 began a few months ago to address the following issues:
1. Internationalization - the existing Kai UI does not support many languages and character encodings.
2. Platform Independence - Linux and OS X client software is no longer feature compatible with the Windows client
3. Unified Development - numerous versions and variants of the engine and client exist creating compatibility issues and fragmented development/support.

Team XLink prides itself as a 'Global Community' of gamers. To us, this means people who speak different languages, who use different Operating Systems, and who live all over the globe should be able to connect with one another and make Team XLink their home. Our year to year userbase growth and concurrent player statistics tells us we've been making excellent strides towards our global ambitions. Still, to truly move forward with the project, we need to address infrastructure and compatibility issues so that we have a solid platform that encourages further growth. Kai 7.4 addresses these issues and provides a solid foundation for future plan that simply would not be possible with the previous versions of Kai.


So what's new?
The biggest change to Kai is somewhat invisible--the code. Kai was designed primarily as a Windows-based system with compatibility for Linux/OS X (and other *nix systems) added later through the Kaid project and numerous third-party clients. This created a rift in development where any features added to the Windows Engine and Client needed to be added to Kaid and the third-party clients needed to be updated. A small change in the Windows client required all the other clients to be updated. Updates to the Windows engine (ex: new PSP MAC addresses) required Kaid be updated. As developer interest in Kaid and the many clients waned, it has become increasingly difficult to add any new features without breaking existing compatibility for those not using Windows. To address this, Kai 7.4 uses a single codebase and non-proprietary libraries so that the same code that compiles the Windows binary also compiles under Linux, OS X, BSD, etc. This required removing all the MFC code from Kai and replacing it with platform-independent alternatives like the Boost and wxWidgets libraries. With this unified codebase, future updates and changes will be made available on all supported Operating Systems at the same time.

The most visible change found in Kai 7.4 is the Client Web UI. Instead of designing multiple User Interfaces for every supported OS and every language we decided to drawn on the strength of existing cross-platform technology: the web browser. The Kai 7.4 engine contains a small web server which serves the client to your web browser (Safari, Firefox, Internet Explorer(info), etc.) and communication between the web browser and the Engine is achieved using Ajax programming. Aside from the obvious elimination of platform compatibility issues, switching to a browser-based client has some wonderful side effects:
1. Updates and additions to the client are served immediately without the need to restart the Engine.
2. The client is 'skinable' allowing users to develop and share their own customizations.
3. Kai can integrate other web technologies such as streaming audio and video.
4. Kai can be controlled using embedded systems with compatible web browsers (ex: iPhone).
5. The Kai engine can be accessed and controlled remotely via the web browser ( chat from work/school :P )

Another notable improvement found in Kai 7.4 is the support for uPnP routers. Most modern routers support uPnP allowing on-the-fly port mapping. When started behind a uPnP router, Kai just works--no port forwarding or router configuration required.

Lastly, all language has been stripped out of both the Engine and the Web UI Client and replaced with language templates. Currently, English and Japanese translations are available; however, support for Korean, Spanish, and many other languages are being added as translation becomes available through the community.


Official Site/Downloads: http://teamxlink.co.uk






#2 c-2

c-2

    X-S Freak

  • Moderator
  • PipPipPipPipPip
  • 1,453 posts
  • Location:www.teamxlink.co.uk
  • Xbox Version:none
  • 360 version:none

Posted 01 July 2008 - 06:51 AM

QUOTE
Alright, what's next?

Well, Kai 7.4 constitutes some serious changes to the Engine and Client programming. Although Team Members have been testing Kai 7.4 for a number of months now, we anticipate bug reports, feature requests, and interface changes now that it is 'out in the wild'. Once sufficient time has passed, Kai 7.4 will move from Beta status to it's final release, at which point development on 7.5 will start.



So, should I upgrade to 7.4?

Of course! As mentioned above, Kai 7.4 is a foundational release meaning all future updates are dependant upon the 7.4 programming. Once the brief beta period is over, all versions of Kai prior to 7.4 will no longer be supported so, unless you have upgraded, you will not be able to access Kai.



Skinning?!?

The Kai Web UI is designed to be customized! To see a list of available skins, enter the command '/skin' (without the quotes) in Chat.

Skins are saved as .zip archives with the following directory structure:

/skins/skin_name
/skins/skin_name/skin.css
/skin/skin_name/skin.js


Once your customized skin is complete, zip it starting with the /skins folder and name it skin_name.zip (where skin_name is the name you are calling your skin). The skins reside in your appdata directory.

We will be providing more information about creating skins in the upcoming days as well as providing web portal to the Kai UI Skin database for sharing your finely crafted skins with the rest of the community.



Some final thoughts...

I'm very proud of how The Team XLink crew really pulled together for this release. Our Moderators and Admins have committed countless hours to testing, discussion, documentation and translation--it's boring tedious work but you guys stuck through it. Also, special thanks to baby Kai for generously providing the squawk sound for PM messages.

This release and frankly all Team XLink developments over the past three years would not have happened if not for the dedication of our Lead Programmer: MeanMF. Not only did he revamp the Orbital and Engine code but he also put up with my incessant feature requests and questions about the Web UI to Engine communications. I wouldn't have thought it possible but you've actually outdone yourself, again. Incredible work, MeanMF.

And finally, I want to pay special thanks to our loyal and committed users who have stood by us for the past five years. It is your ongoing support and enthusiasm for console gaming that really motivates us.



Downloads:

Now, I'm sure you carefully read through the release announcement and are eager to give it a try... choose the version appropriate for your Operating System below and enjoy!

* Kai 7.4.14 Beta for OS X (x86)

* Kai 7.4.14 Beta for Linux (x86)

* Kai 7.4.14 Beta for Windows



-prestige

Posted by prestige on Monday 30 June, 2008 - Comments (7)


#3 Heet

Heet

    X-S Knowledgebase

  • Moderator
  • PipPipPipPipPipPipPipPip
  • 4,965 posts
  • Location:Gainesville, FL
  • Interests:Pina coladas and getting caught in the rain. Disk space.
  • Xbox Version:v1.3
  • 360 version:v2 (zephyr)

Posted 01 July 2008 - 07:49 AM

If it weren't for those damn ping limits on 360's.....


Thanks for the update! smile.gif

#4 sekone

sekone

    X-S Member

  • Members
  • Pip
  • 65 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 01 July 2008 - 08:06 AM

i never could get XLink Kai to work. but came really close. could someone point me in the right direction?
thanks.
sek

#5 Kl0f

Kl0f

    X-S Enthusiast

  • Members
  • 8 posts

Posted 01 July 2008 - 09:51 AM

Kai for Xbox 360?

I thought the 360 used encryption for Live? Which games works with Kai on the 360?

#6 Heet

Heet

    X-S Knowledgebase

  • Moderator
  • PipPipPipPipPipPipPipPip
  • 4,965 posts
  • Location:Gainesville, FL
  • Interests:Pina coladas and getting caught in the rain. Disk space.
  • Xbox Version:v1.3
  • 360 version:v2 (zephyr)

Posted 01 July 2008 - 10:09 AM

No, ping limit is 30-50ms to the host.


http://www.teamxlink...pic.php?t=27715


MS didnt like people playing for free last time. smile.gif

Edited by Heet, 01 July 2008 - 10:15 AM.


#7 Retman

Retman

    X-S Senior Member

  • Members
  • PipPip
  • 156 posts
  • Xbox Version:unk
  • 360 version:v3.0 (falcon)

Posted 01 July 2008 - 10:12 AM

FeaR0

Add me folks =D

#8 JimmyGoon

JimmyGoon

    X-S Expert

  • Members
  • PipPipPip
  • 591 posts
  • Xbox Version:v1.6
  • 360 version:v1 (xenon)

Posted 01 July 2008 - 12:44 PM

Cool they chose Boost and wx. That's what I used for the tunnel I wrote. It has no central server list but otherwise works. (Only one byte of overhead after the initial mapping is sent).

I want to see how they set up the Makefiles though - that was a pain in the ass to compile in Linux and try to get it working with cygwin's outdated build tools.

Anyway, awesome release. Nice to see work continue. It's only too bad that no one seems to play Halo 1 on XBC or Xlink enough to justify reinstalling them on my PC sad.gif

Edited by JimmyGoon, 01 July 2008 - 12:46 PM.


#9 bLiTz 2k

bLiTz 2k

    X-S Member

  • Members
  • Pip
  • 62 posts
  • Location:NYC
  • Interests:umoms
  • Xbox Version:v1.0
  • 360 version:v1 (xenon)

Posted 01 July 2008 - 05:55 PM

Such a great project...yet so useless for the Xbox 360 unless you live in spitting distance from whom youre playing with.

Unfortunatley, it wont contend with Live this generation unlike during the XBox1 days sad.gif

#10 tomgreen99200

tomgreen99200

    X-S Freak

  • Members
  • PipPipPipPipPip
  • 1,556 posts
  • Location:Florida
  • Xbox Version:v1.6
  • 360 version:v4.0 (jasper)

Posted 01 July 2008 - 07:29 PM

to bad for the xbox 360 ping limit ! FU M$ !

#11 freyyr890

freyyr890

    X-S Enthusiast

  • Members
  • 23 posts
  • Xbox Version:v1.0
  • 360 version:v1 (xenon)

Posted 01 July 2008 - 10:23 PM

QUOTE(Heet @ Jul 1 2008, 02:45 AM) View Post

No, ping limit is 30-50ms to the host.
http://www.teamxlink...pic.php?t=27715
MS didnt like people playing for free last time. smile.gif


How does the protocol work? Is it a standard ICMP Echo request, or something proprietary?

If it's ICMP ping, I suppose you could code Kaid to listen for echo requests and respond them with a packet forged with the target IP, without it ever getting to the destination, or even work some magic with iptables. (Don't hold me to that, I'm no iptables expert).

If it's proprietary, has anyone attempted a protocol analysis with tcpdump/Wireshark? Assuming it's not encrypted, in which case: are the keys traded or are they coded in the game? If they're traded, we might be able to intercept the public key as it's sent, and assuming it's not some proprietary encryption scheme, emulate the network traffic of the distant console in software with Kaid for ping packets only.

Of course, there's no solution if ping is calculated by standard game content packets, except for completely reverse-engineering each game's network protocol and emulating each remote client under Kaid, while processing the incoming stream and making corresponding updates under the emulated client. This would be near-impossible even if encryption's not in play, which would make it completely impossible.

But these are just idle musings, can anyone enlighten me to some details of this protocol?

#12 Nunix

Nunix

    X-S Enthusiast

  • Members
  • 18 posts

Posted 01 July 2008 - 11:18 PM

From what I read, it's not actually the ping that needs to be under 30ms.
I could be entirely wrong but from what I understood the xbox360 exchanges public encryption keys at the beginning of a "system link" game. It's that initial communication that must happen within 30ms or less.

So unless we somehow patch every game (or maybe something in the iXtreme firmware?), there's no way to do this.

Wait. Just had an idea. What if kaid knew yours and your friends' xbox encryption keys and would perform the initial encryption locally. It would then instruct the other kaid players to do the same and after the connection is established, it would delay the connection until both xboxes are ready?

#13 freyyr890

freyyr890

    X-S Enthusiast

  • Members
  • 23 posts
  • Xbox Version:v1.0
  • 360 version:v1 (xenon)

Posted 01 July 2008 - 11:52 PM

QUOTE(Nunix @ Jul 1 2008, 03:54 PM) View Post

From what I read, it's not actually the ping that needs to be under 30ms.
I could be entirely wrong but from what I understood the xbox360 exchanges public encryption keys at the beginning of a "system link" game. It's that initial communication that must happen within 30ms or less.

So unless we somehow patch every game (or maybe something in the iXtreme firmware?), there's no way to do this.

Wait. Just had an idea. What if kaid knew yours and your friends' xbox encryption keys and would perform the initial encryption locally. It would then instruct the other kaid players to do the same and after the connection is established, it would delay the connection until both xboxes are ready?


Assuming the encryption's non-proprietary (it should be, creating a new encryption standard is horribly expensive, even for microsoft - my money's on RSA, which is well supported by libgcrypt) and the public key is complete (ie: it doesn't utilize some internal keyvault that we don't know about yet, or combine some key hidden in the game software) the public key should be all we need to start a session.

We might get really lucky and discover that the key isn't dynamically generated and is fixed, which would mean that we'd only need to capture it once and sessions could be initiated automatically without trouble.

Hmm... this is getting interesting. Anyone up for a little packet sniffing? smile.gif

Edited by freyyr890, 01 July 2008 - 11:59 PM.


#14 JimmyGoon

JimmyGoon

    X-S Expert

  • Members
  • PipPipPip
  • 591 posts
  • Xbox Version:v1.6
  • 360 version:v1 (xenon)

Posted 02 July 2008 - 12:11 AM

QUOTE(freyyr890 @ Jul 1 2008, 10:59 PM) View Post

How does the protocol work? Is it a standard ICMP Echo request, or something proprietary?

If it's ICMP ping, I suppose you could code Kaid to listen for echo requests and respond them with a packet forged with the target IP, without it ever getting to the destination, or even work some magic with iptables. (Don't hold me to that, I'm no iptables expert).

If it's proprietary, has anyone attempted a protocol analysis with tcpdump/Wireshark? Assuming it's not encrypted, in which case: are the keys traded or are they coded in the game? If they're traded, we might be able to intercept the public key as it's sent, and assuming it's not some proprietary encryption scheme, emulate the network traffic of the distant console in software with Kaid for ping packets only.

Of course, there's no solution if ping is calculated by standard game content packets, except for completely reverse-engineering each game's network protocol and emulating each remote client under Kaid, while processing the incoming stream and making corresponding updates under the emulated client. This would be near-impossible even if encryption's not in play, which would make it completely impossible.

But these are just idle musings, can anyone enlighten me to some details of this protocol?


I'm sitting here thinking the same thing, but then the game would have to have a built in rate-of-fire to carry out and expect which would seem strange... I guess it's just like other protocols that require noop to stay connected

#15 freyyr890

freyyr890

    X-S Enthusiast

  • Members
  • 23 posts
  • Xbox Version:v1.0
  • 360 version:v1 (xenon)

Posted 02 July 2008 - 12:14 AM

QUOTE(JimmyGoon @ Jul 1 2008, 04:47 PM) View Post

I'm sitting here thinking the same thing, but then the game would have to have a built in rate-of-fire to carry out and expect which would seem strange... I guess it's just like other protocols that require noop to stay connected


I'm sufficiently curious now. I'm gonna roll out wireshark and take a look.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users