Fair warning, I haven't programmed in a while. I'm getting the itch.
Griefing:
In the pre-4.0 discussions (guilds, etc), someone had the idea to limit nether access to non-noobs. The guild system wasn't popular, but that's no reason to abandon the nether restriction idea. Instead of limiting the nether by level, limit it by realm membership. If a player is not a member or owner of at least 1 realm, then they can't go to the nether or the end.
I'm not sure how the server tracks build rights, but my guess is that the realms store this data (not the players). I see two ways around this. If the memory structure for player data allows, a counter (unsigned integer) could be added. If that doesn't fit, a new list of realm members could be created. Either way, each time a player gets added-to/removed-from a realm, their counter is incremented/decremented. If counter = 0, no nether/end access.
Special cases:
Player buys a realm he already has access to.
Portal Camping
mitch1423 wrote:I say you have 5 seconds of invulnerability after entering the nether and there are no rules other than no griefing.
Actually, this ain't a bad idea. Make it a 10 (or 20) second invulnerability after passing through a portal. Most fights are over in 10 seconds. Who in their right mind would wait for enemies that are invincible?
If the situation looks too camped (i.e.-10 guys waiting at the edge of your vision), then you have time to turn around and go back through the portal. Anyone not smart enough to assess the situation can be fair game. Aside from occassionally informing noobs of the mechanics, it wouldn't need mod intervention.
Coding wouldn't be too complicated. First you'd need a queue of (player / time entered portal) structures. When a player passes though a portal (either direction) their pvp is disabled, and a structure is added to the back of the queue. All the server has to do is check the front of the queue to determine if that guy is ready to have pvp re-enabled. If yes, remove that structure from the front of the queue and see if the next guy's ready.
Special cases:
1. Invulnerable player uses a portal - Easy fix. When adding a structure to the queue, check for and delete any other entries for that player.
2. Player logs out or gets DC while invulnerable - Add a line or two to the logout/dc routines to check for and remove entries.
Intelli wrote:The official rule is : .....
I see no reason for this to be changed.
I do.
This rule can't be enforced unless every player records about 2 minutes of video every time they enter the nether. Since many players are either children that lack this ability or noobs that don't know the rule, the evidence needed to prosecute offenders doen't exist.
To further complicate the issue, intentional rule breakers take the time to learn who
does have the ability to get them banned. They then only portal camp when they know they won't be caught.
Essentially your rule is useless because it can rarely be enforced. Either hard-code a solution or admit defeat.
The only real thing you have on the internet is your reputation.
Decisions should be based on facts, not friendships.