Page 1 of 1

EQOA Revival Team seeks help

Posted: Sun Nov 09, 2014 10:44 pm
by mesenkomaha
Good evening fellas and my apologies if this post is not welcome.

Several months ago I came across the works of a group that was trying to create an emulator for Everquest Online Adventures, the great EQ game released for Playstation 2 back in the early 2000s. When I joined the group they had already dissected the game disc but didn't really have a direction. After making a little progress, posting around the internet seeking out direction from experienced developers like you guys here is pretty much our hail mary as our progress is very slow.

I'll just quickly share and show what we've done so far.

First was the patching process.

[img]http://i18.photobucket.com/albums/b118/ ... c63ace.jpg[/img]

My PS2 connects to my PC that is running a http file server. That server holds the patching file it is looking for. Had to do DNS redirecting to get the PS2 to connect to my server rather than the defunct SOE servers.

After patching is the login screen.

[img]http://i18.photobucket.com/albums/b118/ ... cc5359.jpg[/img]

This is where I think we are lost. We have one packet capture from when the game was live. In that capture we see a packet that is sent to the client that confirms login information and passes it to the server list. We played around with having a packet sending program reply to all login requests with this specific login packet. The client goes to the next screen regardless of information put in to the username/password boxes. This probably isn't the right thing and I feel like there should be some kind of client --> server/database action going on here.

So next it goes to a news screen which is connected to the same file server as patching.
After that is the server list.

[img]http://i18.photobucket.com/albums/b118/ ... erver2.jpg[/img]

What is it trying to do here? Pull the account information/server list from the database?

I realize, trust me, that we are in well over our heads here. We are a group of experienced computer nerds, but have no strong programming background. We just want to get our game back even if it is just the game world. I know that if nothing else, you guys appreciate the love for a game that has gone away as much as we do.

I understand just how busy you are. I really do. Even just doing this tinkering around with this client took a ton of hours out of my life. I am just asking as one gaming enthusiast to another that when you have time, please look this over and if you can give me a general direction of how to proceed.

Thank you for your time.


EQOA Revival Team

Re: EQOA Revival Team seeks help

Posted: Tue Nov 11, 2014 4:47 pm
by Xinux
Just from looking over that yes i would say it wants the server list. You should be able to do a collect with what you have now and compare it to the one log you have from live and see where it starts to go wrong. Then from that part just for testing you can just hard code the packet from the server to the client. It's just a guess tho without seeing the packet collect from live you have.

Re: EQOA Revival Team seeks help

Posted: Tue Nov 11, 2014 9:49 pm
by mesenkomaha
Thank you for taking the time to reply Xinux. If you have time, and would like to, you can check out the captures we have here.

https://drive.google.com/file/d/0B5zVCB ... sp=sharing Packet capture from live
https://drive.google.com/file/d/0B5zVCB ... sp=sharing Test packet capture from our client > server interactions

Everything seems fine until the packets turn to UDP, where the client is trying to pull the server list. The first UDP packets sent in both logs are slightly different but strangely enough the live server and our current PC server send back the same exact response. In the live capture the client sends another chunk of data then the server responds with a server list. In our testing our client sends a blank payload, and according to the PCSX2 log it purges all connections with the server and attempts to connect again. We have tried to setup our server to respond with the same server list packet that the live server sent but haven't been able to get that to work.

Re: EQOA Revival Team seeks help

Posted: Thu Dec 04, 2014 4:21 pm
by TigerTiger
Is this the same group, where I helped to enable the teleport window and race changing using the PCSX2 savestates you sent me? Regardless that computer not only broke, but also apparently now has a corrupted hard-drive.
I never mentioned this but you might consider running the emulator in virtual box, in conjunction with the "snapshot" (aka savestate) feature so you can the exact same packet at the exact same time. For example I set up EQ2 and EQ2 server-pack in Virtual Box under windows 10 (you can get a legally free Windows 10 ISO from the microsoft website) and then start the server and eq2 get in game, can make a savestate, and then exit virtualbox, and reload the savestate and I'm still in world at the exact samespot (and I still get 50 fps and can use the maximum character texture resolution settings though some things like flame and fire and depthmaps don't work, also eq2world.exe will crash when the date day of the week on the savestate does not match the current date, also need to minimize and then maximize the eq2 window).
Even vanguard works with about 40 FPS in virtualbox (did not test the server).

Re: EQOA Revival Team seeks help

Posted: Sat Dec 06, 2014 1:14 am
by mesenkomaha
Hi TigerTiger, I think you probably were the one to help the group. That was a bit before I joined though. You can join us here (https://www.facebook.com/groups/445149928880146/)

We had a major breakthrough tonight. We got the server list to populate and can select one. The issues wasn't database related (as I thought there might be some need to have session key to move on) but rather an issue with the CRC and our packets. We have two guys right now that are working on the networking code and several others waiting that say that they can do database coding. So I guess we'll see.

Any other comments/help is certainly appreciated.

Re: EQOA Revival Team seeks help

Posted: Thu Feb 05, 2015 12:17 pm
by TigerTiger
I was not able to open up the morph menu like I did the teleport window. Have you guys figured out to get the MIPS functions labeled, and why some have names while others don't. Maybe we can get the emulator, to spew out named functions, since the emulator already appears to put entire functions in to a different part of the menu (ie not the 32 MB main section).

Re: EQOA Revival Team seeks help

Posted: Fri Jul 10, 2015 9:48 pm
by mesenkomaha
Hi guys. I just wanted to document that we've figured out what the issue was regarding the server select area. It was a matter of client and server CRC information not matching up. We've been able to solve that problem and created a server select screen and can get into the character select/create area. It is a slow going process from here since we're all amateurs and adults with real lives, but we're slowly making progress. Next order of business is to create some kind of heartbeat system that keeps the connection alive (as it times out now after about 30 seconds or so) and to code our responses for this character create area so we can get into the game world.

Any input or ideas is appreciated!

Re: EQOA Revival Team seeks help

Posted: Fri Jul 10, 2015 10:17 pm
by Xinux
Most of the time the client sends a keep alive packet to the server and usally the server just sends a response back. Hopefully you have it in the collect you have.