For what it's worth, most of the quests work fine. There's a _few_ that have issues, but the vast majority work just like they did in 2010.
The largest issue I can think of that actually impacts overall gameplay is the thread system [0]. It definitely works, but currently threat at times isn't given or reduced in the correct amounts. The most common way this manifests is Growl from Hunter pets not properly taking aggression away
The repo represents a "BlizzLike" server in its' entirety. The 640MB of SQL actually does contain all of the quests for WoW 3.3.5a.
A sibling commenter quipped about which quests are bugged and which aren't, but the reality of it is that the vast majority of quests work perfectly fine, including the quests that are heavily scripted (such as the Battle for the Undercity)
Hey, I'm on the contributor team for AzerothCore, mainly focusing on maintaining the docker images and linux build CI! Cool to see it here.
AzerothCore's "killer feature" is that it has a module system, where the game server can use C++ code to hook onto events. It's pretty slick and works quite nicely.
One of the things I've been interested in working on is setting up dynamic linking for the modules so it's easier to just download the compiled module and run it with the server instead of compiling the server with the module. The biggest problem I've run into with my implementation for that is the .so for each module ends up being on the scale of hundreds of megabytes, which seems incorrect.
I can't wrap my head on own hard it is to make such a project, what's your view from the inside, is it a massive thing ? In term of complexity, lines of codes, people involved, etc.
It's definitely not small. From a lines of code perspective, there's ~525K lines of c++, ~175K of C, and ~160K of headers for either language. There's ~4 million lines of SQL, since the entire game's database (items, quests, etc) are stored in a MySQL database.
There's a lot of people involved, and a lot of various PR's and issues in github. As with most projects, this is where it's a situation that the game is so large and there are only so many people maintaining the project and so many people testing or confirming issues.
The project is a fork of a fork of a fork, for the most part. Much of the code comes from either SunwellCore (parent), or more likely TrinityCore (grand-parent), and over the past few years since the SC fork has been maintenance and bugfixes. I don't think any of the "current" contributors wrote the code that manages the actual game world, for example. My biggest complaint, I would say, is that at times there's a lot of "well this is how we've done it in the past" as opposition to a new feature or pull request
I think I would consider AzerothCore to be as complex as a medium-large monolithic service, I'd say. That's basically what it is, since the client is "off-the-shelf". There's a lot going on in the source code, but it's generally not difficult to figure out where an issue is.
Do you know if it would be possible to create a new client and create something completely different than wow or is it fundamentally tied to wow gameplay ?
Why so you can change the timeline and seize the crown from Thrall when he invited you to join him in Durotar and you declined? Because you have my axe if you do - the Horde should have stuck to its wild roots!
Don’t need a new client to put Thrall on the throne in Stormwind.
If they can do events like Battle of Undercity, or that event where you bring in Onyxias head, I bet you could script a cool assault on Stormwind and put Thrall on the throne.
Hang some Horde banners in the walls.
What they probably can’t do is the whole phasing thing and keep him there.
A Horde assault phase that sticks around is doable if you add client modding into the mix.
The possibilities are really endless. It’s totally impractical but the thing I’d like to do is a “unified” Azeroth that treats all the continents as a concurrent whole, much as Kalimdor and Eastern Kingdoms were with the original game, instead of most continents being siloed expansion experiences.
A whole bunch of state such as this is stored in the MySQL database rather than the client/client files, so it's definitely theoretically possible to spawn an NPC of Thrall on the throne in stormwind.
It can depend - some things, like content related issues may require triaging which can take some time to do.
Testing PR's and confirming that the behavior is correct is actually one of the best things people can do to help - that's something we're always short on.
For most of the code, as long as you can justify the change, it makes sense, and it's in line with the style standard, it'll probably not be an issue
I don't think it's your fault and I don't think you're using the wrong browser.
> I should be working out the dependency story and compiling some driver from Github myself.
no, nvidia _should_ make it easier for people using the 3rd most popular desktop OS to use their hardware. It would make them more competitive against AMD and Intel, which both support hardware video decoding.
That's probably not going to happen, so the next best option is to install a package from the package manager [0]. There might be some kind of compilation needed, but in my experience that's rarely an issue (aside from time), especially if it's coming out of the package manager for a popular distribution.
> It's just not a real option for maybe 99% of PC users.
well, 99% of PC users with Nvidia hardware. It's an important distinction since this problem is specific to Nvidia. If the solution is to installing a package from the package manager, it's only as difficult as installing the browser in the first place.
I do agree there's some extra questions that may make things difficult, or unfamiliar for the vast majority of people, though. Like how is someone supposed to know they need the nvidia-vaapi-driver package anyway?
Cool, I didn't realize Runescape private servers were a thing still.
I contribute to AzerothCore[0] pretty regularly. There's a lot of improvements that could be made, but it's overall fun and the majority of people who frequent their Discord are friendly enough.
My question to this is "why go through the trouble of doing this when there's operating systems where you don't need to do a debloat step"
I realize the answer is that people use Windows because the software they use requires Windows, but it just irks me that this is the solution to not wanting a "bloated" OS.
I think that the paper on G-expressions is very well written and thus a great job at motivating the implementation. You can find the paper here: https://inria.hal.science/hal-01580582/en
The largest issue I can think of that actually impacts overall gameplay is the thread system [0]. It definitely works, but currently threat at times isn't given or reduced in the correct amounts. The most common way this manifests is Growl from Hunter pets not properly taking aggression away
[0] - https://github.com/azerothcore/azerothcore-wotlk/issues/5985