Applied Energistics 2

Applied Energistics 2

137M Downloads

[Suggestion] Update ME Security Terminal Documentation

iRhuel opened this issue ยท 12 comments

commented

You should really mention in the documentation that sub nets count as 'players' to the Security Terminal.

All documentation online (official and ftb wiki) explicitly indicate that it sets permissions for players, and there's no indication either in docs or through in game feedback that it affects sub nets as well unless you already know what's going to happen and are specifically looking for it.

Installed one to use the wireless term and went about my business, to find hours later that it basically broke my whole network. Took 2 hrs to troubleshoot, and another half hr combing through old tickets to piece together what was going on.

commented

Wait... what?

commented

So I have a main network containing the storage stacks with a bunch of interfaces, used by various subnets to access the storage for things like autocrafting, ore processing, etc. I connected a security terminal to the main network so that i could use a wireless terminal.

What I didn't realize (and what's not documented anywhere) is that the security terminal immediately restricts access to whatever network it's on from all players... AND subnets, even if said subnets were placed by and belong to the security terminal owner. What's worse, is that there's no indication of this in game or online (I kept seeing people mention "odd behavior" when it came to the sec terminal without ever getting into specifics, before eventually finding yueh or someone else mention it specifically in a random reply on reddit or something). If I attached a terminal to a subnet, I could see and pull from the main net's inventory just fine. But Import and Export Buses would only pull from and deposit to local storage (which I didn't have on most subnets), and i had no idea why.

It took me 2 hours to find the cause, basically taking apart and reconstructing every network, until I found out it was the sec terminal. Then another half hour rooting through old reddit and github posts to piece together that the sec terminal treats sub nets like players. It blocks the subnets themselves from using the interface as a valid inventory, even though for whatever reason when you use a terminal on the subnet it accesses the interface just fine.

Someone mentioned you needed a biometric card for the subnets. This was confusing because 1) all the documentation on the sec term and bio card very clearly indicate that it's for regulating player access, but give no indication to anything else, and 2) there's nothing anywhere about how to actually use a bio card for a sub net. Turns out you add a blank one to the sec term which sets permissions for all cardless players (and subnets) and then enable access on that. All of this I had to find out by searching github replies and reddit comments.

The whole thing was super frustrating, and I'm hoping that by adding just a few words to the wiki, anyone else that comes across this will save the time.

commented

YES

commented

It restricts any user, which includes machines or other networks not limited to players.
If not it would be pretty pointless, as anyone or anything could completely empty your network regardless of the security settings.

But we should probably change the description to make it more clearly understandable, that "users" means anything and not only players.

commented

So if this is the case, why not consider making it possible to generate biometric cards of the attached subnets? It'd be way more secure then having to use a blank card granting everything/everyone permissions.

commented

Just a thought, since it seems that this hasn't been implemented and is still an issue for many players, would it be possible to have all the devices on the network 'know' which player placed them? This could allow the biometric cards for players to enable the relevant permissions for blocks that they own, so that players could use their networks without fear of them falling apart, while still retaining some level of security (since the only current fix seems to be using a blank biometric card with all permissions, which removes all security).

commented

The current behavior seems to be that devices are intermittently removed because they do not have the proper permissions. Essentially my idea was to give devices those permissions so they don't disappear, but to preserve the security function by only allowing authorized users' devices to have those permissions. This would only need to apply to blocks that can be used to access the system's contents, such as terminals, interfaces, and buses. It's also consistent with the idea behind the current security implementation, which is to prevent unauthorized users from using the network. I'd love any reasonable solution which prevents parts from randomly breaking while preserving security.

Another option would be to just allow devices to have permissions by default, but this seems to go against the point of the security feature as expressed by yueh above.

I'd disagree with the assertion that people don't know how it works, since it's adequately explained on the wiki, and it's one of the less complicated parts of the mod. As to loading issues, it seems that at least the Security Terminal (if not networks in general) already checks blocks when loading chunks (though this block-breaking bug suggests that it only does so intermittently?), so I don't understand what issues you're referring to, could you explain further? I'm not sure if this should be made into a new suggestion if there's significant discussion over it, but for now it seems relevant enough I suppose.

commented

Just a thought, since it seems that this hasn't been implemented and is still an issue for many players, would it be possible to have all the devices on the network 'know' which player placed them? This could allow the biometric cards for players to enable the relevant permissions for blocks that they own, so that players could use their networks without fear of them falling apart, while still retaining some level of security (since the only current fix seems to be using a blank biometric card with all permissions, which removes all security).

I'm not quite sure what you mean with this.
Each network already has its own owner. Making the ownership blockwise would lead permission conflicts, that would result in non trivial problems in loading the networks and would additionally cause issues, because most Players wouldn't understand, why the given permissions apply the way they apply. (Why I say that: Many people don't even understand the current Permission system, that basically is: 1 owner, everyone else needs a biometric Card to get permissions to View, Craft, Take, Put and alter the network)

commented

"The current behavior seems to be that devices are intermittently removed because they do not have the proper permissions" sounds more like an absence of chunkloaders to keep the whole network loaded, since chunks are unloaded and then reloaded they are technically not part of the network and connecting unknown network parts to a secured part wil not be allowed and result in unconnected parts, you will have to keep the WHOLE network area chuinkloaded

commented

Yeah that definitely makes sense for why it's happening, but I think that chunks getting unloaded and reloaded should be normal behavior that doesn't break stuff, especially with larger networks with sections you might not want to keep loaded, or in a singleplayer world or server that's not always running. If the devs disagree that's obviously up to them, but in that case they should definitely do what was suggested in the original issue report and include it in the documentation. It still seems like assigning an owner to the devices should fix the issue, assuming that unauthorized blocks disappearing is intended functionality.

commented

Yeah that definitely makes sense for why it's happening, but I think that chunks getting unloaded and reloaded should be normal behavior that doesn't break stuff, especially with larger networks with sections you might not want to keep loaded, or in a singleplayer world or server that's not always running. If the devs disagree that's obviously up to them, but in that case they should definitely do what was suggested in the original issue report and include it in the documentation. It still seems like assigning an owner to the devices should fix the issue, assuming that unauthorized blocks disappearing is intended functionality.

Well how do you suggest should we handle Blocks, that according to the minecraft server no longer exist? Because that is exactly what is happening, when the Minecraft Server unloads chunks: Contents in those chunks are no longer accessible.

The issue isn't even remotely related to permissions. There is no such thing as "unauthorized" Blocks. Either the user placing the block is allowed to do so, in which case it the block works; or the user placing block is not allowed to place the block, in which case the block returned to that players inventory.

so to make it clear again: if the block exists and has a channel to the controller, it works. otherwise it does not work. No ownership or something else is interacting with anything in both cases.

YOU MIGHT WANT TO CONSIDER opening a separate issue with the issue you have, so we can actually investigate it. Having the version. mod list, logfile and maybe even the savegame would help a lot.

commented

This is purely about improving the docs. Once there is a way to reach players more easily, it will be mentioned there.