You must be logged in to post messages.
Please login or register

Modding and Scripting
Moderated by Yeebaagooon, nottud

Hop to:    
loginhomeregisterhelprules
Bottom
Topic Subject: Age of Mythology Private ESO Server
« Previous Page  1 2  Next Page »
posted 04 January 2011 06:55 PM EDT (US)   
.: Age of Mythology Private ESO Server :.



No no, of course not. I haven't done a private ESO server. What I've done is some work towards that and I think it could be possible and I want to share my findings with you guys. See this as my temporary comeback to AoMH as I'll have a round of exams soon so I can't work on this for a month or so.
Anyhow, this I'm going to briefly tell you what I've done so far.


First I get to see where AoM connected. It make sure it has the latest version and gets the update if needed. I downloaded all cabs files and noticed that for AoM the last 3 updates are missing (!) which is a bit weird. I think it could be possible to continue to use those cab files in the future using RTPatch which is what they used.

There are some cfg files at AoM\Startup folder which contain that information of the url of this updatelist.xml and ESO url and they are 100% configurable so that allows an easy way to make AoM connect to a different ESO. Looking at production.cfg (its inside the bar file) I saw the ESOConfigURL. Downloaded it to my Dropbox public folder and reset that value to my file and toyed with values - Message of day, ESO Pop, refresh intervals, ESOOutageMessage, all it seems to work. The last one kicks a user out while displaying a message which is pretty interesting - maybe apply a personalized banned message here?

So now, the tricky part - actually making something that resembles the servers AoM connects to. The major problem is that AoM connects to aom.eso.com using SSL which means its encrypted, which is pretty scary and frustrating at first however I got it working (after a few days) and I was able to read what AoM sends to the aom.eso.com, and use that to resend to the aom.eso.com to see the replies. Tho, I'll tell you that aom.eso.com is not the first server it connects, it's login.passport.com - that's Microsoft login plataform for their own services, such as Windows Live Mail and Messenger. So, after realizing just that, I logged in to Messenger using my AoMUsername@eso.com and password and logged in to Windows Live Mail using just that too. I can add people and send emails from that account, which is pretty neat. . Go ahead and try it out! This might not be something 100% new but it was to me . Moving on.

AoM request several things to ESO in the following order: GetConfig, GetMasterTicket, ActivateProductKey, GetServiceTicket, RegisterNickname, VerifyTicket. The bolded one are tricky since there's part of the message that's encrypted.. Which can really mean no private ESO on the worst case scenario. .

Now after gathering what ESO replies to AoM on a positive AoM login request - my username and correct password, along with my valid CDKey, and save them on my server so it always replies just that to AoM I started to experiment. And oh boy did I find something awesome. So awesome I'm amazed myself as in all this time I'm probably the first to do this. Maybe the previous AoM servers had better protection or something, but here I'm logged in as nottud and Yeegaabooon:



Chatting works, join and hosting games works, looking for stats works, all that use different servers which I didn't replace and what actually authenticates a user is my fake server always saying it's authenticated. On the upside you can't win\lose points in a rated - sorry nottud, you'd have won 20 points on AoM rating . Tho everything else seems to work as long as you enter an existing nickname. Mythic_Freak and Oboe agree that it's kinda creepy seeing me logged him as their account. Not to worry tho, this doesn't grant full-access nor I can get your password - that's stored on Microsoft servers.

Now the next step towards a working ESO would be figuring out those encrypted messages.. Since the messages that logged my in yesterday don't do so today. Maybe that's because I'm still trying to access parts of the real ESO kicking me out. Not sure.

Using Wireshark I was able to see the packets sent between AoM and the chat server. They seem to be encoded. Maybe compressed. The latter also being because ESOClientDLL on AoM folder contains strings from zlib. Which means that atleast part of the connections are compressed, so more testing will be needed.

Hosting a game seems to be a mixture of XML data and probably AoM compressed messages. I think a private-hosting server is also doable.

Stats seem to be simple since they are mainly XML. Pretty much doable - I was thinking, keeping the rest of ESO intact but maybe use a different Ladder to store ratings of a community competition for example...


So this is what I've so far gather so far. Now I'm not going to reveal my code nor further explain any specifics on how I got to make the fake servers work and getting past the SSL protection, I merely want to demonstrate of what's possible, and I welcome you to constructively discuss the findings.

Maybe the future of this could mean an integrated with Fan Patch?



Progress status:

NameProgress
Account creation ingame100%
Password recovery button0%
User login to ESO100%
Message of the day100%
ESO Population90%
Address server90%
Hosting advanced games100%
ESO Stats\Ladder35%
Upload ESO stats at the end of a match0%
Chats\Lobby Server90%
Friends Server90%
Rated game matching75%



-invent00r

My Work: 1 2 3 4 5 6 7 8 9 10

WIP: Master XS Battle Micro AI
Paused: AI (%4.247)
Os segredos sγo de quem os souber guardar.

[This message has been edited by invent00r (edited 09-15-2013 @ 04:20 AM).]

Replies:
posted 04 January 2011 07:09 PM EDT (US)     1 / 38  
Pretty cool stuff, funny that you were able to log in as Yeebs and Nottud.

What is the usefulness of a private server?
posted 04 January 2011 07:11 PM EDT (US)     2 / 38  
Awesome! A very nice feat of reverse engineering!
You just made it possible to continue ESO when the servers go down!

Keep it up, and get those games & chat channels working

Does it work for multiple users already?

Angry Levels|SIMSTools|PHTC|TriggersToOne Trigger Anti Edit Utility
Triggers coming up quite soon: Camera Master!!!!! (Have complete control over your camera. Make Camera tracks based on unit positions, aim the camera based on mathematical expressions. Multiple levels of advancedness!
posted 04 January 2011 07:16 PM EDT (US)     3 / 38  
@: tasev
Well, what happens if ESO closes down? Since there are about arround 300 users online on average these days, having an alternative would allow this game to live a few more days.

Also there's all the fun on reverse engineering something to a state that actually works, tho I'm not sure I'd be able to do this all by myself...

@: angryzor
Thanks for your support.

Well.. No.. My server only allows one user which kinda defeats the purpose I'll agree, tho this is perfectly fine for testing purposes .
-invent00r

My Work: 1 2 3 4 5 6 7 8 9 10

WIP: Master XS Battle Micro AI
Paused: AI (%4.247)
Os segredos sγo de quem os souber guardar.
posted 04 January 2011 08:46 PM EDT (US)     4 / 38  
I bet es would hand over server software if you asked them (along with $5000 bribe).
posted 05 January 2011 07:40 AM EDT (US)     5 / 38  
I didn't understand much of that but i did understand "Private ESO Server" so whatever your doing it keep doing it.
posted 05 January 2011 08:14 AM EDT (US)     6 / 38  
Lol at Scragins!
Invent00r has struck again with the speed of the wind at his back and the strength of his forefathers at his breast he goes forth to conquer all the far reaches of Age of Mythology!
He has trodden in the marshes of proactive triggers.
Brought back the Relic of trigger loaderyness and destroyed the lands of the savage AOM CODE!
Now he comes to us with this beast this amazing feat of bravery and courage. Invent00r there is only one thing to say.
BANANAS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
and lots of chocolate cake.

~~~~~~ My Work | €€€€€€€€€€€€€€ | €€€€€€€€€€€€€€ | €€€€€€€€€€€€€€ | Mods ~~~~~~~~
~~~~~~~~~ | €€€€€€€€€€€€€€ | €€€€€€€€€€€€€€ | €€€€€€€€€€€€€€ | Scenarios ~~~
~~~~~~~~~~~~~~~~ | €€€€€€€€€€€€€€ | €€€€€€€€€€€€€€ | €€€€€€€€€€€€€€ | ~~~~~~~~~~~~~~~~
~~~~~~~~~ Analysis | €€€€€€€€€€€€€€ | €€€€€€€€€€€€€€ | €€€€€€€€€€€€€€ | Also my Website ~~~~
~~~~~~~~~~ | €€€€€€€€€€€€€€ | €€€€€€€€€€€€€€ | €€€€€€€€€€€€€€ | ~~~~~~~~~~
ᵇʸ ᵉᵘʳᵒᵗᵒᵒˡ | €€€€€€€€€€€€€€ | €€€€€€€€€€€€€€ | €€€€€€€€€€€€€€ | ᵇʸ ᵉᵘʳᵒᵗᵒᵒˡ
posted 05 January 2011 10:40 AM EDT (US)     7 / 38  
Hey Invent00r you never end to amaze me
Awesome finds, I believe they will be very valuable in the future (once ESO is closed).
And finding things is a satisfaction itself

Utilities || Map Tool 3.1 Inventory Triggers MP Triggers Comic AoM
RandomMaps || Mad Supremacy Escape Your Mates Escape
Scenarios || Bomberman Minigames Y 2.0 Convert & Fight
Games || Bullet Demo Ball Bouncer 3D
WRP_Beater: "Meglio una gallina oggi che un uovo domani."
My name has been misspelled 132 times (Last: BSU_DoLhades Best: Lostrozzabercrombie In a row: 5)
posted 05 January 2011 02:04 PM EDT (US)     8 / 38  
Thanks for your kind words, but there's much to be done..

Maybe you lostry want to continue my work? I'll give a small credit at the end if you do it .
-invent00r

My Work: 1 2 3 4 5 6 7 8 9 10

WIP: Master XS Battle Micro AI
Paused: AI (%4.247)
Os segredos sγo de quem os souber guardar.
posted 05 January 2011 07:51 PM EDT (US)     9 / 38  
I've been messing with the Game List Service tonight. It's pretty straightforward. A simple SOAP webservice that holds a list of games publicly hosted with a couple of options. Even managed to make my own game creator:



Wouldn't be too hard to get a private implementation of this service up. It only stores stuff, and allows you to retrieve it again. The actual connecting etc. is handled by AoM clients, there seems to be no ESO interference there.

If we knew what it was we were doing, it would not be called research, would it? - Einstein, A.
Master XS - AoM Code Reference - Trigger Loader - Trigger Requests - Chess

Wow, I never thought that I would actually know something before nottud did... it's actually not all that satisfying ~ Steak
posted 05 January 2011 08:31 PM EDT (US)     10 / 38  
Cool. (although you spelled pauses wrong)

Can you create a game and then actually join it?
posted 25 January 2011 09:22 PM EDT (US)     11 / 38  
Are the ssl encryption code breaking websites working? I've used a couple of them.

posted 10 February 2011 12:00 PM EDT (US)     12 / 38  
AoM request several things to ESO in the following order: GetConfig, GetMasterTicket, ActivateProductKey
If you manage to pull this off, would people without a CD key be able to connect to the server? That would be amazing.

What are the key ingredients to make a popular RPG? To find out, read the results of the RPG survey.
Want to create an advanced patrol/pathfinding system? Have a look at the powerful Pathfinding triggers.
Games I'm playing: The Witness [80%] Chivalry: Medieval Warfare [20%]
posted 10 February 2011 08:15 PM EDT (US)     13 / 38  
Really great work !
It's amazing see ingenious people working for a good cause.
You have my (little) knowledge in this task !
posted 17 February 2011 11:09 PM EDT (US)     14 / 38  
That's some pretty solid reverse-engineering. I might re-install AoM and take a look, it sounds pretty interesting. There isn't any processing done on the servers, correct? Besides from the routing of game information to the respective hosts to keep synchronization?

Would you like some ubersauce with that pwnage?
Creator of the Mages modpacks!
Join the Epic Studios design team! Please feel free to help out with our major project, Star Wars


Medals:
PDS Member Medal :: PDS Mod Member Medal
posted 19 February 2011 12:13 PM EDT (US)     15 / 38  
@:Lewonas
Yes it would be possible. It would also be possible to determine our own keys and ban users.. It would be like Voobly and Game Ranger only with a true ESO experience - that being the goal of course.

@:Lewonas
There are some aspects that are harder than others. But I think it's technically possible. The chat system seems to be a bit tricky to solve.. It would take quite some time to figure out everything.

The major incontinence I see is the parts that have encrypted text... Naturally the code to reverse those keys is in AoM ESO dlls somewhere...

Thanks for commenting GostoMuito .
-invent00r

My Work: 1 2 3 4 5 6 7 8 9 10

WIP: Master XS Battle Micro AI
Paused: AI (%4.247)
Os segredos sγo de quem os souber guardar.
posted 19 February 2011 11:54 PM EDT (US)     16 / 38  
um how would this work if ESO goes offline would someone need to buy or rent a server and if so how would everyone know they can connect because if we only get 20 people on the server it would be almost useless?

[This message has been edited by scragins (edited 02-19-2011 @ 11:54 PM).]

posted 18 January 2013 11:12 AM EDT (US)     17 / 38  
Revived.

In all your science of the mind, seeking blind through flesh and bone
Find the blood inside this stone
Well, I know I've never shown what I feel, I've always known
I plan my vengeance on my own - and I was always alone
posted 30 January 2013 09:55 AM EDT (US)     18 / 38  
I'm posting the new recent findings here for further discussion.


After some reverse engineering I got a few things working: Account creation, user login, Message of the Day, ESO outage message. The login accepts any CD Key.

The previous problem of having an encrypted connection was bypassed using Fiddler2 and changing the ZoneAccessApi.dll directly so it doesn't go to a https address.
Some problems still remain unsolved: understanding and emulating "ForwardingServerAddress", chat service seems very tricky, fully understanding game stats uploaded at the end of a game.
On the upside, there are things that look very doable: Hosted Games list, A simple ranking system, ESO online count.


I've upload a simple modpack for anyone to test and give feedback, it will be updated as progress is made.


My Work: 1 2 3 4 5 6 7 8 9 10

WIP: Master XS Battle Micro AI
Paused: AI (%4.247)
Os segredos sγo de quem os souber guardar.
posted 30 January 2013 10:34 PM EDT (US)     19 / 38  
Holy crap, this is so awesome! How I didn't see this when you first made the thread I have no idea. Makes me wish I had done Web Programming earlier. Definitely keep this updated ~ Khan

<||=================================||>
Proud Member of Forgotten Empires
96Reviews KaS Dota2 Halo 5 Reach
{ "Work until your idols become your rivals" }
༼ つ ◕_◕ ༽つ trGetUnitScenarioName(); ༼ つ ◕_◕ ༽つ
posted 06 February 2013 11:22 AM EDT (US)     20 / 38  
Progress!
Forgot password button works again! I've never saw it working, even when AoM was still played by a lot of people.

More importantly, I've managed to implement most of the "Game List Service" and it's now possible to host an advanced game, manage/update it, and cancel it and list all the existing hosted games. Both in vanilla and the titans. It hasn't been throughly tested so improvements might still be needed. I would like to know if connecting to an advanced game works because I'm not really sure how it would resolve the ip address of the other player (unless it uses the AddressServer for this). But Address server might not be necessary - I've found out that AoM doesn't use it if the setting "OverrideAddress" is set in user.cfg, containing the user internet ip address. An external program could update it before AoM Loads.

And that's it for now. My next target might be implementing a simple matching service.

@:Steak And Khan
It is awesome. It's just a few years late.

-invent00r

My Work: 1 2 3 4 5 6 7 8 9 10

WIP: Master XS Battle Micro AI
Paused: AI (%4.247)
Os segredos sγo de quem os souber guardar.
posted 06 March 2013 08:54 AM EDT (US)     21 / 38  
I agree with Khan, this is awesome. I hope you manage to finish it!

oh you can wait for what I can give
you know what I am so you know how I live
try to look proud but you’re not in the slightest
its happening now and it’s always been like this.
posted 06 March 2013 06:01 PM EDT (US)     22 / 38  
I'm currently doing Web Programming at uni, so hopefully in a couple of weeks I'll be able to understand in better detail what you've done here. This is really exciting though, private server(s) would be insanely awesome! ~ Khan

<||=================================||>
Proud Member of Forgotten Empires
96Reviews KaS Dota2 Halo 5 Reach
{ "Work until your idols become your rivals" }
༼ つ ◕_◕ ༽つ trGetUnitScenarioName(); ༼ つ ◕_◕ ༽つ
posted 20 March 2013 05:17 PM EDT (US)     23 / 38  
This is glorious, well done!
posted 20 March 2013 08:03 PM EDT (US)     24 / 38  
Invent00r: I am stretched incredibly thin, but feel free to email me if you need anything. You can use me nifty hg email:
elrich(at)heavengames.com or the hotmail one I think we've used in the past.

In all your science of the mind, seeking blind through flesh and bone
Find the blood inside this stone
Well, I know I've never shown what I feel, I've always known
I plan my vengeance on my own - and I was always alone
posted 07 August 2013 09:45 AM EDT (US)     25 / 38  
Arise, thread....
« Previous Page  1 2  Next Page »
Age of Mythology Heaven » Forums » Modding and Scripting » Age of Mythology Private ESO Server
Top
You must be logged in to post messages.
Please login or register
Hop to: