Looking for Plugin Help/Suggestions

Greetings!

I’m looking to start up a SpongeForge based server around a bunch of mods (largely centered around Pixelmon as a center focus). Initially I had considered just running it straight forge and keeping the world purely white-list only to only allow a handful of vetted users which would circumvent the need for extensive world protection. But given that many of these players have friends and communities (some of them are streamers) who may want to also pop in, I was thinking about being a little more lenient and perhaps expanding to allow anyone access, but with caveats.

Ideally, what I would like to do is establish the following:
A certain core number of players are full access. These would have been the individuals who were white-listed in the first place. They can do whatever they want and are free to do as they please. I don’t need to expect them to have to be granted permissions to prevent world griefing, as there wouldn’t have been an issue in the first place. The key feature here is that these players should have priority to get in; if the server is full, they should be able to get in regardless; perhaps even people at a lowest priority pipeline should be removed in favor of these players.

This lowest priority tier is just ‘regular’ players, anyone who jumps in. They’re just forced into spectator mode via the default configuration. They can chat and whatever else spectators can do, although I’m very vaguely concerned about perhaps a bunch of people trying to just fly around and burden the server with chunk loading - does there exist a way to prevent this sort of behavior with any permissions system? (Edit: I should point out that I am aware of Minecraft’s default ability to prevent spectators from generating chunks by simply preventing them counting as entities, therefore also preventing them from loading chunks that have already been generated. I’m looking for a way, if at all physically possible, for them to be able to load ones that have been generated already, but not generate ones that have been not)

Ideally, a way to just prevent people from connecting if they are in this category of ‘uncategorized’ player would be nice, too, if for some reason a group decided to just keep spamming logins and chat as some sort of targeted griefing?

The next tier would just be players who are moved into adventure mode, but with limited accessibility to features so that they can’t go rooting through chests and things. Although I think this should be easily handled with a more targeted world protection mod, like ProtectionPerms to generally disable access to chests and the like?

This is probably way over complicated thinking (and I’m sure some people might suggest that, and just suggest I stick to just default white-listing as initially considered), but I was curious if these kinds of behaviors already exist, since I’ve been having trouble finding them specifically as idealized for Sponge.