I am thinking about potential Forum Rules for Mechaenetia Mods

I definitely need Feedback on this, because while I saw a lot of bad things happen with Minecraft and Factorio Mods, I clearly dont know everything. I will run all of this with the Benevolent Dictator Philosophy, so there should be nothing to worry about. ^^

Keep in mind Mechaenetia is LGPL so its Mods should be counted as such too, at least here on the Forums. I know there is lots of legal Stuff that would make it possible to make proprietary Mods, but those Mods would not be allowed on here by Forum Rules, or would be dumped into some sort of “Corner of Shame” Category.

The Users are generally more important than the Authors, and the Server Hosts and Modpack Makers are somewhere inbetween.

So here a first List for Mod Authors:

  • Stuff @greg made, while always trying to abide by these Rules, is exempt from said Rules.
    Though if @greg notices a self-violation of these Rules, their wording will be adjusted to properly reflect what the intend behind those Rules is.
    @greg is also the one to decide what happens if a Rule got broken. Though typically talking about it is the very first thing that happens. There is no instant Banhammer for small mistakes.

  • Do not prevent or prohibit non-monetized redistribution of your Mods or their Source in any way, nor disallow their use in Modpacks or Servers, even after you abandon your Mod.
    There has been way too many bad things happening, because of Modders being too possessive of their Mod.
    Nobody has to ask to include a Mod in their Modpack for free. Demanding to ask for permission would be surveillance I don’t tolerate here.
    Mods are for everyone and only exist for fun.

  • Do not add Update-Checkers or Mod-Usage-Statistics into your Mod.
    Nothing is allowed to send/retrieve Internet Data without the Users explicit permission!
    Implicit is NOT enough!
    Installing a Mod in on itself NEVER counts as permission, even if the Online functionality is the ONLY thing the Mod contains!
    You always HAVE to prompt the User for permission, and your Mod HAS to work offline if the User denies the permission. (obviously without the online specific features)

  • Do not put Advertisement or Microtransactions into your Mod, and don’t put Ad Infested or Paywalled Links to your Mod or Modpack on the Forums. This is not about making Money, this is about Fun!
    The only people who are allowed to make Money off of this are the ones who actually host Multiplayer Servers, because Servers do cost Money to maintain.
    Modders and Modpack Makers can only work with Donations.

  • Do not treat people like shit or like their Issues “dont exist”, when they report Bugs, need Help or demand Fixes; even if they by accident accuse you of the results of someone else’s Bug; even if you just personally dont like the person who reported the Issue; even if you dislike one of the other Mods that was installed, or think that that other Mod “ruins” your Mod.
    Reported Problems exist regardless of the User who reports them, so even if you are not the one responsible, point them to the actual cause of the Problem, preferably with some sort of evidence or logical reasoning.
    So basically be a reasonable person, so people dont get afraid of asking for help.

  • Don’t just say “this is a duplicate Issue” without pointing to the actual original Issue. This is not only lazy, but also counts as ignoring the Issue report itself entirely, towards the previous Rule.

  • Your own Freetime or lack thereof should never be an argument against fixing Issues. Sure it might be an argument for a delay in the Bugfix, but not for fixing the Issue itself!

  • Do not force/redirect people to report Issues in a certain way, shape, form or place, especially if that requires making an Account at a Website (Including this Forum!).
    You are (supposedly) an Adult, you can manage to take a piece of Paper or a Text File and write down everything you need to know to fix the Issue on it, and then fix it once you are ready to do so. It is not that hard and even saves YOU time!
    If people reach out to you on the Internet (like in Chat), to report an Issue, then you can at least listen to them instead of wasting your own time and their time on stupid formalities that no one needs.
    Telling people they need to send you more Information or Logs is perfectly fine ofcourse.

  • If you fixed a Bug, but didn’t release a fixed Version yet after over a month, seriously consider releasing “just” the Fix, instead of letting people download the broken Version for ages. looks at Optifine Devs
    There is NEVER a reason to hold back on a Bugfix, so don’t hold it back!

  • Do not make your community become toxic, nor start irrelevant Drama.
    And people (blindly) “worshiping” you, starting arguments on your behalf, or thinking you are more important than the thing you created, are all at risk of counting as Toxic.

  • Do not add Default Keybinds of any sort.
    And do not hardcode Keybinds either! Especially not Shift, Ctrl or Alt!
    Let the User decide what key to bind your things to (you can prompt the User for your Keybinds if they are REALLY needed).
    It is insanely frustrating whenever you add a new Mod, that you have to disable most of its unused Keybinds, especially if they conflict with already existing Keybinds, or if they are exclusively made for WASD Users, and you happen to use ESDF, meaning there is a ton of overlap.

  • Try to make your Mods as tiny as Possible and split them into as many Segments as possible. I do not want something ginormous like GregTech to happen.
    Like put the Electric System into one Mod, each of the Generators into one Mod each, individual Machines into one Mod each, Ores into one Mod each, and so on.
    That way people can be dependent on specific tiny Mods if they need Stuff like Copper Ore they get the “Copper Ore Mod”.
    Obviously there is going to be ways to bundle those Mini Mods into a Maxi Mod that depends on all the tiny Mods, so people dont have to download a couple thousand Mods.

This List is ofcourse not fully finished yet, but considering I somehow got stuck doing GT6 again, there is no hurry. I will put this List into an Announcement once Mechaenetia is in a moddable State, and always announce changes to these Rules right afterwards.

So any Feedback on these Rules? And yes some of them are very specific like the Keybinds one. I wanted to make Rules against anything hostile to the End Users that I know about. ^^

6 Likes

All very valid points, I especially like the one about default key-binds.
Having the game ask what key-bind you would like is infinitely better in my opinion as it not only allows the player to place it in a position that works for them, but notifies them the key-bind actually exists in the first place. Many times I’ve installed mods I’ve have to go through the key list to see what’s changed/available.

I also like the idea of modular mods and the ability to pick and choose parts of a mod. That way you can swap out say mod A ‘energy system’ for Mod B’s ‘redefine Mod A’s energy system’ Mod. so using Mod A’s machines with Mod B’s way of powering them kind of thing.

You will need to make sure you document the way mod modules work and have good templates to work off of so that dev’s can build to a standard design that doesn’t need you to go in an perform cross compatibility surgery. I know you will as you have some good documented sample files for Gregtech, but you might want to dedicate a whole part of the site to it too with really simple how to’s for foundation coding that people can use as a jumping board. More for those who are new to coding or shall we say, can’t quite grasp how things work.

3 Likes

When you say that you don’t want any kind of monetization, does this include server-side monetizing? Not wanting people to profit from withholding features in mods in a fully FOSS game is definitely good, but i think servers should be able to implement features that allow server operators to recuperate the cost of running and moderating servers, perhaps via cosmetic assets, or sponsors at spawn. (The code, but not necessarily the assets, should be FOSS).

Also, I agree that individual mods not having default keybinds is a good way to solve things-but I think modpacks that are intended to be used as standalone games (i.e. not intended to be customized, dont really add “features” just a combination of mods and maybe a questbook or adventure map) should be allowed to use default keybinds. The reason is that new players who are not used to the game, which are also the type of user who would use a modpack rather than adding each mod individually, having to go through tons of configuration menus is wildly overwhelming and usually frustrating. Almost everyone who plays mods goes through a process like this (starts off with vanilla game, later does a modpack, and once is used to it installs mods manually) and I think allowing default settings for modpacks but not mods is a good compromise between 1. having to unbind the keybinds that just don’t work when installing mods and 2. making sure the people who don’t want to sit through menu hell have a simpler way out

3 Likes

Servers can monetize shit however they want, I am specifically talking about Rules for Modders, not Server Owners. And yes a Mod that allows Server Owners to customize monetization without resulting in the Modder getting a cut from said monetization (unless they literally host the Server themselves), would be allowed on the Forums.

As for the Keybinds Part, unlike Minecraft, the Keybinds are stored per profile, so using a different Modpack that has some Mods in common would still have the Keybinds stored for each Item.

And remember that the case of “prompting for keybinds” is also discouraged for the mostly useless bindings. There isa reason a generic “Action Menu” exists that contains all the things you can do to a Block or with an Item, so you can bind it yourself there if you need to use it often.

The only things people should ever get prompted to make a Binding for are Jetpacks and other Movement related Keys. “Mode Switch” Keys and “Open Custom Inventory” Keys are NOT supposed to ever have Defaults, since the Action Menu can be used to switch Modes if needed.

Everything in the Action Menu can have a Keybind if you want it to have one. But you dont have to have a Keybind to trigger any Actions. (apart from some way to open the Action Menu in the first place ofcourse, but that is set with the initial Setup of the Game itself and not Mod related)

3 Likes

I did change a tiny bit about the whole Monetization part. And also a bit of the Redistribution Part, to only prohibit disallowing sharing for free, you can still tell people to not use your Mod for making Money off of it.

In fact I will likely add some boolean Flag for Modders to determine the permission of monetized usage of their Mod in a Modpack easily. (Server Owners are a different thing, access to a Server can always be monetized regardless of this)

Most Core Engine things I do, will permit paid redistribution, though I have just a few less important things in mind where I would not permit it. (mainly Story Stuff, when I do add it later on)

3 Likes

I did change the thing again, especially to cover some of the horrible responses I saw for Issue Reports in the past.

Things like the:
“Adds unexplained ‘duplicate’ Tag to Issue Report”, which I frequently get from the youtube-dl Devs, despite me going through multiple pages of recent open and closed Issues beforehand.

Or the:
“Please open an Issue on GitHub, so I dont forget”, instead of just quickly taking a Text file or piece of paper to write/copy it down, you instead took the time to type THAT response in chat. Clearly you are a Pro at Time Management with this waste of everyones time, including your own. looks at Speiger

Or the always famous Response by some random Community Member:
“Hey, ‘insert Dev here’ has no time for these Issues, they are working on more important Features”, followed by a bunch of other Members Yes-And-ing that Response toxicly. Yeah that kinda thing happened to me on the Factorio Forums of all places…

I have had a bunch of different bad experiences which I would like to prevent happening to other Users, so these Rules have to cover them all.

3 Likes

Eh, what if that is the reason a developer won’t fix an issue?

You can make rules about what people can post on your forum, or who has the license to modify your game (actually you forfeit this second part with the license you chose). But you can’t change other people’s reasons for not doing something.

If you tell developers they can’t respond to a bug report by saying, “yeah, that’s a problem but I don’t have time to fix it right now”, then said developers aren’t going to post a response to those bug reports at all.

I struggle to understand your rationale here since all mods have to be open sourced anyways.

~Max

2 Likes

There is always the option of the one complaining about the Bug submitting a PR to fix it, and that PR being accepted. (obviously lots of common sense needs to be done here)

Yep, that and the curated default Mod List that includes pretty much all “good enough” Mods on my Site. If they aren’t here then they can do whatever the fuck they want.

I’m aiming for Players to have a nice time with what is available by default, and would like to avoid/ban toxicity. Obviously this might result in a few false positives in the Forum Rule Set, which is why I made this Feedback post to begin with. :wink:

Okay I probably fucked up my wording there, I was actually aiming at people who aggressively yell “I dont have time for this” instead of fixing “one line of code to resolve the issue” which in most cases is faster than complaining about lack of time itself.

Open Source doesn’t mean you cant reject PRs from others, and if you end up abandoning your Project or that one Bug, you get a huge amount of unnecessary Forks, and then go ahead and try to moderate that kind of Forkbomb of everyone posting their “fixed” Version of the Mod.

1 Like

I agree with @exylic, modpacks should be allowed to distribute default key bindings. If you’re doing config profiles I don’t think they should be shared between modpacks.

~Max

1 Like

Modpacks can prompt the User for Keybinds they need, no need to fuck around with a Users Keybind Setup, because trust me, that is NEVER A GOOD IDEA! What if you use a Gamepad instead of a Keyboard or have very specific Mouse Only bindings? People would never be arsed to take all the out of the box defaults into account, especially if they dont have those devices themselves.

What if a modpack makes heavy use of keybinds for functions that don’t exist in the base game? If the modpack doesn’t ship default keybinds then all users have to go through and set all the keybinds anyways. If the user has a nonstandard setup like a weird MMO mouse, or custom button mapping to bypass a broken keyboard button, then the onus should be on them to set up keybinds for each game, and I feel like modpacks are distinct games.

For controller schemes maybe there is a way you can encourage modpack makers to support a minimum number of profiles. So if the base game ships with a standard controller profile and a southpaw profile, maybe you can tell modpack authors that they have to support a standard controller profile and a southpaw profile. I don’t think you need to make default controls off-limits for modpacks.

1 Like

So here the question, what kind of Modpack would add more than a dozen Keybinds and expect people to actually remember those? In the end they go into the Controls Menu regardless just to remember those weird Keybinds that they didnt assign themselves.

I have one of those Mice. Though I prefer my Logitech G502 over my Corsair Scimitar due to lack of Onboard Memory on the latter.

And more importantly, Controllers and MMO Mice have a more limited number of Buttons to assign compared to a Keyboard, meaning if you make Keybinds Mandatory you are going to basically kill Support for those Devices entirely with your Modpack.

So what kind of Keybinds do you expect people to add in Mods? I could understand the Numbers Bar for quick access to certain Slots/Items, but that’s something the User has to decide. There is already a ton of Controls added by Default, which should cover most of the cases that Mods would want to add a Keybind for.

I am saying this and asking these questions mostly because I hate Mandatory Physical Input Control Layouts with a passion and would love if they were gone, and more simplified to a condensed set of important Controls that people can actually remember.

Suppose some mod implements a speedbook for spells (if you aren’t familiar with the concept, it is basically a pocket book to read magic words from as opposed to a huge wizard’s tome from movies). Let’s say there’s only room for twelve spells in the book, one page per spell. The mod implements a new action to flip forward or backwards in the book, and a second action to begin incantations from the current page. It also adds actions to flip directly to each of the twelve pages/spells. That is a total of fifteen distinct actions.

Now a modpack author includes this mod in their roguelike pack. This pack puts a heavy emphasis on casting spells from the speedbook, and they disable a lot of other functions like mining. So the author wants to add default keybinds on the top row of your standard keyboard, that is the numbers 1-0 and ‘-’ and ‘=’ (’[’ and ‘]’ on dvorak). These keybindings would flip to pages 1-12 in the speedbook. Right clicking might be bound to cast the spell, and scroll wheel up/down might be bound to flipping forward/backwards in the speedbook. On a controller, maybe the right and left bumper buttons will flip forward/backwards in the speedbook while one of the front buttons casts the spell.

1 Like

Haha, the Number Bar as I mentioned can easily be assigned by the End User themselves without a Speed Book at all. Remember, assigning Keybinds is something you can easily do ingame, you could just rightclick a Spell and hit “Assign to Input” on the Context Menu, so you can assign it to 1, 2, 3, 4, 5, T, G, B, F9 or whatever you wish it to be, much faster.

What i do need to find a Solution for is scrolling through a Hotbar alike thing, though I can always just let the User themselves add or remove Hotbars at will, while also letting them specify the Forward/Backward/Select bindings for said Hotbars (and the direct Quick Slots for 1234567890).

The Mod you gave as an example is essentially useless due to the Game itself being much easier to use than a Book.

And in case of Wizard Spells, if you attempt using such a Spell the Player Animation could automatically grab the Book out of their Bag, hold the Book and start the Spells Idle/Casting Animation.

I think you’re fighting the hypothetical. Suppose this magic system requires the use of book items for reasons - the character can’t memorize the spells, or maybe the magic only works when read from a page. As soon as you put down the book you can’t cast spells any more, and the actions only work when holding a speedbook.

Here’s another example. A mod adds a new multitool, a swiss army knife. This mod adds a new action for each of the multitool’s “modes”, that is, for each tool that swivels out of the knife. Do you expect the swiss army knife to be useless until the player goes into the keybinding menu and sets up key bindings for each function of the swiss army knife?

1 Like

I see you use the context menu for swiss army knives on the ideas page. But let’s say this modpack is all about using the swiss army knife to solve puzzles and wants to map each tool to a keybind - the context menu would be very tedious since it is used so often.

1 Like

“Putting Book at Page X and casting Spell” is something you could bind with the Keybind System easily, as I already said here:

You seem to misunderstand massively how Keybindings work. There is an Action Menu Default Keybind, which would have the “switch to X Tool” option inside that Menu. You could just hit the Action Key and then select via a Menu or a Radial Menu what kind of Action you want to do with the Knife. That is literally a 2 Key Action if you use the radial Version of the action Menu (3 if it has Sub-Menus). GTA5 does this already and it is very easy and comfortable to use, even with a Controller.

Then let the User decide if hitting two Keys in a row is tedious or not by letting them assign their own Hotkeys themselves (which in on itself is just hitting 3 Keys to configure it quickly, Open Action Menu, point to Action, do the Right instead of Leftclick, Hit the Key you want to assign it to, done). This is not the job of Modpack Makers at all.

Note: I will not make it Rightclick in this case, but it will be one of the Default bindings that is used to quick assign other Keys form the Action Menu.

I should also mention that Quickly assigned Keybinds will override other Quickly assigned Keybinds, there needs to be a flag for if it got assigned that way or not. This way you can always re-assign 1 2 and 3 to your most recent Actions you want to perform without having to worry about getting rid of previous Actions.

If the modpack ships without default keybinds for those actions, then by default there won’t be a keybind to flip to page 3 (casting the spell could be the “use” function for the speedbook). Flipping between pages would be part of the action menu by default, right?

So by default, the player picks up the spellbook and has to press ‘f’ to bring up an action menu, then move the mouse cursor over the page they want to turn to (or the spell they want to cast), then left click to select that action, then right click to cast. All of this will happen in the heat of battle.

Yes, the user is free to bypass the action menu with keybinds. It will probably only take a minute to set that up. But what you are saying is that modpack and mod authors are powerless to make the default process any less painful.

There’s a problem, however, if you have multiple mods adding their own multitools. Let’s pretend this roguelike pack includes both the speedbook and the swiss army knife. Players will use both tools quite often. The modpack author would like it to be so that the keyboard’s number row flips to pages 1-12 of the speedbook or switches the mode 1-10 of the army knife, depending on which is being held. But the modpack is not allowed to ship default keybinds for action menu items, and neither are individual mods. That means the player has to go to the trouble of assigning 12+10 = 22 keybindings.

Do you see how this might be a problem if a modpack includes lots of multitools? You might end up with hundreds of action menu items that the modpack author knows will fit on just twelve keys without conflicts. But according to your rules, the player has to personally set every keybinding.

1 Like

Yeah everything you can do in the Game will have an Action that you can assign a Keybind to, and I mean EVERYTHING you can do. If there was no quick select of a certain page in a book, then the Modder would be at fault for forgetting to add an Action to it (which people will quickly point out when that happens, since then you cant put Keybinds for it at all either, because Keybinds go to Actions).

In the heat of Battle nobody in their right mind would pick up a Spell Book, then NOT READ THE SPELLS TO SEE WHICH THEY ARE (while doing so you can also quickly assign the ones you need to direct Keybinds), and proceed to cast the Spell they did not bother to check which Spell it was in the first place, resulting in some random ass spell flying over the Battlefield, or worse, you casting a Support Spell against an Enemy.

The Default Process takes less than a second to set up per Keybind, if you have a little bit of workflow, it is that simple. And in case of the Spell Book, there could be additional “Assign to Input” Buttons inside the Book itself, not just the Action Menu. More importantly you could put those Actions not to the Spells in the Book but to certain Page indices of the Book, so another Book has other Indices so you swap between two Books and your Keybind Layout instantly switches from Battle to Support for example.

The worse Process would be “oh shit the default Keybind collides with my own Keybinds, I need to find the binding and remove it” which is insanely painful.

I see what kind of problem you are describing, but switching Modes to certain Indices of the Item held in Hand is ALREADY a possible Action, you dont have to “Switch to Knife” in your Swiss Army Tool, you can just “Switch to Index 1” which happens to be the Knife. And that same binding would work for the Book too whenever you hold it.

And I am pretty sure that the Numbers Bar will have a Default Keybinds Set that can be turned on optionally on initial Game Setup, so it’s a single click to setup those 10 Keys. (There is Localisation reasons I wont put 12 Keys in that Bar, because some Keyboards have Stuff like ß or ’ at those locations)