Page 1 of 1

[Tool] Trust Circles

Posted: 13 Jul 2012, 09:22
by The_Big_Boo
Hi everyone,

We, NadeoLive, launched during the alpha a new service for server admins: Trust Circles!

About it

Players with inappropriate behaviour are sadly common on online multiplayer games. As a server admin you might want to get rid of these trouble-makers ; unfortunately, you can't stay 24/7 to watch and kick/ban them. Moreover, you sometimes want to make a list of these people and share it with others, eventually allowing them to add names to it and so here comes the interest of Trust Circles.

The main idea of Trust Circles is a service so you can share, merge and access blacklists easily. And as there are also people who're always polite and fairplay (yourself to begin ^^), you can also whitelist people to say to anyone they can be trusted.

How does it work

First step: create an API username
For those who aren't used to our web services, I recommend you to read this forum: Else you can directly go to the Player page > Advanced > Web Services and create an API username.

Second step: create or join a circle
Even if you can already blacklist or whitelist people thanks to previous step, this is pretty useless until you're in a circle. So, still on the Player page, go to Advanced > Trust Circles.
Here you can either create a new circle or join an existing one. When you create a circle, be careful to remember the password. As nobody owns a circle, you won't be able to get a new password for it but if you want to invite people into your circle, you'll need to give it to them. You can be part of as many circle as you like, each of them will benefit of your own blacklist and whitelist.

You're now ready to go!

Example of usage

To show you a first example on how to use it, we made a little ManiaLive plugin. To get it working, you need at least ManiaLive 2.1.12. The TrustCircle plugin can be found in the standard plugins.

This plugin should be pretty simple to configure, depending on how do you want to use it. First, you have to add these lines to your config file.

Code: Select all

manialive.plugins[] = 'Standard\TrustCircle'
alias trust = 'ManiaLivePlugins\Standard\TrustCircle\Config'
Then, you can specify from which circle(s) you want to get informations about players. You can set any circle, whether you're part of it or not.

Code: Select all

trust.readFrom[] = 'a_circle'
trust.readFrom[] = 'another_circle'
Finally, you can set rules so when a player connects to your server he will be automatically kicked or even blacklisted. Their syntax is "a boolean expression=>an action".
There are two constants usable in the boolean expression:
  • B for the number of times a user has been blacklisted in circles you set before
  • W for whitelistings
And there are 4 different actions:
  • N to refuse the player and kick him
  • Y to accept the player
  • B to auto-blacklist the player
  • W to auto-whitelist the player
Rules are checked in the order you declare them in the config file. When a rule evaluate to true, the action is applied and following rules are ignored.

Here are some examples:

Code: Select all

trust.rules[] = 'B > 5 => N' ; if a player has been blacklisted more than 5 times then kick him
trust.rules[] = 'W > B => Y' ; if he has been more whitelisted than blacklisted then accept him
trust.rules[] = 'W == 0 && B > 10 => B' ; if he has never been whitelisted and blacklisted more than 10 times then blacklist him
More generally about plugins using WebServices, and this is very important to use this plugin, you need to set your API credentials. Add these lines in your config file (don't forget the single quotes around values, especially for username):

Code: Select all

wsapi.username = 'API username'
wsapi.password = 'API password'
Other features
Additionally, at launch, the plugin is synchronizing your server blacklist with logins you've blacklisted on the API so those people won't be able to enter the server at all. It's like having your blacklist file in the cloud.

Finally, there are chat commands to blacklist or whitelist players:
  • "/+black login" to blacklist someone
  • "/-black login" to unblacklist someone
  • "/+white login" to whitelist someone
  • "/-white login" to unwhitelist someone
To coders

If you want to make your own plugin for ManiaLive or for another server controller, feel free to do it!
Note that for ManiaLive, the WS SDK is already included but for any other server controller you'll need it.

Re: [Tool] Trust Circles

Posted: 14 Jul 2012, 12:20
by The_Big_Boo
Did you use the version posted on alpha topic or the one in the last standard plugins package? It should be fixed in the latest. ;)

Re: [Tool] Trust Circles

Posted: 23 Feb 2013, 06:35
by Dwight
Thanks for the post.