Log in

View Full Version : P99 Open source


azxten
11-15-2021, 11:19 PM
It would be cool if P99 open sourced their code and data to allow long standing issues to be resolved more effectively. As P99 was built on open source software it would be nice to give back to the community that built the emulator upon which the majority of functionality is based.

starkind
11-16-2021, 09:57 AM
azxten you need to roll an ALT ASAP

devs have stated their intentions about the source and there's no pressuring them into it and p99 has a lot of life left

there's a lot of room for even cooler more classic servers like I was talking about in RnF with an 'entropy server' were players don't live forever and their items go away after awhile so it keeps the server fresh and moving along rather than getting top heavy there's a lot of ways I want to make that server more interesting and give players for example the option of starting at like lvl 45 but only have 2 weeks to live. And I want to make it super classic, just more classic stuff so like +3 agi katanas, +10 str mace somewere all with mostly within 1% of classic stats

maybe a few more things like rubi bps, like a banded tunic with 5hp regen etc stuff to just make the game more rich and offer more options

and mischief loot rules on some of it so you never know what is going to be in that goblins hoard

Trexller
11-16-2021, 10:58 AM
P99 wasn't built open source... they have permission from the IP holder to use it...

a project that nilbog worked on with other people, prior to P99, was issued cease and desist orders from sony.

starkind
11-16-2021, 11:01 AM
ya gpl3 says they can keep it closed for their own personal uses which they allow us to log into

Scalem
11-16-2021, 11:11 AM
It would be cool if P99 open sourced their code and data to allow long standing issues to be resolved more effectively. As P99 was built on open source software it would be nice to give back to the community that built the emulator upon which the majority of functionality is based.

If only I could just get the source code I could figure out how to nerf enchanters for the devs!!

azxten
11-16-2021, 12:00 PM
P99 wasn't built open source... they have permission from the IP holder to use it...

a project that nilbog worked on with other people, prior to P99, was issued cease and desist orders from sony.

http://www.eqemulator.org/

P99 is built off EQEmu open source and is mainly polish and classic era refinement. P99 has had a ton of work put into it but it's built on the ton of work that others put into EQEmu. P99 is the Red Hat to Linux in a vague sense.

devs have stated their intentions about the source and there's no pressuring them into it and p99 has a lot of life left

I'm not trying to pressure them into it I'm just saying it would be nice. At this point I'd rather play a personal server with friends and family where I can fix things myself that the devs are ignoring and opening things up this way would progress P99's stated goals faster.

If only I could just get the source code I could figure out how to nerf enchanters for the devs!!

Well, I figured out how to change spell casting animations by reverse engineering the spells file and editing it in hex. My code is already part of P99 although Telin really put in the work after I showed how it could be done. I'd be happy to fix channeling, which may nerf Enchanters, if they would admit it's fucked up and they want it fixed but can't figure it out but that is just speculation because they won't comment on it.

That's beside the point though because obviously I could fix channeling myself if I wanted to I don't need open source to recreate the broken channeling here. It's likely base EQEmu code which is already open source.

loramin
11-16-2021, 12:00 PM
In many ways P99 is like open source software: anyone can contact the developers and offer to join the team. Just like in real life, the maintainers can accept their help or not.

However, the critical difference between normal OSS and P99 is that p99 has to remain closed source to keep the secrets ... secret. Once you join the dev team, you don't get to play anymore.

If P99 was true OSS that wouldn't be possible. I think giving up the ability to fork in exchange for the ability to keep game secrets secret is a fair trade-off.

Trexller
11-16-2021, 12:02 PM
eqemu is an entirely different animal from titanium code. not even related to eq, could be used for many other things.

eqemu is rogean's baby, ppl dont often give up their children

azxten
11-16-2021, 12:21 PM
I think giving up the ability to fork in exchange for the ability to keep game secrets secret is a fair trade-off.

I think the secrets are out of the bag at this point. Is there a single piece of content or mechanic on P99 which isn't already pretty much completely understood from a gameplay perspective? There is a bug report on Quillmane on this topic and at least the devs acknowledged they're working on changing that mechanic. What secrets are being protected from a gameplay point of view?

not even related to eq, could be used for many other things.

lol.. ok.. EQEmu not even related to EQ... could be used for many other things... I guess.

loramin
11-16-2021, 04:29 PM
I think the secrets are out of the bag at this point. Is there a single piece of content or mechanic on P99 which isn't already pretty much completely understood from a gameplay perspective? There is a bug report on Quillmane on this topic and at least the devs acknowledged they're working on changing that mechanic. What secrets are being protected from a gameplay point of view?

Every detail of every raid mob, for starters?

azxten
11-16-2021, 10:44 PM
Every detail of every raid mob, for starters?

I don't think raid mob details matter much given they're all wiped the moment they spawn. The risk is this might happen slightly faster or with fewer people than it already does? The mystery is gone.

In any case I think I'm just going to go make a game myself not even EQ related. I wanted to play P99 again with better classic mechanics but staff isn't interested in having a conversation. Just because modern games suck doesn't mean I can't make a game I personally enjoy and making it based on EQ in any sense would just be limiting.

I hope in the end P99 is open sourced because I think it's pretty obvious this won't last another 10 years. Not after the way Green played out and not when considering the legal position of P99. I'd hate to see classic EQ disappear along with the player base that will inevitably dwindle. If Rogean and Nilbog disappeared tomorrow what would happen to P99? What if they're served with a court order due to change in ownership of the IP holder? I guarantee you they won't be open sourcing anything if that happens and overnight everything will be gone.

I'm pretty doubtful there is anyone else in the world who has full access to everything needed to recreate it even considering some devs likely have large pieces. Maybe I'm wrong and things are more secure or others have all the keys but if there are 2 people holding the keys to put together the project it's pretty much guaranteed it's fucked.

Clock is ticking on Daybreak in my opinion. Enad Global 7 buys Daybreak a little under a year ago. That shit isn't going to stop. EverQuest is a powerful brand and it may eventually end up with an owner who simply tells their lawyer this little project needs to stop and then poof. Bye bye EVERYTHING that has been worked on here by everyone. P99 if it continues to improve and grow, which I don't really think it will by a large degree due to limitations on the project, will become a victim of its' own success once it is noticed by the IP holder. If it doesn't continue to improve and grow, which is likely given the stale nature of a cyclical "Green" launch with boxed in parameters due to client limitations which seems to be the case, will simply fade into irrelevance and the motivation will disappear for those involved in making improvements.

If it was open sourced before then though? Yeah, it will never die...

I'm a realist what can I say. Whatever. I think it's a bad idea to wait for the that letter or the boredom of the players to kill it either way and then there is no future for people wanting to spin up a private server for nostalgia.

Trexller
11-17-2021, 01:01 AM
If a new IP holder pulls the plug, all they gotta do is find hosting outside of the US/EU, and they're good. Besides, the new IP holder is gonna be happy with all the player data collected over the years.

Dollars to doughnuts that "anticheat" file that your antivirus flags does more than watch client software for cheats.

"oh p99 wouldn't do that, they are benevolent overlords"

In this era of humanity, if you can collect data on others, you absolutely 100% do so.

Lessa
11-17-2021, 01:19 AM
I don't think raid mob details matter much given they're all wiped the moment they spawn. The risk is this might happen slightly faster or with fewer people than it already does? The mystery is gone.

In any case I think I'm just going to go make a game myself not even EQ related. I wanted to play P99 again with better classic mechanics but staff isn't interested in having a conversation. Just because modern games suck doesn't mean I can't make a game I personally enjoy and making it based on EQ in any sense would just be limiting.

I hope in the end P99 is open sourced because I think it's pretty obvious this won't last another 10 years. Not after the way Green played out and not when considering the legal position of P99. I'd hate to see classic EQ disappear along with the player base that will inevitably dwindle. If Rogean and Nilbog disappeared tomorrow what would happen to P99? What if they're served with a court order due to change in ownership of the IP holder? I guarantee you they won't be open sourcing anything if that happens and overnight everything will be gone.

I'm pretty doubtful there is anyone else in the world who has full access to everything needed to recreate it even considering some devs likely have large pieces. Maybe I'm wrong and things are more secure or others have all the keys but if there are 2 people holding the keys to put together the project it's pretty much guaranteed it's fucked.

Clock is ticking on Daybreak in my opinion. Enad Global 7 buys Daybreak a little under a year ago. That shit isn't going to stop. EverQuest is a powerful brand and it may eventually end up with an owner who simply tells their lawyer this little project needs to stop and then poof. Bye bye EVERYTHING that has been worked on here by everyone. P99 if it continues to improve and grow, which I don't really think it will by a large degree due to limitations on the project, will become a victim of its' own success once it is noticed by the IP holder. If it doesn't continue to improve and grow, which is likely given the stale nature of a cyclical "Green" launch with boxed in parameters due to client limitations which seems to be the case, will simply fade into irrelevance and the motivation will disappear for those involved in making improvements.

If it was open sourced before then though? Yeah, it will never die...

I'm a realist what can I say. Whatever. I think it's a bad idea to wait for the that letter or the boredom of the players to kill it either way and then there is no future for people wanting to spin up a private server for nostalgia.

How many times have you jacked off to this post? If you say fewer than 3 I'm gonna need to see your source code.

Jibartik
11-17-2021, 01:45 AM
_ozQMQwcqoM

Jimjam
11-17-2021, 04:09 AM
Click ‘home’ at the top of this page and then ‘eq emulator website’ on the left panel.

Swish
11-17-2021, 04:13 AM
If a new IP holder pulls the plug, all they gotta do is find hosting outside of the US/EU,

Reeee my ping/FTE chances!

Swish
11-17-2021, 04:14 AM
Look out he's got a gun

_ozQMQwcqoM

Dolalin
11-17-2021, 01:12 PM
The hard part of P99 (and eqemu in general) isn't the source (although some of the game mechanic tweaks are hard) but rather it's the database, and getting all the data right.

As an exercise, go and set up your own server using stock Eqemu and a ProjectEQ database dump, and try making changes. Revamp a zone. I did this with Splitpaw and GeorgeS's tools. It ain't easy. In fact it's absolutely frustrating at times.

And now imagine dozens of people crawling all over that code trying to make tweaks and changes and breaking everyone else. Because even big software houses find it incredibly hard to get automated testing working on this stuff, and EQEmu was absolutely not designed with testability in mind, lol.

Sometimes it really is a case of less is more.

branamil
11-17-2021, 01:29 PM
That's not how open source works. The person in charge of the code can approve or deny someone's submission (pull request). It's not as if it's 100 people tweaking things whenever they feel like it.

Now, open source would be a good idea because p99 seems awfully slow and quiet about their updates these days especially compared to other servers. It would also be a shame if the leads stopped caring about the server and no one else could start a new one.

Tunabros
11-17-2021, 01:35 PM
devs stopped caring about the server since the "rooted dragons incident"

Jibartik
11-17-2021, 02:02 PM
Like most things, if you build it they will come. Like the UI :o

I made it for me but hoped that if it was quality that they would take it, it was a gamble and it payed off!

Im very happy that we got it in <3 But it was a labor of love for me anyway.

God I love supply and demand.

Jimjam
11-17-2021, 05:01 PM
Like most things, if you build it they will come. Like the UI :o

I made it for me but hoped that if it was quality that they would take it, it was a gamble and it payed off!

Im very happy that we got it in <3 But it was a labor of love for me anyway.

God I love supply and demand.

Yes! Big up yourself!

azxten
11-17-2021, 08:53 PM
That's not how open source works. The person in charge of the code can approve or deny someone's submission (pull request). It's not as if it's 100 people tweaking things whenever they feel like it.

Now, open source would be a good idea because p99 seems awfully slow and quiet about their updates these days especially compared to other servers. It would also be a shame if the leads stopped caring about the server and no one else could start a new one.

Yeah that has been my gripe with P99. I've offered to fix things and write code but the answer is basically "if you care enough you'll figure it out and make a bug report and show us the code changes" or something along those lines. It has also been said "YOU try writing C++ code, it's not easy!" or whatever. So you're basically left to go spend your time making EQEmu changes that may not even be transferable to P99, then you have a bug report and hope someone responds, etc. Except it's obvious that isn't how it works. It's more like you need to go hang out on IRC or Discord or whatever and buddy buddy with people and all that bullshit if you ever want a chance to contribute or even worse go through the Guide program doing tedious bullshit. This is based on anecdotes I've read.

There are hundreds of developers who play on P99 and would contribute but there is no contribution process. Everything is tightly held and controlled for seemingly no reason. For example I make a "bug forum" suggestion that maybe in the year of our Lord 2021 we should be using a bug TRACKER not a bug FORUM for tracking P99 bugs. That way people aren't resubmitting bugs and finding out there is a 3 year old bug report with the same info and no one has anything to say about why it isn't getting fixed. Is it too hard to fix? Not enough proof it needs to be fixed? Nothing. The community gets no input on what bugs are bothering them or even insight into what bugs exist and why they aren't fixed. Is there any response to the bug tracker idea? No. Is there any response to the vast majority of bugs in the bug forum that have evidence? No.

Everyone wouldn't be just arbitrarily making code changes. You fork the code, make your changes, prove they're good and submit it for merge into the master branch reviewed by Nilbog, Rogean, lead devs, etc. This INCLUDES data, zone files, and anything else which can also be managed by versioning tools in this same way.

It seems the only reason this isn't being done is because the information is "secret" but why exactly? Obviously it's their choice but why? Everyone on P99 is known and rehashed now. The project is basically stale. Also a lot of the value on P99 is whatever system they have setup to recreate the patches along classic timeline. That whole part doesn't need to be made public to allow the army of nerds who play here to improve the mechanics, quests, etc.

Like I said it seems rather strange because P99 will die eventually either from stagnating due to this kind of ridiculously slow progress or legal reasons. If the goal is to recreate classic EQ things would be coming along a lot better if people were encouraged to contribute and community was leveraged to help rather than told to wait endlessly.

Here is how you contribute to P99, this one post has all the info from 12 years ago:

https://www.project1999.com/forums/showthread.php?t=6897

I following that process and proposed revised code in the channeling bug reports thread and got no response. Even if my code is absolute shit for whatever reason a, "Hey, thanks for following the intended process and trying to help submit a code change, your code is shit though, better luck next time." would be nice.

I don't do that because I KNOW it's just ignored. There is this constant lamentation of the lack of help, there are only a few devs, they're volunteers, blah blah blah, but the only effort towards allowing community contribution is a 12 year old bug forum post that is frankly obvious bullshit and is not how you go about becoming an approved developer or getting changes made.

As an side when I reverse engineered the spells file to prove we could change spell effects that was eventually included but why? Things are so arbitrarily chosen for even minimal response. What is the incentive to put in the effort? The spells file change actually took me minimal effort, I put more time into researching the channeling issue, reviewing the code, and talking to others in the bug thread about it. Why bother when it's so unclear if your work will ever get even a passing mention from someone who can use it?

Jibartik talks about UI changes and even mentions "it was a gamble", it shouldn't be a gamble that you invest time in changes and just have to hope it's considered. He even mentions he made it for himself. Well, I can't make channeling source code changes for myself and hope it pays off. There is no use for the work if it just gets ignored. If I'm going to make channeling source changes "for myself" that means I might as well scrape the P99 data and just recreate everything myself and not even bother trying to contribute anything. That is the level of commitment, to me, that I'd have to make for it to be worth it to make any changes that can't be applied without P99 staff otherwise it's just wasted effort like 90% of the bug forum posts which are ignored for years.

P99 is great but man is this shit frustrating and seemingly dumb as fuck. We would have a 10x better server if we got a better contribution pipeline than a 12 year old bug forum post that isn't true.

starkind
11-17-2021, 08:59 PM
Yeah that has been my gripe with P99. I've offered to fix things and write code but the answer is basically "if you care enough you'll figure it out and make a bug report and show us the code changes" or something along those lines. It has also been said "YOU try writing C++ code, it's not easy!" or whatever. So you're basically left to go spend your time making EQEmu changes that may not even be transferable to P99, then you have a bug report and hope someone responds, etc. Except it's obvious that isn't how it works. It's more like you need to go hang out on IRC or Discord or whatever and buddy buddy with people and all that bullshit if you ever want a chance to contribute or even worse go through the Guide program doing tedious bullshit. This is based on anecdotes I've read.

There are hundreds of developers who play on P99 and would contribute but there is no contribution process. Everything is tightly held and controlled for seemingly no reason. For example I make a "bug forum" suggestion that maybe in the year of our Lord 2021 we should be using a bug TRACKER not a bug FORUM for tracking P99 bugs. That way people aren't resubmitting bugs and finding out there is a 3 year old bug report with the same info and no one has anything to say about why it isn't getting fixed. Is it too hard to fix? Not enough proof it needs to be fixed? Nothing. The community gets no input on what bugs are bothering them or even insight into what bugs exist and why they aren't fixed. Is there any response to the bug tracker idea? No. Is there any response to the vast majority of bugs in the bug forum that have evidence? No.

Everyone wouldn't be just arbitrarily making code changes. You fork the code, make your changes, prove they're good and submit it for merge into the master branch reviewed by Nilbog, Rogean, lead devs, etc. This INCLUDES data, zone files, and anything else which can also be managed by versioning tools in this same way.

It seems the only reason this isn't being done is because the information is "secret" but why exactly? Obviously it's their choice but why? Everyone on P99 is known and rehashed now. The project is basically stale. Also a lot of the value on P99 is whatever system they have setup to recreate the patches along classic timeline. That whole part doesn't need to be made public to allow the army of nerds who play here to improve the mechanics, quests, etc.

Like I said it seems rather strange because P99 will die eventually either from stagnating due to this kind of ridiculously slow progress or legal reasons. If the goal is to recreate classic EQ things would be coming along a lot better if people were encouraged to contribute and community was leveraged to help rather than told to wait endlessly.

Here is how you contribute to P99, this one post has all the info from 12 years ago:

https://www.project1999.com/forums/showthread.php?t=6897

I following that process and proposed revised code in the channeling bug reports thread and got no response. Even if my code is absolute shit for whatever reason a, "Hey, thanks for following the intended process and trying to help submit a code change, your code is shit though, better luck next time." would be nice.

I don't do that because I KNOW it's just ignored. There is this constant lamentation of the lack of help, there are only a few devs, they're volunteers, blah blah blah, but the only effort towards allowing community contribution is a 12 year old bug forum post that is frankly obvious bullshit and is not how you go about becoming an approved developer or getting changes made.

Bro, look, lookatchu bro, BRO.

Like, bro, do you even code Bro!?

Elrood
11-17-2021, 09:36 PM
Just out of curiosity, what language is EQ's code written in? I think once I heard Perl?

azxten
11-17-2021, 09:58 PM
I'm going through this retarded EQEmu installer process again just to validate if channeling is client side or not. It's 2021 maybe we should just have an EQEmu docker container so no one has to install this again. One docker command and your server is up on the Loginserver.

I have a feeling I'm going to find out that channeling is NOT on the client side and that has been a red herring the entire time made up by a random no life Enchanter who shall remain nameless.

azxten
11-17-2021, 11:04 PM
https://github.com/dbsanfte/eqemu-server-docker

Dolalin's eqemu Docker image home. Builds a standalone Docker image of the EQEmu Server.

True EverQuest hero.

starkind
11-18-2021, 09:23 AM
In 2021 you have p99 wiki
And three live servers.

P99 didn't have that.

starkind
11-18-2021, 09:28 AM
I'm going through this retarded EQEmu installer process again just to validate if channeling is client side or not. It's 2021 maybe we should just have an EQEmu docker container so no one has to install this again. One docker command and your server is up on the Loginserver.

I have a feeling I'm going to find out that channeling is NOT on the client side and that has been a red herring the entire time made up by a random no life Enchanter who shall remain nameless.
Also thanks for this. It's possible to get it fixed still maybe :p

Why not just ctrl F emu source for channeling code tho? No need to install and execute except to test.

azxten
11-18-2021, 12:31 PM
Also thanks for this. It's possible to get it fixed still maybe :p

Why not just ctrl F emu source for channeling code tho? No need to install and execute except to test.

I already did that but a scared Enchanter claimed it's because the client code somehow has an issue with modified server side channeling code which is somewhat plausible. In the absence of any staff feedback I figure I'll go verify if that is true or not.

It will also make for a better timeline of how broken bug reports and contributions are...

1. Create bug report to research issue.
2. Gather evidence and prove something isn't classic.
3. Propose code change per contribution guidelines and get ignored by developers.
4. Argue with other people on forums who are scared about getting nerfed.
5. Stand up server to validate potentially misleading claims from scared players due to still being ignored by developers.
<-- You are here.
6. Prove you were misled by randos on forum and have now wasted hours, day, weeks, eons of your time and are still being ignored by developers.
7. Create new bug report about the bug report process.
8. Get channeling nerfed.
9. Laugh as people can't level past 20 anymore because the game gets too difficult and the entire "raid scene" collapses simply due to a lack of high level players until people catch up in Velious.

starkind
11-18-2021, 12:44 PM
I already did that but a scared Enchanter claimed it's because the client code somehow has an issue with modified server side channeling code which is somewhat plausible. In the absence of any staff feedback I figure I'll go verify if that is true or not.

It will also make for a better timeline of how broken bug reports and contributions are...

1. Create bug report to research issue.
2. Gather evidence and prove something isn't classic.
3. Propose code change per contribution guidelines and get ignored by developers.
4. Argue with other people on forums who are scared about getting nerfed.
5. Stand up server to validate potentially misleading claims from scared players due to still being ignored by developers.
<-- You are here.
6. Prove you were misled by randos on forum and have now wasted hours, day, weeks, eons of your time and are still being ignored by developers.
7. Create new bug report about the bug report process.
8. Get channeling nerfed.
9. Laugh as people can't level past 20 anymore because the game gets too difficult and the entire "raid scene" collapses simply due to a lack of high level players until people catch up in Velious.

very valid point, its a lot of work to test things, so i applauded you for that.

genuinely!

Pringles
11-18-2021, 09:46 PM
snip

You should hit up New Age Soldier and snag a copy of the EQClassic source that the TAKP team updated to not use ancient eqemu code. Probably a fun project if you are thirsty for classic content and have the chops.

edit: or hit up the lantern eq guy and see if he needs assistance

starkind
11-18-2021, 10:17 PM
Yep takp has a pretty solid database available to public?

Dolalin
11-19-2021, 03:35 AM
https://github.com/dbsanfte/eqemu-server-docker



True EverQuest hero.

Lol you found it. My Splitpaw test server uses that.

azxten
11-20-2021, 02:33 PM
Where is the peq database these days? http://peqtgc.com/ is down

Dolalin
11-20-2021, 04:38 PM
Those seem to have moved here:

http://db.projecteq.net/

I updated the steps on my git archive with the new file paths, let me know if it still works properly.

azxten
11-20-2021, 08:39 PM
Thanks, worked well

From Ubuntu 20 VM:

# Install necessary packages

sudo apt update
sudo apt install openssh-server docker docker.io docker-compose wget git
sudo systemctl start sshd
sudo systemctl start docker
sudo systemctl start containerd
sudo systemctl enable ssh
sudo systemctl enable docker
sudo systemctl enable containerd

# Setup directories and clone git repo

mkdir eqemu
sudo mkdir -p /home/eqemu/shared; sudo chown -R doc. /home/eqemu
git clone https://github.com/dbsanfte/eqemu-server-docker.git
mv eqemu-server-docker/conf/* /home/eqemu/

# Download PEQ database, EQEmu .sql files, and extract/move into place

wget http://db.projecteq.net/latest -O /home/doc/eqemu/peq_dump.zip
wget https://raw.githubusercontent.com/EQEmu/Server/master/loginserver/login_util/login_schema.sql -O /home/doc/eqemu/login_schema.sql
unzip eqemu/peq_dump.zip -d eqemu; mv eqemu/login_schema.sql eqemu/peq-dump/

# Start mariadb docker instance mapping port 3306 on VM to 3306 on Docker instance, volume mount /home/doc/eqemu to /var/lib/mysql to retain database through instance restarts, set database login credentials

docker run --detach --name eqemu-mariadb --restart always -p 3306:3306 -v /home/doc/eqemu:/var/lib/mysql --env MARIADB_USER=eqemu-user --env MARIADB_PASSWORD=P99Channeling --env MARIADB_ROOT_PASSWORD=P99Channeling mariadb:latest

# Initalize mariadb database with .sql files

mysql -h 127.0.0.1 -uroot -pP99Channeling -e "create database peq;"; mysql -h 127.0.0.1 -uroot -pP99Channeling peq < /home/doc/eqemu/peq-dump/create_tables_content.sql; mysql -h 127.0.0.1 -uroot -pP99Channeling peq < /home/doc/eqemu/peq-dump/create_tables_player.sql; mysql -h 127.0.0.1 -uroot -pP99Channeling peq < /home/doc/eqemu/peq-dump/login_schema.sql

# Customize /home/eqemu/.conf files

cd /home/eqemu/; ls

# Edit these files as needed, set zone=X to number of zone servers, set MySQL password in eqemu_config.json, edit "CHANGEME" lines, set loginserver to 127.0.0.1 for localhost login server

docker-compose up -d --scale zone=1

# After docker-compose up finishes, monitor logs for finish of database update script
# while true; do docker logs eqemu_world_1 | tail -n 20; sleep 10; clear; done
# Ctrl+C to stop

docker logs eqemu_world_1

# Once database update script finishes

docker-compose down; docker-compose up -d --scale zone=10

# Your EQEmu / PEQ server is ready to login
# Login accounts are stored in login_accounts table, created upon login attempt to local loginserver
# Login server sends client to world server sends client to zone server, check your client can reach the IP specified in eqemu_config.json, containers can reach 127.0.01 but client can not, use VM external IP instead

Probably missing something but figured this might be helpful to someone. How to stand up a Ubuntu 20 VM as a stand alone EQEmu server with PEQ database using Dolalin's eqemu-server-docker images.

https://imgur.com/VTspf0z.png

Next episode I'll rebuild with altered channeling code and test.

Jimjam
11-20-2021, 08:50 PM
Inspirational!

starkind
11-20-2021, 09:10 PM
1337

cd288
11-23-2021, 12:11 PM
Yes they'll totally do this because you posted about it after they have countless times said they wouldn't. A+ post

azxten
11-25-2021, 01:55 AM
Yes they'll totally do this because you posted about it after they have countless times said they wouldn't. A+ post

I have received word from on high. Sir Nilbog has blessed my work. Your Enchanter will be nerfed soon. I'm already graphing channeling equations to maximize your tears.

Jimjam
11-25-2021, 07:11 AM
I have received word from on high. Sir Nilbog has blessed my work. Your Enchanter will be nerfed soon. I'm already graphing channeling equations to maximize your tears.

While tears false do
print ("your concerntration has been broken")
Wait (0.01)
End

azxten
12-04-2021, 08:05 PM
It is done...

https://www.project1999.com/forums/showthread.php?p=3395356

1. Create bug report to research issue.
2. Gather evidence and prove something isn't classic.
3. Propose code change per contribution guidelines and get ignored by developers.
4. Argue with other people on forums who are scared about getting nerfed.
5. Stand up server to validate potentially misleading claims from scared players due to still being ignored by developers.
6. Prove you were misled by randos on forum and have now wasted hours, day, weeks, eons of your time and are still being ignored by developers.
<-- You are here.
7. Create new bug report about the bug report process.
8. Get channeling nerfed.
9. Laugh as people can't level past 20 anymore because the game gets too difficult and the entire "raid scene" collapses simply due to a lack of high level players until people catch up in Velious.

Jibartik
12-04-2021, 08:29 PM
Alright azxten well done! I dont know what you did but I am happy you did it!

cd288
12-05-2021, 04:11 PM
I have received word from on high. Sir Nilbog has blessed my work. Your Enchanter will be nerfed soon. I'm already graphing channeling equations to maximize your tears.

Except I never disagreed with you that channeling wasn’t classic on P99…

JDFriend99
12-05-2021, 04:34 PM
Yeah that has been my gripe with P99. I've offered to fix things and write code but the answer is basically "if you care enough you'll figure it out and make a bug report and show us the code changes" or something along those lines. It has also been said "YOU try writing C++ code, it's not easy!" or whatever. So you're basically left to go spend your time making EQEmu changes that may not even be transferable to P99, then you have a bug report and hope someone responds, etc. Except it's obvious that isn't how it works. It's more like you need to go hang out on IRC or Discord or whatever and buddy buddy with people and all that bullshit if you ever want a chance to contribute or even worse go through the Guide program doing tedious bullshit. This is based on anecdotes I've read.

There are hundreds of developers who play on P99 and would contribute but there is no contribution process. Everything is tightly held and controlled for seemingly no reason. For example I make a "bug forum" suggestion that maybe in the year of our Lord 2021 we should be using a bug TRACKER not a bug FORUM for tracking P99 bugs. That way people aren't resubmitting bugs and finding out there is a 3 year old bug report with the same info and no one has anything to say about why it isn't getting fixed. Is it too hard to fix? Not enough proof it needs to be fixed? Nothing. The community gets no input on what bugs are bothering them or even insight into what bugs exist and why they aren't fixed. Is there any response to the bug tracker idea? No. Is there any response to the vast majority of bugs in the bug forum that have evidence? No.

Everyone wouldn't be just arbitrarily making code changes. You fork the code, make your changes, prove they're good and submit it for merge into the master branch reviewed by Nilbog, Rogean, lead devs, etc. This INCLUDES data, zone files, and anything else which can also be managed by versioning tools in this same way.

It seems the only reason this isn't being done is because the information is "secret" but why exactly? Obviously it's their choice but why? Everyone on P99 is known and rehashed now. The project is basically stale. Also a lot of the value on P99 is whatever system they have setup to recreate the patches along classic timeline. That whole part doesn't need to be made public to allow the army of nerds who play here to improve the mechanics, quests, etc.

Like I said it seems rather strange because P99 will die eventually either from stagnating due to this kind of ridiculously slow progress or legal reasons. If the goal is to recreate classic EQ things would be coming along a lot better if people were encouraged to contribute and community was leveraged to help rather than told to wait endlessly.

Here is how you contribute to P99, this one post has all the info from 12 years ago:

https://www.project1999.com/forums/showthread.php?t=6897

I following that process and proposed revised code in the channeling bug reports thread and got no response. Even if my code is absolute shit for whatever reason a, "Hey, thanks for following the intended process and trying to help submit a code change, your code is shit though, better luck next time." would be nice.

I don't do that because I KNOW it's just ignored. There is this constant lamentation of the lack of help, there are only a few devs, they're volunteers, blah blah blah, but the only effort towards allowing community contribution is a 12 year old bug forum post that is frankly obvious bullshit and is not how you go about becoming an approved developer or getting changes made.

As an side when I reverse engineered the spells file to prove we could change spell effects that was eventually included but why? Things are so arbitrarily chosen for even minimal response. What is the incentive to put in the effort? The spells file change actually took me minimal effort, I put more time into researching the channeling issue, reviewing the code, and talking to others in the bug thread about it. Why bother when it's so unclear if your work will ever get even a passing mention from someone who can use it?

Jibartik talks about UI changes and even mentions "it was a gamble", it shouldn't be a gamble that you invest time in changes and just have to hope it's considered. He even mentions he made it for himself. Well, I can't make channeling source code changes for myself and hope it pays off. There is no use for the work if it just gets ignored. If I'm going to make channeling source changes "for myself" that means I might as well scrape the P99 data and just recreate everything myself and not even bother trying to contribute anything. That is the level of commitment, to me, that I'd have to make for it to be worth it to make any changes that can't be applied without P99 staff otherwise it's just wasted effort like 90% of the bug forum posts which are ignored for years.

P99 is great but man is this shit frustrating and seemingly dumb as fuck. We would have a 10x better server if we got a better contribution pipeline than a 12 year old bug forum post that isn't true.

And I'm yelled at when I post? Way to write a book. It's a game let's not forget that. If it's here great, if not who cares.

azxten
12-05-2021, 06:33 PM
Except I never disagreed with you that channeling wasn’t classic on P99…

I'm just messing with you but you did say that you thought staff said channeling can't be fixed because it's a client issue and you've adamantly fought against all bug reports involving Enchanters. Come on, you know.

And I'm yelled at when I post? Way to write a book. It's a game let's not forget that. If it's here great, if not who cares.

When 500ish words becomes a book the world is in trouble and it does seem the world is in trouble. You probably use Twitter too. It is a game, one I enjoy, and one I want to be able to continue to enjoy in the future. If you think this is a book you definitely wouldn't enjoy my last bug report on the bug report process. I can write like that and read content like that with ease, sorry you and many others can't but in most cases the subject matter would be beyond you anyway. I'm not going to Twitterfy my posts for dumb or uncaring people so they can more easily dismiss my ideas. Better that you just admit you can't or won't read it.

1. Create bug report to research issue.
2. Gather evidence and prove something isn't classic.
3. Propose code change per contribution guidelines and get ignored by developers.
4. Argue with other people on forums who are scared about getting nerfed.
5. Stand up server to validate potentially misleading claims from scared players due to still being ignored by developers.
6. Prove you were misled by randos on forum and have now wasted hours, day, weeks, eons of your time and are still being ignored by developers.
7. Create new bug report about the bug report process.
<-- You are here.
8. Get channeling nerfed.
9. Laugh as people can't level past 20 anymore because the game gets too difficult and the entire "raid scene" collapses simply due to a lack of high level players until people catch up in Velious.

Still progressing. Now it's in the staff's hands. Either P99 is trying to recreate classic and/or values community contribution to expedite that or it isn't. It's never too late to get things back on track and stop catering to care bear WoW raiders who want WoWQuest99 with the LawyerQuest expansion while lying to themselves that they're playing classic EQ.

cd288
12-05-2021, 08:32 PM
I'm just messing with you but you did say that you thought staff said channeling can't be fixed because it's a client issue and you've adamantly fought against all bug reports involving Enchanters. Come on, you know.

Yeah because you have no evidence of anything beyond channeling. And some people had said the client issue thing a couple years back when channeling was brought up so I figured they were correct. Maybe the devs have figured it out.

jerryR
12-05-2021, 08:59 PM
I can't imagine for any reason letting someone like this contribute to the project.

azxten
12-06-2021, 12:03 AM
I can't imagine for any reason letting someone like this contribute to the project.

Too late my contributions are already in the files you download because I can reverse engineer a file and change the way your spells look and map out how to control effects using a hex editor and you and most other people including developers can't.

https://en.wikipedia.org/wiki/Bus_factor

The "bus factor" is the minimum number of team members that have to suddenly disappear from a project before the project stalls due to lack of knowledgeable or competent personnel.

The expression "hit by a bus" describes a person either dying or more generally disappearing suddenly from the project. It is used to describe hypothetical future disappearances in a darkly humorous way. Team members do not literally have to get "hit by a bus" for the "bus factor" to apply—any number of events could occur in which a team member could be suddenly and substantially prevented from working on the project. This could include a person taking a new job, going on parental leave, or changing lifestyle or life status.

For instance, say a team of 30 people produces bread in three necessary steps: mixing ingredients, kneading the dough, and baking. Ten people know how to mix ingredients, all 30 people know how to knead the dough, and 5 people know how to bake. If all 5 people who know how to bake disappear, then the team cannot produce bread, so the team's bus factor is 5.

There is a rare alternative definition for the bus factor, namely: the number of people who are indispensable for the project.[2] In other words, it is the minimum number of people who are a single point of failure. If using this definition, then a high bus factor is considered a bad thing (since the loss of any person included destroys the project), and zero is considered the ideal bus factor.

Don't worry bro I make the big bucks because I can imagine so that people like you don't have to hurt your brains.

Fammaden
12-06-2021, 10:10 AM
ITT: plat farming enchanters terrified of losing their monthly rent money.

jerryR
12-06-2021, 12:22 PM
Too late my contributions are already in the files you download because I can reverse engineer a file and change the way your spells look and map out how to control effects using a hex editor and you and most other people including developers can't.

I'm not saying that because I think you're no good at what you do - just you seem more motivated in trolling people than making the game better, as evidenced by all of your posts trying to piss people off. That is why I would view any contributions in a dubious light, because the motivations seem a bit off

azxten
12-06-2021, 01:06 PM
I'm not saying that because I think you're no good at what you do - just you seem more motivated in trolling people than making the game better, as evidenced by all of your posts trying to piss people off. That is why I would view any contributions in a dubious light, because the motivations seem a bit off

Yeah I suppose you're right, I do love to troll people. If I can troll people and make P99 more classic though it's a win win.

My motivation is actually just that I enjoy P99 but one day I was sitting around considering how boring groups were and how it was because of OP Enchanters that weren't like that in classic which was fine but then I figured out channeling seemed to be part of that. Then no matter what caster alt I played, grouped or solo, when I casted gate through 5 mobs hitting me I would just think, "This isn't fucking classic." Ruined my immersion and I'd like to get it back.

I remember trying to solo blue mobs at level 20 and being unable to cast root after 10 tries and dying and getting so mad I wanted to throw my computer through the window. I want that back.

Danth
12-06-2021, 05:34 PM
I remember trying to solo blue mobs at level 20 and being unable to cast root after 10 tries and dying and getting so mad I wanted to throw my computer through the window. I want that back.

That's kind of what some folks are worried about: Someone remembers a singular worst-case scenario and programs an overdone system that kind of breaks the game. This has has happened before on P99 so its not an unreasonable concern. Not to mention there's always the possibility of unintended glitches--see how we're presently missing velious textures on Blue. You know that wasn't deliberate and you probably appreciate more than I do that the codebase is a twisted mess.

From the programming side you're stuck between a rock and a hard place. You put it out there to test openly, you'll have the same crowd who were pinky-swearing that everything was fine back when charm lasted full duration every time telling you it's broken no matter how well its done because they like being overpowered. On the other hand, if something's off, with P99's present low patch rate we could be stuck with "off" for a very long time indeed. Gone are the days when we had the luxury of frequent patches and daily interaction with the admins, so it's more critical for stuff to be done right the first time. Look at the "classic night"--it has some problems which haven't been touched in over two years now, and might never be. Your efforts in the other thread at trying to address P99's contribution system effectively tie into that problem to some extent so I know you're aware of it. Feels like a case of damned if you do, damned if you don't.

Do you have the ability to decompile a PC client yourself? The older PC clients are still out there, especially the 2001-production Trilogy client which represents the specific era P1999 seeks to emulate.

Danth

azxten
12-07-2021, 02:07 AM
On the other hand, if something's off, with P99's present low patch rate we could be stuck with "off" for a very long time indeed. Gone are the days when we had the luxury of frequent patches and daily interaction with the admins, so it's more critical for stuff to be done right the first time. Look at the "classic night"--it has some problems which haven't been touched in over two years now, and might never be.

I was thinking I might just make a poll asking people what they want fixed. It's one of the things I've seen out of talking about the channeling changes. Lots of people saying, "Why are you doing that instead of X?" The answer is because fixing channeling was important to me but I'm apparently in the minority who want a more difficult experience. It's always surprised me the staff never asks players what is bothering them to include player enjoyment in prioritizing bugs. I just expect P99 to function too much like a traditional commercial software product I guess.

Do you have the ability to decompile a PC client yourself? The older PC clients are still out there, especially the 2001-production Trilogy client which represents the specific era P1999 seeks to emulate.

Yeah, where are they? I don't know that I really want to though. I try not to use banned lingo but I used to make cheats during live so I'm very familiar with reverse engineering EQ but I'm also really bored of it. I bet there are some cutting edge toolkits that could reveal some interesting things.

mischief419
12-10-2021, 11:38 AM
It would be cool if P99 open sourced their code and data to allow long standing issues to be resolved more effectively. As P99 was built on open source software it would be nice to give back to the community that built the emulator upon which the majority of functionality is based.

Yeah I mean - just because it's open source doesn't mean anyone will have access to push the code. Just do pull requests. I mean this is a free, unpaid volunteer project - it only makes sense to allow the community to contribute back. It's a win-win. There are pretty much no "secrets" and the ones that are secret, the community deducted already to about 99% accuracy to the point where it doesn't matter. Contributions and open src > cons.

It's ALREADY based on open source code anyway.

mischief419
12-10-2021, 11:50 AM
...actually, it's GPL3 licensed. If you ask for the source code, they are supposed to pass it along: https://www.gnu.org/licenses/gpl-3.0.en.html

I was curious because I know there's no way Daybreak would MIT license the code - and if they ever wanted to use what was made as a template, they (or anyone - eg, this thread), could simply ask for src and it should theoretically be provided, according to GPL3.

loramin
12-10-2021, 11:52 AM
...actually, it's GPL3 licensed. If you ask for the source code, they are supposed to pass it along: https://www.gnu.org/licenses/gpl-3.0.en.html

I was curious because I know there's no way Daybreak would MIT license the code.

Holy crap, I never realized this. While R&N do not have to publish the database, they do have a legal obligation to publish the P99 source code, because it's based on a GPL3 project!

Any lawyer could take them to court over that contract breach if they don't remedy it.

mischief419
12-10-2021, 12:00 PM
Yea minus the db - but the src + modified code, from what I read. Someone [crazy] could even fork it and make a Luclin server based off classic~ and that would be gpl3'd too. Or finally make a deserving "Red" server if they think people would join. The possibilities are endless.

However, most of all, I hope they would honor gpl3 and just simply let us fix bugs and such.

Gustoo
12-10-2021, 12:05 PM
Proper pvp happens at every level besides level 60, where the game ends. Just a heads up.

The database is what P99 took great pains to correct to classic.

I wonder about the rest, though.

Dolalin
12-10-2021, 04:21 PM
I was thinking I might just make a poll asking people what they want fixed. It's one of the things I've seen out of talking about the channeling changes. Lots of people saying, "Why are you doing that instead of X?" The answer is because fixing channeling was important to me but I'm apparently in the minority who want a more difficult experience. It's always surprised me the staff never asks players what is bothering them to include player enjoyment in prioritizing bugs. I just expect P99 to function too much like a traditional commercial software product I guess.



Yeah, where are they? I don't know that I really want to though. I try not to use banned lingo but I used to make cheats during live so I'm very familiar with reverse engineering EQ but I'm also really bored of it. I bet there are some cutting edge toolkits that could reveal some interesting things.

My GitHub archive has several eqgame exe's from in era patches I found on Wayback. Pick one:

https://github.com/dbsanfte/eq-archives/tree/master/eq-patches

azxten
12-11-2021, 03:33 AM
Thanks, looking at the March 2000 client.

*Jaws music fades in*

https://i.imgur.com/90qFVi9.png

https://i.imgur.com/RWRTpDo.png

https://i.imgur.com/wwr6CXh.png

Mostly just naming functions for now because it makes it easy to see how they relate. I reverse engineered the same channeling code which is nice to confirm. Probably best to start on examining the Charm function. Good thing there is a string to decode, "SpellAndSkillMessage((char)uVar4,s_Target_Too_High _level_for_your_charm_005a8b14,0xd);", that way I can identify and focus directly on the Charm function.

*Jaws music reaching its' crescendo*

Kind of blows my mind looking at those two function graphs. One is Charm, the other is CastingRequirementsMet which has a ton of stuff in there reagents, movement, channeling, checks for things like if you're unconscious, everything. The Charm function is more complex though. In that Charm function graph the green box is the main function entry point and the gold circled box is where the message gets output "your target is too high for your charm." I mean look at all that shit, it's hilarious, for one spell.

Thankfully with advances in reverse engineering tools provided by the NSA via Ghidra we might finally get some insight into the classic client. I was able to find developer comments that allow for determining the function names. They used a general error message format like, "My shit broke in CastingRequirementsMet()!" and through some comparison of those comments and the functions they are contained within a large valuable portion of the client functions can be named definitively which should be enough to go on to tie things together. As functions are identified via this methodology and other ways they fill in the blanks among the other functions that call those functions so things becoming increasingly obvious and easier to figure out.

Danth
12-11-2021, 04:13 AM
I reverse engineered the same channeling code which is nice to confirm.

Thanks. That's good to know, both for channeling, and as an initial litmus test for similarity between the two clients more generally. March 2000 means you're using a client from either the tail end of classic or from kunark beta depending on where it came from. That almost looks fun. Farthest I ever got as a hobbyist was hex-editing stuff like DooM ~25-odd years ago and the tools back then were somewhat lacking.

Danth

starkind
12-11-2021, 07:46 AM
This is big.

Azxten is a god damned big brained super hero. Maybe not the one we deserve or want. He's likely too good for us. The kind we need desperately though.

Swish
12-11-2021, 08:16 AM
Imagine just logging in and having fun.

Jimjam
12-11-2021, 10:15 AM
This is big.

Azxten is a god damned big brained super hero. Maybe not the one we deserve or want. He's likely too good for us. The kind we need desperately though.

He’s more of an antihero but ya!

Jimjam
12-11-2021, 10:16 AM
Imagine just logging in and having fun.


NOT
CLASSIC

starkind
12-11-2021, 10:47 AM
I can imagine a few people for who'm decompiling might actually be fun for based on experiences ive had of other ppl

Dolalin
12-11-2021, 12:45 PM
I tried decompiling them myself but my C++ is rusty as fuck. Good to see you're making progress azxten.

azxten
12-11-2021, 03:30 PM
NOT
CLASSIC

Pretty much. I want to login and not have fun. I'd like to come home from school, login, be unable to get a group for an hour, finally get an invite "if I can make it down", die from a mob spawning on me while I try to cast root over and over and a group is standing right there watching, I say, "Please help?" but they don't care, finally I get my root cast off but its resisted, "FUCKING HELP" I yell, but still they don't care, I get another root cast off and it lands, yes! I back up and consider if I should just gate and run back here for another hour, I bet I can solo this one blue mob, right? Oh no! My root broke already, the group comes and hits the mob once right as I die. I spent an hour running back anyway and have lost 4 hours of experience.

I collect my shit, dying another time in the process from a sand giant on the other side of a zone line who kills me before I even finish loading, and decide I might as well just go solo. I run around for another 2 hours finding that all the hot solo spots are taken before I decide to try a new spot of my own creation. I die again when I almost killed the mob but things looked a bit iffy and I decided to risk it only to try running to the nearby safe zone line but right I as reach it I get hit again and my run speed slows to a walk. I'm side strafing and jumping and oh no! I went THROUGH the zone but it didn't zone me! I die on the other side of the zone line in a dead end cave I'm not supposed to be able to see.

I get a tell, someone wants me to join the group back in that dungeon, yes! I tell them I'll be there in 2 hours after I get my corpse and run back. I get there and the group is gone. The person that messaged me isn't even in the zone anymore. "Oh sorry I forgot" they say. I spend another hour trying to find a group and now it's 4am and I need to get ready to go back to school so I can go to bed in class. I've lost half a level. Pretty good progress for the night.

Gustoo
12-11-2021, 04:11 PM
Pretty much. I want to login and not have fun. I'd like to come home from school, login, be unable to get a group for an hour, finally get an invite "if I can make it down", die from a mob spawning on me while I try to cast root over and over and a group is standing right there watching, I say, "Please help?" but they don't care, finally I get my root cast off but its resisted, "FUCKING HELP" I yell, but still they don't care, I get another root cast off and it lands, yes! I back up and consider if I should just gate and run back here for another hour, I bet I can solo this one blue mob, right? Oh no! My root broke already, the group comes and hits the mob once right as I die. I spent an hour running back anyway and have lost 4 hours of experience.

I collect my shit, dying another time in the process from a sand giant on the other side of a zone line who kills me before I even finish loading, and decide I might as well just go solo. I run around for another 2 hours finding that all the hot solo spots are taken before I decide to try a new spot of my own creation. I die again when I almost killed the mob but things looked a bit iffy and I decided to risk it only to try running to the nearby safe zone line but right I as reach it I get hit again and my run speed slows to a walk. I'm side strafing and jumping and oh no! I went THROUGH the zone but it didn't zone me! I die on the other side of the zone line in a dead end cave I'm not supposed to be able to see.

I get a tell, someone wants me to join the group back in that dungeon, yes! I tell them I'll be there in 2 hours after I get my corpse and run back. I get there and the group is gone. The person that messaged me isn't even in the zone anymore. "Oh sorry I forgot" they say. I spend another hour trying to find a group and now it's 4am and I need to get ready to go back to school so I can go to bed in class. I've lost half a level. Pretty good progress for the night.

Shits classic gif

TheConsortium
12-11-2021, 05:06 PM
i want to skip class and tell my mom i went, then dial up the 28.8K, waiting 1 minute or longer for the initial EQ character login, listening to the hard disk drive needle chug away reading my bits as I sit another day in just a robe i got for Christmas 2 years ago.

Pecking away at the key board, I type /who all friend, and follow up with a gusto, /who all guild, before I say something witty like "Hi all" in gchat to people -- people decades older than me, who are supposed to be at work or are working allegedly.

I want to be like them. I am them.

I strengthen my primary arm and look at the flat tube that has become my WASD arm while I listen to the UPS guy and postal service man deliver mail and probably kiss girls at nighttime...

It's a long run from Qeynos to High Hold Keep to see if there are any spots in the goblin groups, but it was important I went back to train at my Guild Master. The monk guild needs me to train my body and mind so I can defend against a truly important foe - the ability to speak to another human.

I can take some time to stretch while AFK running on the West Karana shoreline .. but how am I going to learn to tinker if I'm not a gnome? Why doesn't my dad talk to me?

Someone picks up the phoneline and the screen goes black, "You have been disconnected"

Maybe a quick hot pocket will warm my belly since I don't know how to properly cook eggs until 20 years later when I see Gordon Ramsay on a strange thing called You Tubes...

Swish
12-11-2021, 06:54 PM
Pretty much. I want to login and not have fun. I'd like to come home from school, login, be unable to get a group for an hour, finally get an invite "if I can make it down", die from a mob spawning on me while I try to cast root over and over and a group is standing right there watching, I say, "Please help?" but they don't care, finally I get my root cast off but its resisted, "FUCKING HELP" I yell, but still they don't care, I get another root cast off and it lands, yes! I back up and consider if I should just gate and run back here for another hour, I bet I can solo this one blue mob, right? Oh no! My root broke already, the group comes and hits the mob once right as I die. I spent an hour running back anyway and have lost 4 hours of experience.

I collect my shit, dying another time in the process from a sand giant on the other side of a zone line who kills me before I even finish loading, and decide I might as well just go solo. I run around for another 2 hours finding that all the hot solo spots are taken before I decide to try a new spot of my own creation. I die again when I almost killed the mob but things looked a bit iffy and I decided to risk it only to try running to the nearby safe zone line but right I as reach it I get hit again and my run speed slows to a walk. I'm side strafing and jumping and oh no! I went THROUGH the zone but it didn't zone me! I die on the other side of the zone line in a dead end cave I'm not supposed to be able to see.

I get a tell, someone wants me to join the group back in that dungeon, yes! I tell them I'll be there in 2 hours after I get my corpse and run back. I get there and the group is gone. The person that messaged me isn't even in the zone anymore. "Oh sorry I forgot" they say. I spend another hour trying to find a group and now it's 4am and I need to get ready to go back to school so I can go to bed in class. I've lost half a level. Pretty good progress for the night.

That's the spirit :)

Shac
12-11-2021, 06:56 PM
Thanks, looking at the March 2000 client.

*Jaws music fades in*

https://i.imgur.com/90qFVi9.png

https://i.imgur.com/RWRTpDo.png

https://i.imgur.com/wwr6CXh.png

Kind of blows my mind looking at those two function graphs. One is Charm, the other is CastingRequirementsMet which has a ton of stuff in there reagents, movement, channeling, checks for things like if you're unconscious, everything. The Charm function is more complex though. In that Charm function graph the green box is the main function entry point and the gold circled box is where the message gets output "your target is too high for your charm." I mean look at all that shit, it's hilarious, for one spell.

Thankfully with advances in reverse engineering tools provided by the NSA via Ghidra we might finally get some insight into the classic client. I was able to find developer comments that allow for determining the function names. They used a general error message format like, "My shit broke in CastingRequirementsMet()!" and through some comparison of those comments and the functions they are contained within a large valuable portion of the client functions can be named definitively which should be enough to go on to tie things together. As functions are identified via this methodology and other ways they fill in the blanks among the other functions that call those functions so things becoming increasingly obvious and easier to figure out.

this is neat, can we have a thread about more of this stuff, or a blog post of your development/insight

AenorVZ
12-14-2021, 03:51 AM
Everything is tightly held and controlled for seemingly no reason.

Everything is tightly held and controlled for perfectly sound reasons. I'm not going to rehash those here but dm me your discord user info if you'd like to discuss further.

P99 is great but man is this shit frustrating and seemingly dumb as fuck. We would have a 10x better server if we got a better contribution pipeline than a 12 year old bug forum post that isn't true.

It's fucking awesome that you want P99 to survive and thrive but these levels of mad about a 22 year old game aren't going to push things forward. Ten times better? We're pretty close to as good as it gets. I'm working through this thread and I'll have more to post later. I think 1.09 times better is a worthy goal.

Dolalin
12-14-2021, 05:23 AM
Charm is a complicated spell on the client side, because think about what the client has to do to facilitate an NPC charming a player for instance. In the classic client this disabled movement and chat controls, disabled mouse clicks for all UI elements, and put the client under control of the server for movement etc. I would fully expect Charm on the client side to be very complicated. But I would expect most of that complication to be related to NPCs charming the player.

AenorVZ
12-14-2021, 06:56 PM
I think it's pretty obvious this won't last another 10 years. Not after the way Green played out

What's wrong with the way Green played out? It's been a fantastic experience. As much as I worry about follow through on plans for a new PvP server, I think Green was quite an achievement. It's the only instance of a recreation of the classic launch experience, something that took Blizzard tens of millions of dollars to develop.

Now if your objection is to Seal Team being the only guild with access to Sleeper's Tomb (and Veeshan's Peak for almost a year before that) then your objection is with the original game design, not with Green.