|
The solution I would prefer.
Have one (or more) tabs with extra security level.
Only certain ranks can withdraw from the tab. Call them rank X+.
Only certain ranks can approve the withdrawal. Call them rank Y+.
When a player of rank X or higher withdraws an item from the extra security tab, N number of players with rank Y or higher will get a popup window saying "player P wants to withdraw J times item I, allow ? yes/no ?".
You can configure the number of players that are required to approve a withdrawal.
You can configure the rank of players that can make an approval.
You can configure the rank of players that are allowed to make a withdrawal.
You can configure the number of players that must approve a change of the approval rules.
If there are not enough people online to approve a withdrawal, nothing can be withdrawn. You have to wait.
This would prevent any single individual to make withdrawals from the guildbank's extra security tab. It doesn't matter if an account got hacked, or whether some player is just malicious.
The only problem now left is that a malicious person could invite alts and promote them to the approval rank. Or rather, because there must be multiple approvers online simultaneously, a hacker needs multiple accounts. He could then invite different characters on different accounts. And promote them so they can all help in his false approval. A solution for that could be things like: 1) guild rank changes must be approved via a similar approval system, or 2) people must be of a certain rank for 48 hours or more, before they can approve withdrawals.
There are still ways to mess up things, like a malicious GM kicking all members from the guild, and then running off with the guildbank. Not much you can do about that, but that problem could happen today as well. I think people might still mess up their approval schemes by mistake, so there must be a way to reset the whole approval system. Maybe have a button "reset stuff", and when someone presses it, 30% of the online guild members (with a minimum of 10) must approve the reset.
The details are a bit more complicated than I would like. But those only kick in when things go wrong. In the day to day usage of the system, you just need to click "approve withdrawal" once in a while. E.g. in a guild with 60 players, and 8 officers, I'd set up the system so that you need 3 officers (or their alts) to approve a withdrawal, and 6 officers to reset the rules (or 15 online guild members). In a system like that, I don't see much easy abuse by hackers or angry players.
|