Planned Permission Module

    Joined
    Jan 31, 2015
    Messages
    1,696
    Reaction score
    1,199
    • Thinking Positive
    • Likeable
    I was thinking it would be great in bigger factions if there were a "privacy module" to prevent other faction members from using things of yours. For simplicity's sake though using an existing block for this might work better.

    I understand what "Faction Permission Modules" currently do. They do one thing - make other modules public (not even sure where the "Faction" part comes in). But "Faction Modules" have those cool check-boxes that let you set privacy levels... and shops have the (broken) option to set shopping permissions (faction, allies, no enemies, all). The faction module permission settings are insufficient though, at least in factions with more than 1-2 active members - you can't prevent one new recruit from stealing from another, and it's difficult to determine who has done what.

    So would a streamlined solution be to give the existing "Faction Permission Module" a minor function overhaul?

    Change the name to "Permissions Module" and give it a check list of permission settings that include "Private," "Faction," "Allies," "All."

    This would seem to allow it to still do its current job (especially if the default setting was "All") while letting players make some ships and storage for personal use only and even share ships and storage with allies.
     
    Joined
    Sep 24, 2014
    Messages
    69
    Reaction score
    23
    I was thinking it would be great in bigger factions if there were a "privacy module" to prevent other faction members from using things of yours. For simplicity's sake though using an existing block for this might work better.

    I understand what "Faction Permission Modules" currently do. They do one thing - make other modules public (not even sure where the "Faction" part comes in). But "Faction Modules" have those cool check-boxes that let you set privacy levels... and shops have the (broken) option to set shopping permissions (faction, allies, no enemies, all). The faction module permission settings are insufficient though, at least in factions with more than 1-2 active members - you can't prevent one new recruit from stealing from another, and it's difficult to determine who has done what.

    So would a streamlined solution be to give the existing "Faction Permission Module" a minor function overhaul?

    Change the name to "Permissions Module" and give it a check list of permission settings that include "Private," "Faction," "Allies," "All."

    This would seem to allow it to still do its current job (especially if the default setting was "All") while letting players make some ships and storage for personal use only and even share ships and storage with allies.
    A more in-depth "Permission Module" would definitely be a good thing in Starmade, and I see nothing wrong or negative about it. +1
     
    Joined
    Mar 10, 2015
    Messages
    122
    Reaction score
    50
    • Community Content - Bronze 1
    • Purchased!
    • Legacy Citizen 5
    Quoting myself from a different thread:

    For one, it doesn't really make sense that faction permission blocks, as is, only make stuff public. They could have setttings, for example:
    • Faction rank required for activation: [None] [5] [4] [3] [2] [1] [F]
    • When rank requirement is not met:
      • Do nothing
      • Ask for credits: [text box for specifying how many]
    I also think you should have an option for making the permission block generate a logic signal if the rank requirement isn't met.

    For what it's worth, binding a block (like a shop) to one player requires substantially more information than checkboxes. Shops can afford that because they have full inventories which use up tons of memory anyway. Also, what happens if I have high enough permissions to get in a build block and destroy your permission block?

    One solution is reserving some segment of faction ids for stuff owned personally by a player, independently of faction alignment; allowing you to create stations and ships that you personally own (and not your faction). In addition to the "Enter faction signature" option on faction blocks, you would also have "Enter personal signature" or something to that effect, which binds the grid to you and you only instead of your faction.
     
    Joined
    Aug 21, 2013
    Messages
    237
    Reaction score
    76
    • Legacy Citizen 2
    • Purchased!
    • Community Content - Bronze 1
    This has come up so many times from so many people, but I have not seen anything from Schine responding to it. I hope that they address it sooner rather than later. As it is, most servers I have visited have a lot of small factions rather than a few large ones because there is no way to ease strangers-you-don't-know-if-you-can-trust into the base. It's all or nothing unless you have multiple bases - which just limits how often faction members interact with other members.

    I would like to see this. One base, but multiple levels of faction restriction and access.
     
    Joined
    Jan 31, 2015
    Messages
    1,696
    Reaction score
    1,199
    • Thinking Positive
    • Likeable
    I also think you should have an option for making the permission block generate a logic signal if the rank requirement isn't met.
    This would be fantastic. I love that idea.

    For what it's worth, binding a block (like a shop) to one player requires substantially more information than checkboxes. Shops can afford that because they have full inventories which use up tons of memory anyway. Also, what happens if I have high enough permissions to get in a build block and destroy your permission block?
    I've read that "named permission" would be pretty memory demanding. I'm not sure that permission that simply restricts use to the owner, his faction, his allies, or opens to all would be as demanding as named permissions though. Part of why this approach seems feasible. The station issue had occurred to me as well. My thinking is that station build permission would override the module since the editor could delete it. Otherwise it opens the way to troll station owners with blocks stuck on their base by someone who had been kicked. Basically if you own a station you should be the only one editing it anyway or you expose your whole faction to risk already. And if a faction can't trust their leader, then that's something no module can solve. But permission mods can at least solve major problems for public factions and less frequent "ship borrowing" and storage theft problems in private factions.

    One solution is reserving some segment of faction ids for stuff owned personally by a player, independently of faction alignment; allowing you to create stations and ships that you personally own (and not your faction). In addition to the "Enter faction signature" option on faction blocks, you would also have "Enter personal signature" or something to that effect, which binds the grid to you and you only instead of your faction.
    This is kind of what my OP said, except I think mixing it into the faction permissions is the wrong way to go. Just make the current "Faction Permission Module" into a generic Permissions Module that lets you either Private, Faction, Allies or Public whatever you stick it to. This way it solves issues for factions AND is usable by individual players not in factions.
     

    Bench

    Creative Director
    Joined
    Jun 24, 2013
    Messages
    1,046
    Reaction score
    1,745
    • Schine
    • Wired for Logic
    • Legacy Citizen 6
    The Faction Permission block will have its options expanded. This is planned to happen at some point.
     
    • Like
    Reactions: MacThule

    Auriga_Nexus

    Befriender of Worlds
    Joined
    Dec 23, 2014
    Messages
    110
    Reaction score
    39
    • Purchased!
    This would be fantastic. I love that idea.


    I've read that "named permission" would be pretty memory demanding. I'm not sure that permission that simply restricts use to the owner, his faction, his allies, or opens to all would be as demanding as named permissions though. Part of why this approach seems feasible. The station issue had occurred to me as well. My thinking is that station build permission would override the module since the editor could delete it. Otherwise it opens the way to troll station owners with blocks stuck on their base by someone who had been kicked. Basically if you own a station you should be the only one editing it anyway or you expose your whole faction to risk already. And if a faction can't trust their leader, then that's something no module can solve. But permission mods can at least solve major problems for public factions and less frequent "ship borrowing" and storage theft problems in private factions.


    This is kind of what my OP said, except I think mixing it into the faction permissions is the wrong way to go. Just make the current "Faction Permission Module" into a generic Permissions Module that lets you either Private, Faction, Allies or Public whatever you stick it to. This way it solves issues for factions AND is usable by individual players not in factions.
    (Note: If you're not familiar with database design then the following 3-5 paragraphs are going to sound like gibberish. If you have questions regarding how relational databases work direct them to Google, or go read a book on Microsoft Access or something.)

    I really don't see how individual permissions is that demanding. The players are identified by a specific id, and are marked as members of a faction (including factionless players since they are considered part of the "null" faction), which is a one-to-many relationship - in other words, you have your "faction" tale with faction ID's as your primary key, and your "player" table which has player ID's as a primary key, and a parameter that uses an ID from the "faction" table to associate the player with their chosen faction (including a "null" ID for factionless players).

    So in other words, when a player tries to screw with a block on a factioned structure, the server makes a query to its internal database to find the faction ID of the player. This involves querying two tables: "player" and "faction". It then takes that result and checks it via boolean operator (X == Y), and if the check returns false it doesn't let the player do what they are trying to do.

    On the other hand, if you were to have individual blocks that store the id of an individual player, then the server would only need to query the "player" table; in other words, that is one entire database table less to query a player's individual ID as opposed to querying their faction's ID. So with this assumed scenario in mind, how the hell does individual permission blocks use more resources than existing faction blocks? It makes no sense to me.

    That aside, individual permissions is a thing that needs to happen. We can use the existing hiearchy of faction module and permission module, with faction modules affecting the base permission level for the entire structure, and permission modules overriding those but only for the blocks they are connected to. All we would need to do is set the individual permission system to work the same as the faction permission system; when you first set a faction module down it is blank, you have to activate it and hit "Enter Faction Signature" to make it work. What it is doing is most likely storing your faction's ID in that block's "memory", so that it can run the faction check query when someone tries to use stuff. Individual permission blocks would work EXACTLY the same, only storing your player id instead. Think of it as like a fancy high-tech apartment complex or something where they use fingerprint scanners instead of traditional locks. You have to initialize the system by scanning your print; once you do it's tied to something that is uniquely identifiable to you. This would be useful for having personal facilities e.g. maybe a room with a few storage chests, a small factory system and of course your own parking spot in the hangar bay. The only thing I can forsee causing performance issues is that individual blocks would be used more often than faction blocks; but like I said, only one DB table to query instead of two, it really shouldn't be that noticeable of an effect.


    Quoting myself from a different thread:



    I also think you should have an option for making the permission block generate a logic signal if the rank requirement isn't met.

    For what it's worth, binding a block (like a shop) to one player requires substantially more information than checkboxes. Shops can afford that because they have full inventories which use up tons of memory anyway. Also, what happens if I have high enough permissions to get in a build block and destroy your permission block?

    One solution is reserving some segment of faction ids for stuff owned personally by a player, independently of faction alignment; allowing you to create stations and ships that you personally own (and not your faction). In addition to the "Enter faction signature" option on faction blocks, you would also have "Enter personal signature" or something to that effect, which binds the grid to you and you only instead of your faction.
    So yeah, basically this.

    Also, Monchoman45 your idea of having a "pay to access" permission setting is, if you'll forgive my NSFBBC language, bloody brilliant. It opens up a whole new sector of the economy, namely services. We can have stations that are literally road-side motels/service stations, where you can pay to have a parking spot and a room with basic factory access for a few hours, and also possibly a shipyard and/or repair service.