View Full Version : The Future of SEQ
BlueAdept
02-09-2019, 11:27 AM
Hello everyone,
EQ is almost 20 years old and SEQ is not that far behind. From the early days at Hackersquest, the abandonment of it by Ashran and Megaton moving on, to the revival of SEQ by Ratt (and continual support) and continuance of it by community support, it has survived along with its partner EQ. I really did not think that I would still be here, nor would I be playing, occasionally, everquest 20 years later.
As much as I would love to walk down memory lane further, and at some point I might, I have come to ask for SEQ's future direction.
What do I mean? Well the code base for SEQ is old. Especially QT3. I am concerned for SEQs future. QT3 is not supported by any current distribution, they are on QT5 now (and I think QT6 is nearing release date) and there are no up-to-date distributions that carry qt3 any more. Centos 6.9 is the last one that you can install out of the box but suffers from some of the exploits from the NSA hack. It would be nice to be able to install it on a current distribution and without compiling qt3. I also know that QT3 has been pulled from several distributions so you cant even add qt3 any more to up to date flavors. There are also a lot of broken features and such.
So the question is, where do we go from here?
Leave SEQ the way it is?
Find someone or pay someone to update SEQ to qt5?
Dump the old SEQ and find someone to rewrite it in some other, or the same, language with improvements (or maybe a cross platform version)? Like something to update it easier or tools to help find the info needed to keep it going.
Let me know your ideas, comments or suggestions.
Nstalkerga
02-22-2019, 09:15 AM
Well have had a been long reply typed up and lost it.
I would say ive been around long enough to remember its initial start. Unfortunately i have really contributed to the project very little and have become mostly a consumer. Mostly the myseq at this point. However i have always kept a SEQ box up and running, and tinkered with it.
I would love to see the SEQ updated and easier for to use. If it came down to a having to pay someone to get that done, id be willing to try to chip in towards it.
I do have the concern that early on the reason that SEQ was left alone was the fact it was a bit more difficult then the typical EQ gamer to get up and running was mostly left along due to the small number of users. Technically myseq could be detected if they went back looking for it (unless im missing something). They did so with planetside2 due to the hacking problems it caused. If we made it a much easier and updated crossplatform systems .. could it put SEQ and mySEQ back up on the radar as a problem. It could be they are more interested into people that abuse macroquest.
if it wasn't for some flavor of SEQ out there, i likely wouldn't play.
fauxreigner
03-07-2019, 11:35 AM
A year or two ago I did some work on decoding EQ packets with python using ShowEQ as a template. I made no attempt to display any of the data in a GUI - I just wanted to decode the packets as a data source for bots, headless clients, etc.
I got pretty far along the way, but ran into issues with unpacking the bits into the right order for nested structures with unions using python's structure definitions. I sort of gave up when I realized how much of the data from the server is unknown and became more interested in reversing the client to learn how more of it was used. Turns out, that's very hard and I made zero progress at that.
Either way, if there's an effort to refurbish SEQ, I think it would be a great opportunity to work with some talented reverse engineers and software engineers. I'd be happy to be part of the effort.
BlueAdept
03-07-2019, 03:26 PM
Thank you for the reply.
It doesn't seem to have much interest.
I know it isn't much, but I would be willing to put $100 towards modernizing SEQ, at least updating to qt5 and maybe a few bugs.
fauxreigner
03-09-2019, 09:10 PM
I think it would be more of a labour of love than anything else. I think the backend to decoding the packets was pretty solid, and I imagine a conversion to a newer version of QT wouldn't require a total refurbish of the code. I wouldn't want to undertake it by myself, but I think it would be manageable for a team of between 2-5.
To me, the greatest point of failure for SEQ isn't the dependency on QT3, but updating the opcodes for the monthly patches. I know Newby posts a patch within a day of each patch, but does anybody know how to figure out those opcodes? Would Newby be willing to share his expertise/methods with some newbies?
BlueAdept
03-10-2019, 06:35 PM
There are quite a few threads of how to do it, but I was never able to figure it out. I was able to do some stuff in the past, but it has been about 10 years since I have done anything with the structs.
As for finding the op codes, I think it is more of being familiar with the packets and what to expect than anything that is really able to be taught. I could be wrong, but that is what I kind of remember. I was pretty much told to go to a quiet zone and repeat an action over and over until you find the correct op code.
I recently started playing again, I dont know for how long, but I did notice that the spells are messed up.
fransick
03-10-2019, 09:52 PM
If I recall, Newby created a tool to help him identify opcodes more quickly. I can do it by hand but it is slower so I've been content to wait for Newby's posts.
I am looking at spells now and fixed a few structs. Also looking to fix:
Info: Sun 3/10/2019 22:58:11 - Spell::calcDuration(): Unknown formula for spell 000b (0)
No progress yet but if I get it cleaned up I'll upload via SVN
fransick
03-11-2019, 11:41 AM
If I recall, Newby created a tool to help him identify opcodes more quickly. I can do it by hand but it is slower so I've been content to wait for Newby's posts.
I am looking at spells now and fixed a few structs. Also looking to fix:
Info: Sun 3/10/2019 22:58:11 - Spell::calcDuration(): Unknown formula for spell 000b (0)
No progress yet but if I get it cleaned up I'll upload via SVNSolved the calc issue. Had to do with spells_us.txt changes that caused the needed data to move. Looks like they pulled casting messages out and put them into spells_us_str.txt which caused everything to be misaligned. I have it working on my setup and will test it tonight before uploading. There were also some struct changes in everquest.h that fixed a few things in playerProfile.
BlueAdept
03-12-2019, 11:52 AM
Thanks fransick. I was going to look into it this weekend if I had time. If you want me to add it to the svn just post a diff.
fransick
03-12-2019, 05:28 PM
Thanks fransick. I was going to look into it this weekend if I had time. If you want me to add it to the svn just post a diff.
Changes submitted to SVN. Not quite done with everything that needs to be fixed but the most significant fixes are working for me. Holler if your experience is different.
slippery_slope
03-14-2019, 02:41 PM
Hey. I don't have strong opinions on the matter, for me, I'm using ShowEQ on private servers and it works well with very little hiccups. It's essentially a second branch to maintain than what's in live because the changes are stuck in time and also there's private-specific modifications. While modernizing the UI would be nice, other than the fact that Qt3 is deprecated and a bit more of a pain to install, there's nothing really "wrong" with it. There are tools online to convert Qt3 to Qt4, and Qt4 to Qt5, and I imagine a developer who specializes in QT could probably convert it fairly fast. If the goal is to get it on a supported version of Qt, then I think that would be the best bet. If you want an active maintainer to write bug-fixes/new features then it's a different story.
Also, identifying the OPCodes is not terribly hard I would imagine, if you have a knack for it. Once the packets begin coming in you'll notice what all of the new opcodes are and you will see the data inside the packets, you need to verify that they match the expected data and there hasn't been any struct changes. But a spawnStruct will always still *look* like a spawnStruct compared to a newZoneStruct or something else. At the end of the day it's still a manual process and needs someone who knows what the expected data is to record the new opcodes.
cn187
10-14-2019, 08:32 PM
I realize this is an old thread, but I didn't feel quite ready to start a new one yet.
For the past few of weeks, I've been spending a fair chunk of my spare time updating SEQ to work with QT4. As it stands, I have it compiling and running using QT 4.8.7 (4.3 might work, but idk), with QT and all of the other dependencies installed via the distro package manager. I'm using Debian 10 (buster) but I expect that any issues getting it work on other distros will be easily resolved by tweaking the build.
There are still some outstanding issues that I need to fix, and there's still a lot more testing I want to do. Hopefully I didn't screw up too much in the update process, and there won't be a bunch of additional things that need fixing. Anyway, I hope to have something ready for others to start playing with Very Soon (TM).
I know the eventual goal is QT5, but with the time spent on this so far, I probably need to do some quests to improve my wife faction ;) At least QT4 will get SEQ building on newer distributions, and I (or someone else if they want to) can tackle QT5 at a later time.
Powered by vBulletin® Version 4.1.11 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.