PDA

View Full Version : Proposition to stop stupid hosts



oops_ur_dead
April 25th, 2011, 08:04 AM
There is an epidemic of stupid hosts, picking dumb options like LOL ALL SERIAL KILLER or LOL ALL MAFIA EXCEPT ONE. For an example of a complaint, see this: http://www.thecouncilofmages.com/forum/index.php/topic,127.0.html.

This needs to be stopped somehow, as it's ruining the game. I have an idea of how we could do this. There is a popular cryptographic cipher called RSA. RSA is unique in that it is a public/private key cipher. That means that there are two pairs of keys, the public keys and the private keys. If you know the private keys, you can encrypt an integer, and if you know the public key, you can decrypt an integer. However, knowledge of the public key alone prevents encryption!

What I'm proposing is an implementation of RSA in the map Mafia. This is not a hard thing to implement, in fact, it's only two simple mathematical formulas:
c = m^e (mod n) to encrypt, and m = c^d (mod n) to decrypt, where m is the unencrypted integer, c is the encrypted integer, (n, e) is the private key pair, and (n, d) is the public key pair.

Why should we implement this? I proposing a "host rating" system be implemented in Mafia. Once the RSA algorithm is implemented, a few select trusted people are given the private key pair. Should a host be regarded as a "good" host by one of these keyholders, then they have the ability to uprate this host. The keyholder will click a UI button opening a text entry box, and enter their private key. To prevent spam and to verify that the key is correct, a short integer will be encrypted by the entered private key and immediately decrypted by the public key in the map. Should the entered key be incorrect, the result will not be equal to the tested integer, and the key will be rejected. If the key is correct, then the keyholder will be allowed to choose a person to uprate. Then, all the encrypted ints already stored in the bank are decrypted and checked to see if they match the player to be upvoted. If one of them does, then the rating score appended to their name is increased by one. If they aren't in the bank yet, then the player's name is converted to an int, and their score appended to the end. This int is then encrypted and stored in the bank. This int is also to be spread to all players through the same method that the scores are currently sent.

Then, at the start of each game, this list of encrypted ints is decrypted with the public key. If one of the ints matches the name of a player, they will then be given an added chance of being chosen to be host by the random number generator, based on their rating score.

How do we stop bad hosts? Keyholders will also be given the option to downrate a player. The process is the same, except the player's rating is DECREASED by one. Once a player's rating hits -3, they are told that they are no longer able to host games until they appeal to a keyholder or at the forum.

It may be a bit of a drastic change, but I think it's worth it to ensure the quality of the game.

tl;dr: players can be upvoted or downvoted and thus given lower/higher chances of being selected as host.

Dark.Revenant
April 25th, 2011, 08:20 AM
A donor suggested that the host should not be allowed to pick a custom variant until he has X amount of points (since it seems they don't reset anymore). That's probably a much simpler solution.

oops_ur_dead
April 25th, 2011, 08:22 AM
Doesn't stop stupid hosts. And points can be hacked.

Dark.Revenant
April 25th, 2011, 08:24 AM
Hacked-points hosts generally played the game a lot anyway. And people who play the game enough to get 50ish points stop being so stupid.

oops_ur_dead
April 25th, 2011, 08:27 AM
Unless they're trolls.

squall55
April 25th, 2011, 08:30 AM
Or just prevent a role from being chosen more than... say 4 or 5 times.. Or a Gamewide restriction of Killing roles... I think a rating System is a way to much effort for something like this.

Clawtrocity
April 25th, 2011, 08:37 AM
Or stop joining public games...host your own game...and make your own rules. I don't see why we need complicated algorithms or restrictions on things that can be prevented easily. If you want to have a fun game then create a game of mafia, open it to public, and set up the rules the way you want to play. If someone complains about your setup then tell them to make their own game or deal with it.

Elixir
April 25th, 2011, 09:01 AM
Or stop joining public games...host your own game...and make your own rules. I don't see why we need complicated algorithms or restrictions on things that can be prevented easily. If you want to have a fun game then create a game of mafia, open it to public, and set up the rules the way you want to play. If someone complains about your setup then tell them to make their own game or deal with it.


I agree with this. But also check out the Mafia chat channel. The games formed in there are usually good.

I've been hosting in the mafia channel pretty much all night with fairly balanced settings.

Deolrin
April 25th, 2011, 09:50 AM
What Clawtrocity said really.

Vorpal
April 25th, 2011, 10:38 AM
Or stop joining public games...host your own game...and make your own rules. I don't see why we need complicated algorithms or restrictions on things that can be prevented easily. If you want to have a fun game then create a game of mafia, open it to public, and set up the rules the way you want to play. If someone complains about your setup then tell them to make their own game or deal with it.


I agree with this. But also check out the Mafia chat channel. The games formed in there are usually good.

I've been hosting in the mafia channel pretty much all night with fairly balanced settings.


This. I was in those games of Elixirs, and they were good. Except the randoms who joined to make up the numbers. Public games have stuff like "lol i'm a serial killer awesome what do i do!??".