fjaros / wowchat

WoWChat is a clientless Discord integration chat bot for old versions of World of Warcraft.
GNU General Public License v3.0
139 stars 96 forks source link

Should we work to merge in forks for modded realms like TurtleWoW? #114

Closed Zebouski closed 10 months ago

Zebouski commented 10 months ago

Hey there, dunno if you've seen but I maintain a fork of wowchat for Turtlewow players. All i'm really doing in the fork is making a nice default conf file and making a few fixes: https://github.com/fjaros/wowchat/compare/master...Zebouski:WoWChat-Turtle:master

I just now saw the commit 0486f0ca7d0e6c84505c44476c1c392e85002e1f where you let us config the realm and game build separately, which is awesome, that's one less reason for me to have a fork where I was hardcoding the game build. But I also just saw 6f909e5a6105f7c4e9d6b3c8829c6cdf99cdf292 where you've actually done the work for us to add in this new chat, and I big thank you for that! I'll work to get it all set up in my fork so we can enjoy.

It begged the question, should I keep this a fork? Would you think it a good idea to bloat the main project and start accomidating turtle as well as future modded private servers that might make breaking changes like Epoch and Wallcraft, and we just have one nice big codebase? Or do you recommend we keep it up with the forks, keep our weird servers' edits separate, and I'll continue upstreaming anything that is generally applicable.

fjaros commented 10 months ago

Yeah great question, but I think we should stick to the current status quo - keeping different forks.

  1. Although it seems harmless, but adding features to support one server may inadvertently be in conflict with support for another server. For example, in the turtle case, some other server might think up to make their own "CHAT_MSG_HARDCORE" with another opcode. This example is a bit extreme but for instance examples that may very well happen are ids for different zones or opcodes for additional races/classes (this is true for turtle but also for servers like ascension). Some servers even choose to modify the login protocol like in the case of endless: https://github.com/fjaros/wowchat/issues/113
  2. Yes, if 1) is an issue, we of course could make different decisions trees in the code for each server and control it via some config flag e.g. "server_version=turtle" or "server_version=endless" but since servers end their lifecycle or die over night because some admin decided he got bullied too much on discord over crappy design decisions, I don't want to pollute the code base with implementations for impending dead servers.

So I'm in favor of keeping the main repo true to the blizzard implementation and leave the forks to.. well the forks :D

Zebouski commented 10 months ago

Thought so, I was leaning towards the same. To make sure everyone gets to the right place, would you be okay with modifying the readme?

Currently supported versions are:
* Vanilla
* The Burning Crusade
* Wrath of the Lich King
* Cataclysm (4.3.4 build 15595)
* Mists of Pandaria (5.4.8 build 18414)

Modded versions of WoW have their own custom tailored versions of wowchat:
* Ascension: https://github.com/Szyler/AscensionChat
* Turtle WoW: https://github.com/Zebouski/WoWChat-Turtle

These two forks are the only I know of at the moment, there might be others. But yeah that would be cool but yeah its up to you whether you wanna advertise others' repos or not :)

Thanks for the hard work man i love this project so much and so do all my guildies on turtle I and others host it for.

fjaros commented 10 months ago

Sounds good! Added the links to README https://github.com/fjaros/wowchat/commit/2dc41698f83359a930eb71d05bcce74cf32ca524