Mordenkainen / Technomancy

Magic and Science, what can go wrong
15 stars 8 forks source link

Griefing/Exploiting Code?? #172

Closed Keridos closed 8 years ago

Keridos commented 8 years ago

SERIOUSLY: We just spent 3 hours of testing debugging and other stuff in my personal modpack for me and a friend to figure this out: https://www.reddit.com/r/feedthebeast/comments/3v6rrw/destructive_villager_effects_on_death/

Why on earth did you write that code if not for debugging. The effects are absolutely stupid (mini nuke like explosion, 100 block knockback or placing something like an 11x11x11 obsidian block, replacing everything in its way) for JUST KILLING A VILLAGER.

Please remove that code from your mod if you want to not anger any more people.

Technomancy was a nice mod we used, just until today.

This is the code: https://github.com/theflogat/Technomancy/blob/master/src/main/java/theflogat/technomancy/common/items/technom/existence/ItemTreasure.java#L123:L170

/edit: Sorry if I sound so angry but I just pretty much wasted 3 hours of this evening to find that damn cause for this.

nanakisan commented 8 years ago

I think it should stay. This is rather hilarious in my opinion. But it should be a config option.

sashanke commented 8 years ago

config option and a research to get rid of the effects would be nice.

Sirithil commented 8 years ago

I'd agree that keeping it but making it a config is ideal. Calenria has the right idea.

Sirithil commented 8 years ago

Hmm. So apparently it's a feature, and there is a config (turn treasures off). I haven't found any documentation on it outside of the game though. So I guess some TLC for the wiki would be nice?

GunArm commented 8 years ago

This is not funny. It's not a joke. It's a weird, insane, stupid thing in the code. There is no warning, no hint this might happen, no explanation, no way to know what caused it after it wrecks all of your stuff until you google and find out oh, some idiot wrote code to troll users. I expect this from reika even only when you do something bad, as a punishment. What are we being punished for? For adding your mod to our pack? This is just straight up troll code. What were you thinking?

GunArm commented 8 years ago

I have never once before felt so betrayed by, and angry at a modmaker. Great job.

theflogat commented 8 years ago

There is a config option to disable the feature.

GunArm commented 8 years ago

Why don't you make a config option called something totally random like "wheelbarrow" and it defaults to true. And when it's on, if you do something normal like throw a piece of dirt on the ground, it does something super unexpected and destructive, like deleting part of your base! That would be a hilarious "feature". It'll just really screw over the users who put their trust in us! No telling what it might ruin, no one would have any clue that timebomb is there in their configs, and when users who have never even heard of your mod lose hours and hours of work, we can all laugh and say, well you didn't turn the "wheelbarrow" timebomb troll code off lolol.

Mordenkainen commented 8 years ago

Ok, I get it... You killed the wrong villager and bad things happened.

I don't like the feature either, but it is part of the mod.

At this point what I am hearing is "We got this new mod. We didn't look at it's forum thread, nor did we look at it's changelog, nor did we look at it's issues tracker... We just added it. Then when I discovered a destructive feature I don't like, I'm going to come and scream and moan."

Enough, I think we got it. Can WoT expect the same from you the first time you accidentally break the seal on a bound tool, or Player when you overheat your reactor? THERE ARE GROSSLY DESTRUCTIVE FEATURES IN MANY MODS. Often not well documented, and often very easy to accidentally trigger, perhaps not this easy, but easy all the same.

And BTW, It's not a troll. Those particular villagers can have that power extracted to give your character some abilities. But, kill those villagers without bleeding off that power first and there is a price to pay.

Everyone else was content to come, air their grievances, perhaps offer a suggestion, and then drop it.

FnordMan commented 8 years ago

"There is a config option to disable the feature."

Suuuuure there is. There's no such option like that ANYWHERE in the configs. The only thing I see that could be remotely tied to that completely DUMB feature is DebugFunction

GunArm commented 8 years ago

FnordMan, the config setting you want to turn off is called "treasures".
Although you can't just turn it off on the server. The client and server both seem to try to calculate when the explosion should happen, and if you turn it off on the server the client will still show explosions when your client and server go out of sync.
Actually even if it's active on both the client and the server, they seem to have differing opinions of when an explosion has actually happened. Aside from the merit of this feature, this seems to be a bug in it.

GunArm commented 8 years ago

Mordenkainen, I want to make this clear and I will drop it. I am not the guy who typically whines at mod authors. I respect that they are expressing their creativity in their own way, and offering their work for free. Especially on github I usually try to keep things professional. I even considered editing my posts since they were harsh and sarcastic but decided not to, because I feel it is important that whoever experiences an honest uncensored sample of the user experience created by this "feature". It's not "A typically ungrateful jerk, being a jerk". It's a player, extremely upset by a mod he wasn't even using giving him an unfair and severe black-eye, for no (obvious) reason. If other players "aired their grievances and dropped it", maybe they were less screwed by this than we were. While my posts were harsh, they were not uncalled for. Damage was done to us and if you have a feature like this expect angry users. Let me put it this way: if you expect people to submit a single subdued complaint and then drop it, then you are not appreciating the offensiveness of this feature.

I recognize that many mods have aspects that are destructive. IC2, reika, gregtech, draconic evolution, and others. If you screw something up with the mod, you get punished. That's fine, it's all within the mod. Meaning you don't get an IC2 explosion unless you are doing deliberate work with IC2. You don't get a draconic evolution meltdown unless you screw up building Brandon's reactor. If you are in Reika's house, play by Reika's rules, or an overwound coil will blow your face off. Normally you set your sights on a mod, try to conquer it, it kicks your butt, and that's part of the fun.
What makes this distinctly different, and IMO uniquely hostile, compared to above, is a vanilla mechanic has been modified into a very destructive trap. This isn't like someone was trying to do technomancy, did it wrong and got punished. This is like "I'm going about my business, kill a villager, WTF JUST HAPPENED!?!?!?!" Technomancy has left it's own house, come over to my house, and lit it on fire. It feels actively hostile to players who are not using the mod at all, who don't even know what the mod is.

Also, this is not a new mod. This feature silently turned itself on in a mod update. You are correct that I didn't carefully study the changelogs (where even are those btw? Link from OP on FTB forum goes to the download page), and that is my bad. However as one of thousands of people trying to maintain a pack with a ton of mods, it takes COUNTLESS hours 50+ to prepare/test a pack upgrade, many mods don't even have changelogs, and most encourage an "newer is always better" style of upgrading, so not studying the change logs of every single mod is pretty common. This is because, while we accept there will always be bugs and will go out of our way to help mod authors pin them down, we typically have some trust in the judgement of mod authors to not do things that are outright contemptuous towards players. I will refrain from snarkliy implying the intent was contemptuous, but as a player, subjectively, it FEELS incredibly so.