PDA

View Full Version : EQOA (Everquest Online Adventures) Revival has reached character select. INFO!!


hMJem
06-08-2015, 09:25 PM
EQOA Revival has reached the character select screen.

To any C++ people or passionate developers who want to help get EQOA back: Here is a video of how to do get to the exact same point from yourself at home. (Done from a single computer)

https://www.youtube.com/watch?v=OJM1UkZBmcE

Here is the EQOA Revival wiki which has an abundance of information and is the page he has opened at the start of the video:

http://wiki.eqoarevival.com/index.php/Main_Page

Everquest Online Adventures was an amazing game. You would be able to play it on PC or PS2 when it eventually comes back. (Still awhile away)

The reason this information is out in the open is so more people can help. The development team is really small and no one actually does it for a profession. Everyone has jobs that they go to, some have families, and they work on this to revive a game for a community that misses it and just for anyone else who would ever be interested in it.

I think this you guys would like EQOA. I, personally liked it more than Everquest 1 but I could be biased. It was an MMORPG ahead of it's time especially for being on PS2. If you're that "I like to grind with a group of people and have adventures and experiences primarily with others" type of MMORPG player, EQOA is the game for you. It's a HUGE world too. You can run around in a save state for yourself and see how big the world is if you just forgot or if you want to see for yourself. It's a huge world and you don't sit in queues doing nothing, you're out adventuring with people.

Here is a sad montage video of when the game shut down for good: https://www.youtube.com/watch?v=x-iim15IcO0

If you are a C++ guy or networking person and think you can contribute to this, message me on here and I will get you into the Facebook group where everyone is and then the right people will talk to you. However, the Wiki should be able to take you to the Facebook page, but if you message me I'll get you there too. You don't have to make this your job, no one gets paid and it's basically a hobby to bring the game back. But if you want to help be apart of a great experience like that and just learn about the process while using your skill, this would be an awesome opportunity!
None of the info is being hidden, it's open source for the reason of getting people to help.

THANKS and love you all!!

P.S: By rare chance if anyone reading this has LIVE capture packets from when the game was running, that would be immensely helpful information. All the development team has is a single capture packet from when the game was live. The difference between other online MMORPG emulations is that they had tons of live capture packets from when the game was/still is live. The fact the EQOA Revival small/inexperienced team has gotten this far with so little of that as well is amazing, but if you did have any live packet captures it would help A TON!!! Again message me on here if you want to help or have that.

hMJem
06-08-2015, 09:31 PM
Here is what Ben Turi had to say when he posted this breakthrough to the group:

"Howdy all,
The (small) development team has continued to work hard to make progress toward seeing an EQOA Revival. In the last week or so, we have had two big breakthroughs and we wanted to share those with you.

1) Determination of the generalized CRC parameters/scheme used between the Client/Server to make sure no packets are lost in transmission. If we don't get the CRC correct, the client won't accept the server's packets. In the previous breakthrough to get to the server select screen (December), we were using hard-coded values we backed out from the original PCAP. This was great in that it showed progress, but it was not going to work long term. Over the past couple of months we have continued to research and investigate to determine how to calculate the CRC from 'scratch' by determining the generalized CRC parameters. We have now accomplished this and it will make continued communication with the client possible.

2) In a related effort, the development team has also extended our current C server's capabilities to get to the Character Selection/Creation screen. This is a rather large breakthrough in our goal of getting in world from the 'front door' vs. a save state. Since we can view toons and their associated gear (no rings, belts, ears, etc) we will be able to start identifying which hex codes are associated with a particular image/sprite. We should also be able to view all possible sprites on the disc instead of just the ones in the save state. This will also help us understand how toons are represented in memory. With this breakthrough, we can also get to the character creation screen. We were able to delete a toon, and start up a new one, choosing race, sex, class, and initial stat points. You can even give them a name (This all appears to happen solely on the client). However, it will lock up once you try to save that toon since those routines have not been figure out or incorporated in our local server at this point. Additionally, we have not coded up the 'ping' response for the client, so the client will eventually timout and go back to the server select screen. Every 10 secs or so the client sends a ping to the server and it expects a response. It will do this for about 2 mins without disconnecting, but then it will disconnect. For now, I have attached a single image I made of the Character Selection screen where I passed in a different name for Matt's Cleric.

These breakthroughs are huge and open up a lot more opportunities for us to learn how the client expects the server to work. Please remember, we don't have ANY type of full featured server capability at this point. The client sends our server packets and we have to figure out how to respond to those in the correct way. The only way we can do this is with the single LIVE packet capture we have and perhaps trial and error. The current 'server' is really more of a research tool to allow the dev team to interact with the client to gain an understanding of how everything worked and fits together to make a playable game. An updated C++ server is being developed with the insights the breakthroughs have provided.

There are a number of next steps possible. Several people are planning on investigating the character byte representations on the character selection screen to document those. I will move forward to do more packet analysis to see what additional steps are needed to get us in world. My preliminary investigation shows that once we select "enter game world", that the server starts to dump a large amount of information to the client's memory that contains all the hotkey information and stuff like that. Finally, it provides information about where the toon will enter the world and what objects can be seen. A main focus of the team will be to get 'in world' and continue to explore and extract various opcodes that the client is sending and determine the proper server response. I would like to also get to the point where we could spawn something, even if we can't attack or fight it.

We are hoping a few expert C++ developers in the current group will get involved and start getting things organized and improve on the current code. The more people that understand what is going on in detail and can make contributions will help progress along greatly. If you want to help, you must take the initiative and be pro-active as much as you can. We currently have maybe two developers working on this. Wouldn't it go twice as fast with just four? (I know I know, not really, but you get my point). We are all learning here. No one has done this before so just jump in and ask questions. You can send me a PM or leave a message in the server forum and I will do my best to help. I can try to connect you with the right people in the group.

For now, let us all revel in this accomplishment at the beginning of the summer and hopefully with the renewed interest we can push forward. The dev team would like to thank everyone for their support. And if you have any packet captures from EQOA, it would help tremendously.

Ben and the Dev team

Hail the Knighthood of Marr(CLW)"

hMJem
06-08-2015, 09:32 PM
The current problem people are trying to deal with is this:

"So we know what the client "are you alive" packet looks like, we just need to create a valid response to keep the connection alive."

Currently, you get disconnected after about 20 seconds. The client has an "are you alive" type response it sends, so the team is trying to create a valid response to keep the connection alive. A lot of the info is on the wiki but if you message me I can get you into the FB group and connect you with the people that you would be talking/working with.

If you're interested, PM me!

Pringles
06-08-2015, 09:59 PM
A+ Keep us posted! Never got a chance to play this, would love to check it out.

P.S. Any chance daybreak games has been contacted about this project? Maybe they'd be willing to throw it a bone if they have access to anything?

Millburn
06-09-2015, 02:24 AM
They've already been contacted about it. I believe it was actually Smedley that responded and had mentioned that the server architecture they used for EQ:OA is no longer owned by them and is not something they can legally work on and neither are they willing to spend the resources to rework the game to fit a different architecture.