hypherionmc / simple-rpc-public

Simple-RPC Issues, wiki and data github
https://www.curseforge.com/minecraft/mc-mods/simple-discord-rpc/
14 stars 1 forks source link

[Suggestion] Release source code for mod #94

Closed valiray closed 2 months ago

valiray commented 3 months ago

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is: the 1.12 version of this mod no longer has support so issues are not able to be fixed

Describe the solution you'd like A clear and concise description of what you want to happen: i want the source code for the mod to be made public or at least the 1.12.2 version of the mod

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered: 1.12 could get support back but that would take extra time away from other more important issues for newer more popular versions of the game

Additional context Add any other context or screenshots about the feature request here: i saw that 4.0 is supposed to have it's source code available and i was hoping the current mod's source could be made available as i assume that 4.0 won't be on 1.12.2

hypherionmc commented 3 months ago

There are a number of reasons I can't open source the current code base as it is.

However, the v4 rewrite I am working on now, is going to be open sourced. So what I can do, is backport the code from v4 to 1.12.2, and open source that. Then whoever wants to maintain the 1.12.2 version, can do so.

That being said, a still supported, open source and developed RPC mod is CraftPresence, which does still actively support 1.12.2, and even has a built in converter, to convert our config files to their config files.

What current issues are you facing on 1.12.2? I know it is very behind in features, but if there are any critical bugs, then we can look at fixing those and releasing it in the mean time, until the source is available

valiray commented 3 months ago

unfortunate about not having source be available. if you don't mind me asking, why?

craftpresence apparently caused issues for the pack dev, didn't really elaborate on it

as for the current issue this is what i have been told

"basically Utils.parseVars will try to ping the server synchronously if serverData.pinged is false, but the problem is that after pinging it successfully its never set to true. the only place its set to true is in the minecraft render code for the server list. that means, if the server is connected directly to, every updateRPC call will ping the server many times, depending on the amount of vars used in the presence. and that happens every two seconds, which will cause immense lag as the whole client thread will have to wait for the ping response every time"

hypherionmc commented 3 months ago

Right. That bug got fixed recently in the modern versions.

That was a critical one, so I should actually backport that to the other versions as well.

As for why no source, issues with old contributors (former team members/friends that did some work ages ago) not signing off on the license change, and some legacy code that was only allowed under a closed source license for use.

Since the rewrite is a complete ground to top rewrite, there won't be any issues with licensing or having to have everyone sign off on the license change, since none of that code will remain.

What I mean by license change, is changing from ARR to MIT, which will be the license for the rewrite.

And one final reason (which is more a personal reason than anything else) is the older code base being an absolute mess. I made the mod in a hurry, and just slapped stuff in as it went on (one of the reasons it took so long to find the cause of the lag bug). So when it is open sourced, I want people copying the mod, or building their own from it to do it on a proper code base

hypherionmc commented 3 months ago

Just to add to the bug, serverData.pinged is a classic case of blindly going into mojang code and hoping it just works.... It's always been expected that the server pinger would just update it, and call it day...

Turns out, they don't, since the server ping generally just runs on the Join Servers screen.

Another good thing about having the v4 code base as "working code base" for backports, is not only will it actually have the latest features, it will also come with the performance improvements.

One such example is the placeholder system. In the work I've done so far, I've already seen a massive improvement in game from that system, because it no longer resolves every single placeholder, every single tick, it only resolves what it needs

valiray commented 3 months ago

Right. That bug got fixed recently in the modern versions.

That was a critical one, so I should actually backport that to the other versions as well.

just to clarify would that be a fix for v3 or would we have to wait for v4?

hypherionmc commented 3 months ago

v3. It's already been fixed in the current 3.3.2 release, which is only available for 1.18+. So that fix needs to be backported for 1.16.5 and 1.12.2

valiray commented 2 months ago

That being said, a still supported, open source and developed RPC mod is CraftPresence, which does still actively support 1.12.2, and even has a built in converter, to convert our config files to their config files.

i have been looking but i cant find any reference to this anywhere

hypherionmc commented 2 months ago

Don't think cda documented it, but I believe if you boot up the game with one of our config files, and craftpresence installed, it will do a one time upgrade to their config.

(Yes, just confirmed with him. You just need to boot up the game with the simple rpc config file, and it will auto migrate it).

The bug fix for 1.12.2 and 1.16.5 should be released on monday

valiray commented 2 months ago

oh, thank you so much

valiray commented 2 months ago

any update on this?

hypherionmc commented 2 months ago

Hey,

Sorry. Been busy this week with freelance work, trying to make money. I lost my job recently, so modding is honestly the last thing on my mind right now.

That being said, I am finishing up today, and want to do all mod releases tomorrow, because there are a bunch of other mods that also need to be updated, as well as the alpha release of the new SRPC v4 version.

Will upload the fix along with that

hypherionmc commented 2 months ago

Before I upload, if you wanted to test if the lag issue is now fixed. simple-rpc-1.12.2-3.1.2.jar

valiray commented 2 months ago

seems to be fixed, thanks <3