[Plugin idea] Herochat Redis Bridge

Folas1337

New member
Jan 17, 2022
9
0
1
Hello everyone,

I just thought I'd throw this plugin idea of mine into the ring, perhaps someone's willing to pick it up and make it, if not I'll live with it :D

First up a few things about myself to make you understand where I'm coming from: I have a rather small server that's an absolute passion project of mine that I pretty much run out of my own pocket - not complaining, just making you understand why I might not be exactly willing to pay money for plugins or developers. There is no pay to win included, I just do what I like to do out of curiosity in the subject and I'm more about the infrastructure than the game itself which is why I can't be asked to charge any money from anyone unless they just want to support what stupid things I create. I still listen to suggestions people throw at me and try and find solutions to interesting problems. One of those "stupid things" I did recently is make my network multi proxy but since it's just a small community I like to keep people in touch with one another so I needed a global chat plugin (across all proxies) and even though I did find one, it's got some flaws that have been around for a month or two by now and I thought I could propose what my alternative idea was.

I have been using Herochat before and used its plugin messaging feature to have a chat across all servers and it worked just the way I wanted it to but with multi proxies that obviously no longer works so I have been thinking of a solution for quite some time. Unfortunately I neither have the skill nor the time to code a plugin that could satisfy what I want but I can at least explain my idea. I've got some plugins that already use Redis (including the current chat solution) so I hopefully know a bit of what I'm talking about.

The proposal: A bridging plugin between Herochat and Redis including DiscordSRV support. Discord is a big part of my community so I'd like to have that integrated as well, to keep everyone connected.

The important parts:
  • When a message is received from a server through Redis it shouldn't be forwarded to DiscordSRV as the original server will already send it to Discord. I know DiscordSRV doesn't forward cancelled chat events so perhaps that could be used to not make it forward to Discord?
  • It should be made sure that people only get messages from channels they have joined and they can only talk in channels they have permission to. Might already be dealt with thanks to Herochat, I hope.
  • I am running paper as backend servers and velocity as a proxy software

Helpful resources:

If I can be of any more help, just respond on here and I'll hopefully respond in a timely manner.
I am not in urgent need of this solution but it would make my life just so much better and it could potentially help smaller networks go multi proxy in the first place or provide them a better chat solution overall :)

To clarify, I don't mind this plugin being open source and shared freely on any other website, even making it a public, paid resource (paying once) would be absolutely fine by me. It would also be awesome if some form of maintenance and minimal support was provided if I ever find any critical issues or the plugin no longer works due to an update.

Thanks to anyone who's even gonna take their time to read this
~ Folas1337
 

Folas1337

New member
Jan 17, 2022
9
0
1
After several months of searching and not giving up (as I do :D) I have finally stumbled across ChatControl Red - it's the successor to ChatControl and still form the same developer.
It's open source, it does redis, mySQL syncing and everything I could have ever thought of really.

If anyone ever stumbles across this old thread of mine, check it out and give it a try (it costs some money but also has a 30 day money back policy). I'm currently struggling to set up redis but I'm sure with the help of their support I'll figure it out.
 

Folas1337

New member
Jan 17, 2022
9
0
1
OK, sadly it seems that one also didn't work cause ChatControl Red doesn't seem to support redis on velocity yet and they aren't really doing much about it (the project is from a volunteer, so I can't really complain).

What I have realized though is that ChatControl already has mySQL sync and all the other features, only thing missing is a bridge between it and redis and I have an idea of how to achieve that.
Use https://github.com/mcgrizzz/ProtonExamples to send messages between the backend servers and with the use of the API of ChatControl it shouldn't be too hard (I hope, once again!) https://github.com/kangarko/ChatControl-Red/wiki/API

If anyone would be able to do that, I'd be more than happy <3
 

Folas1337

New member
Jan 17, 2022
9
0
1
Forget all that, ChatControl never got back to me, I bought their plugin for nothing and the Velocity bridge is only done by a volunteer and apparently that volunteer didn't find any time within 2 months or so to even reply to my issue on GitHub, which is just lovely BUT I have finally found something that does everything I needed and wanted, at least as well as my old chat plugin did.
Carbon! https://github.com/Hexaoxide/Carbon/

Supports DiscordSRV properly, does redis, has channels, you can leave and join channels as you want, permissions are properly done and it just friccing works as it should and the devs are also really helpful and just active when you tell them about a problem - thank goodness people like these still exist! And it's even free, gosh darnit, you gotta show respect to them!

Everyone use it and love it, that's all I can say. I'm happy to have switched, there are a few things still missing that I've mentioned and I am expecting with in a month or 2 cause they're hella fast but that's all I'm going to leave here.

If you ever have the same requirements as I do, get it, set it up, be happy.

KThxBai