It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Hi there,

I wonder if someone is interested in reviving the Game Service functionality pod offered. The Ubisoft servers are down since a long time of course, and reversing the client to write a custom server would be my interest.
It would allow a chat lobby for players and connecting to other players games hosted over the internet.

Nicode already documented several GameService related packet stuff, some of those things differ to me (e.g. my client doesn't seem to encrypt anything, the packet size is only 2 bytes long, some message IDs seem to be different...).

So far I reversed the game to enable GameService logging into GsLog.txt again which helps me in creating such a server.
Looks like the game behaves kinda stupid here and there (spamming keepalive packets even at no connection, easy to buffer-overflow-crash the game through bad answer packets...) But I really don't know how far I can get. I'm not as experienced as nicode :D At least the server and client can connect together already (but the player can't login). It's really hard to find out what packets the client awaits.

So, maybe someone is experienced in this and wants to help out too? :)

Greetings,
DebugErr
Post edited October 03, 2014 by DebugErr
What kind of knowledge do you need?
avatar
DebugErr: [...] some of those things differ to me (e.g. my client doesn't seem to encrypt anything, the packet size is only 2 bytes long, some message IDs seem to be different...).
GS1 is different from GS2. I did some research on both protocols and chose GS1 because it is integrated into the game and has not that much compatibility problems like the GS2 client communication on current Windows versions.

However, I stopped my research some time ago. Mainly because I had other things to do and nobody reminded my again to continue with POD :)

ps: for IPv6 and/or secure connections one would have to wrap the client/connection anyway (and keep the IPv4 plain text communication for legacy clients).
Post edited October 10, 2014 by nicode
Hey there Nico, nice to hear from you!

I just read your topic about your explorations back 1 / 2 years ago and I'm impressed.

I started my own IDA database about POD and GS 2 weeks ago and now found out that you already made these :D
At least my discoveries match yours exactly. This is a great feeling for a decompiling noob like me! :)

I didn't even know there were two different GS versions, I had absolutely no knowledge about the game service because I never experienced it when it was official. Several things make much more sense now, and the differencies I noticed in your notes on your research scratchpad website are just because you documented GS2. Heh.
I'd also focus only GS1 (which I thought was the only one), because of the non-existing encryption and without all the compatibility problems this new GS2 has as you said.

I'm gonna write a server from your notes and databases, looks like you just made 80% of my work ;)
If there's anything, can I contact you over Skype? ;)

I had also created a Pod forum on my own for my software including the Game Service replacement by me. Also because members had issues with pod on murmuran (can't create accounts or log in, including me). Give it a visit, there's nothing on it except me and three posts, lol --> vibeware.net
Post edited October 17, 2014 by DebugErr
I need better help about editing and proofreading service.More details visit our website or contact our service team.
avatar
DebugErr: I just read your topic about your explorations back 1 / 2 years ago
You might have a look at the PowerVR binaries. They have been build with MSVC and might be easier to analyze than all the other Watcom binaries with register calling convention.

My spare time is currently very limited and I have to finish the fixes for King's Quest Mask of Eternity first. Looks like I will not have time for POD before mid November.
Post edited October 15, 2014 by nicode
No problem :) I also don't have much time. Your notes and IDA databases are the biggest help I found. I'll figure it out.
Implemented many of your messages now. Not with a database yet, but that will be easy to add.
Have a look at my attached image.

I write news about my implementation progress on my website forum, in case anyone is interested and maybe also wants to test some things here and there. Feel free to post!
Attachments:
Post edited October 17, 2014 by DebugErr
This is really nice, it means we (will?) be able to play POD online?
Post edited October 20, 2014 by etb
Eventually yes, if I get everything running.
In the next few days I will implement a database behind the user accounts and get the chat on the server working for real. I post updates on my forum, you can also test connecting to the server, just write me if interested.
Some fake chat on the server in the attachment ;)

The database is set up and I know just need to program against it, so that the chat seen above can be real. Account creation is working already.

Don't forget to visit my thread here for more screenshots: http://vibeware.net/showthread.php?tid=1&pid=15#pid15
Attachments:
Post edited October 25, 2014 by DebugErr
New link: http://vibeware.net/category/software/pod-gameservice/
I hope you get this working DebugErr! I have been silently waiting for a bit now, but decided to chime in let you know that this would be awesome. :)
The link is dead again, any (bad) news we should know?
I wasn't working on this since last december, and my interest in it is too low right now to get back on that ;3c
In fact, I mostly did work nico already did, when I found out I just implemented missing details (many XD), and didn't go much further.

That's also why the website (which is really not a reliable source of information since I never update nor really finished it) doesn't show links to it anymore.