The online racing simulator
#1 - NovaK
[REQUEST] Global Ban System
Hello there,

I've been looking for some sort of an Global Ban System feature, without any results. A similiar suggestion was made several years ago (back in 2006 more precisely), but never got any further than just being discussed.

I don't know if this need to be amplified through an insim or locally, and that i don't possess enough knowledge in coding this myself, i'm therefor requesting it in this section.

The reason why i'm requesting this is; I'm running two servers, and is partnered up with some other server owners. And our only solution at the moment is to copy the ban file between the servers every day, to keep the same bans on all servers.

So basicly, what this system is all about is that several servers can out of free choice be connected to the same ban list. And all bans that are being putted into place are written into this shared ban list/database, and that the servers read from it.

This can be developed even further with many more great features as like having a common web-interface, but i leave it as an basic request and let the coder decide if he wants to develop it to something better.

My intention is not that all servers in whole lfs should share same ban database list, more as if someone else are running several servers, they can set up their own global ban system, that's only shared between their servers.

Feel free to discuss this, by sharing your thoughts/opinions/suggestions.

Regards,
NovaK
The problems on licensed servers are not so big as they are on demo.

The counter for CG stands on 73 at the moment. That after 2 years.... (some long term bans :/ )

Sure, people are going to yell... That should be much much more! Cry, thisthat.

Well.. Thats exactly why a global ban system will not work. People have different views on adminning servers.
This is a usefull feature I have been looking for, since my team have several servers, and a user banned from one server will be mannualy banned from the rest of the servers.
With a shared ban list, this issue resolves itself.
If friendly teams with same admins want to use the banlist, and avaliability to share a remote banlist on their servers, it will remove crashers and other unwanted users from the servers sharing the banlist, will result in less work for administrators.

If this is done by insim somehow, it might be helpfull to have some overview of what admin banned witch user, on what server.
Helpfull if a banned user asks "why am I banned from your server", you can inform that he got banned from a surten server by a surten admin
Maybe a global ban system will work if indeed a web interface is set, and provides you with an option to create your own group, in which you can allow only certain servers. Or just have it password protected. That way, multiple server owners that trust each-other can have their own, personalized database.

I haven't thought at all how this could be implemented with an InSim, because it's 00:32 at the moment, but on first thought - it shouldn't be too hard, right?

E: Damnit, Wolf! ...
#5 - NovaK
Quote from cargame.nl :Thats exactly why a global ban system will not work.

I don't get your point, why shouldn't it work?

Maybe i formulated myself badly, because of inadequate english language.. But Wolf and Broken summarized and clarified pretty good with what I meant ..
Quote from NovaK :I don't get your point, why shouldn't it work?

That question was mostly answered on the same line:

Quote from cargame.nl :Thats exactly why a global ban system will not work. People have different views on adminning servers.

This kind of system is technically possible (probably even relatively easily) provided someone can reliably host a database & web front end. Getting an InSim app to connect to the DB should be simple enough.

The main problem is that different admin teams tend to have different ways of dealing with things - some may disagree on the lengths of bans or the reasons for them. Ban appeals could potentially be tricky as well.


Some of the issues could be worked out using opt-ins for specific ban reasons (intentional wrecking being an obvious example) and most teams probably wouldn't want to opt-in to rules specific to only a few servers.
However, this would make the system more complicated, which brings forward the other potential issue - are there enough persistent trouble-makers to make it worth the effort?


If enough people are interested, it might be worth it, providing people are willing to put the time & effort (and money) in to keep it going in the long run.
#7 - NovaK
The main reason with this system is:
If you caught a wrecker and you have 10 servers for an example. Regardless of how long the ban will be, you want that person banned on all your servers for the same amount of time. The problem is without this kind of system, you need to go to one server and copy the same ban file into all other servers, every time you ban someone.

It simply doesn't matter how few or many trouble makers it is out there, you still don't wanna copy the same file every time, when you finally spot them.

Nothing says that you must share this system with other server owners. But you can out of free choice do so, but at the cost that you rely on your partner and his admins that they are reasonable when giving out punnishments. It's obvious teams between have different ways of dealing with things, but that's something you have accepted by sharing the same ban database.

And since this system can be developed with more features like collecting information in the web-interface on what server the ban was issued, time and date, when the ban ends, the person who took action, and reason why action was taken. It can't be half bad?

So the question remains, why should'nt it work?
Quote from NovaK :
If you caught a wrecker and you have 10 servers for an example. Regardless of how long the ban will be, you want that person banned on all your servers for the same amount of time.

If you are talking for personal usage... It's already there for ages. It's called Airio.

Quote from NovaK :So the question remains, why should'nt it work?

Degats already clarified that..

Maybe I must make it more simple.

If you think someone needs a ban, I don't necessarily have to agree with that. So thats why a shared ban database would not work.
#9 - NovaK
Quote from cargame.nl :If you are talking for personal usage... It's already there for ages. It's called Airio.

Not everyone want to use Airio as their insim. And it does not offer any solution in having a shared ban database.

Quote from cargame.nl :If you think someone needs a ban, I don't necessarily have to agree with that. So thats why a shared ban database would not work.

You see, that's what comes with sharing the same ban database with other server owners. That you rely on them, that they take nessescary actions, and not goes power hungry. It's all up to the two parties if they want a common ban base or not, and follow the terms they have been sharing and accepted.

Me for an example have limited the ban time for ordinary admins, while superadmins has the ability to extend and unban people.

A global ban system does work, it just depends who you are sharing it with.
Just a suggestion, would sharing the reasons for the ban not be better than a simple ban list? That way other server admins can decide for themselves if (for instance) causing a yellow flag in 90% of entered races is a good reason to ban a racer from their own server.
Quote from NovaK :
A global ban system does work, it just depends who you are sharing it with.

Exactly.

So if you are not sharing it with everybody then its not a global ban system.

What you want, you are already doing. Manually copy the ban file. You are seeking automation for it. Which, a coder can easily do with a bit of basic knowledge.
Quote from cargame.nl :So if you are not sharing it with everybody then its not a global ban system.

Quote from NovaK :My intention is not that all servers in whole lfs should share same ban database list, more as if someone else are running several servers, they can set up their own global ban system, that's only shared between their servers.

Read the quote above from main post. Also sorry for missleading you, what i meant was that each invidual should be given the ability to set up their own global ban system, that they can share with their partners (if they have any), so they can share the same ban database. This was never intended to be shared as a common ban base for every lfs server out there.

So it is a global ban system, just not in the same reach as you are refering to.
Right, OK

I missed that, my bad

Airio however, can have multiple servers connected by InSim and if you ban someone with Airio it's a ban for all the connected servers at the same time. It just checks if a player connects if it's on the list or not.

But, I understand that especially cruise servers, are not that interested in Airio.

Then the only solution stays, creating something similar yourself.
Quote from cargame.nl :Then the only solution stays, creating something similar yourself.

That's why i'm requesting such a system here, since i don't possess the knowledge in creating it myself.

If it is to any interest, i'm using LFSLapper as a base insim that i have customized. But i don't know if this has any influence a part from the request. So it would be nice if a coder could reply here.
Well, I'm up for it. I have a web host as well, which is not going down in the near 3 years.

But, due to University and so-called real-life I won't be able to start immediately, or even keep a consistent pace, so don't expect too much.

If anyone is interested in helping, I suggest that we add each-other in Google+. Make circles especially for this project. And use Google docs for any crucial stuff.
I don't want to make a Facebook group, because Facebook is just full of spam, and it will be hard to concentrate with every bit of the browser constantly moving to inform me who has liked the fact that somebody else wiped his ass and there was no **it on the toilet paper, etc, etc.
Quote from NovaK :That's why i'm requesting such a system here, since i don't possess the knowledge in creating it myself.

If it is to any interest, i'm using LFSLapper as a base insim that i have customized. But i don't know if this has any influence a part from the request. So it would be nice if a coder could reply here.

You CAN use such a system in LFSLapper.

See attached text file for instructions.
Attached files
LFSLapper ban instructions.txt - 616 B - 233 views
Quote from sinanju :You CAN use such a system in LFSLapper.

See attached text file for instructions.

I think you have missunderstood my intentions. If i want someone to be banned for a longer period of time i just ban X amount of days straight away, and unban if i feel they are worthy it. And this doesn't really contribute to a solution of having a shared ban database, i will still need to manually copy the ban file between the servers. Your suggestion was even more complicated..
Quote from broken :Well, I'm up for it. I have a web host as well, which is not going down in the near 3 years.

But, due to University and so-called real-life I won't be able to start immediately, or even keep a consistent pace, so don't expect too much.

If anyone is interested in helping, I suggest that we add each-other in Google+. Make circles especially for this project. And use Google docs for any crucial stuff.
I don't want to make a Facebook group, because Facebook is just full of spam, and it will be hard to concentrate with every bit of the browser constantly moving to inform me who has liked the fact that somebody else wiped his ass and there was no **it on the toilet paper, etc, etc.

Depending on what kind of help you could use I guess I could give you a hand with a few things. I'm not much into web apps development but I think I could go some work in the client-side InSim app...
Quote from NovaK : Your suggestion was even more complicated..

Law of the hammer.
...
Hmmm. I've got a couple of ideas for this one whilst eating dinner tonight. I definitely don't have time to work on them til Sunday now (out of hours work scheduled, birthdays, meh), but I might have a play then... (this genuinely interests me and will probably prod me enough to get relay support into xi4n)

Basically I'm thinking of something like a hive (central) server that connects to a bunch of trusted servers either using the LFSW InSim relay, or directly. The hive then basically just looks for IS_CNL with the reason set to LEAVR_BANNED, and stores the ban centrally as well. Consumers of the feed could then select which server admins that they want to trust and only down a subset of the bans file.. A utility could do this or there could be a tool that uses InSim and does it that way maybe..

Benefits here;
1. Unlike the previous (UKCT) ban system where replays need to be reviewed, it's automated
2. As a consumer of the global bans you can choose to trust only those admins you want to trust (i.e. those with the same point of view)

Negatives;
1. No reasoning can necessarily be stored
2. Dependent on some servers being kind enough to be added to the LFSW InSim Relay or allow direct InSim connections
3. If the hive goes down, everything goes tits up

Anyone spot anything obvious I'm missing? Anything that could be adjusted or added to?
I didn't give it much thought, but what about a sort of peer to peer system where servers would share and exchange their databases of bans? An admin would pick a list of servers he'd like to get the ban info from and some tool would periodically query those servers for updates.
There could also be a central server (kinda like BT tracker) which would list all the servers operating within this system. Such a system would have the obvious advantage of being dependent on pretty much one computer at the expense of using more resources on the peers' side.
Total work in progress, but I've pushed up something to https://github.com/theangryangel/xi4n-mjolnir.

Basically uses your idea MadCatX - a central server (Thor) is used to link the peers and store a backup of the "global" bans, and there's a xi4n plugin (Mjolnir) that reports to the other peers (who immediately try and ban that person) - including the central server.

Pros: Allows for private networks, Cons: Doesn't support cherry picking bans, etc. yet, but I will add it.

It's very hacky right now, probably doesn't work amazingly well, but it's a start. My hangover isn't helping though so I'm probably gonna stop for the day and take it easy
It's almost ashaming to see how much can be done with so little code using node.js Nice job

Anyway, how much hacking would it require to write an independent Mjolnir client without the use of node.js? I'm kinda anxious to try out some C++11 magic in a real project and this sounds like something I'd enjoy doing.
Tbh, probably not much effort. The core of the work that's not really shown is being dealt with by xi4n (for InSim) and node-gossip (for the peer-to-peer communication).

node-gossip is basically just a TCP connection multiplexer that encodes and decodes JSON. I've forked (https://github.com/theangryangel/node-gossip) the upstream version (since it seems to be unmaintained) and I'm considering adding SSL support, some sort of authentication (maybe), possibly changing the protocol so its less chatty, etc.

That said, gossip could be swapped out for something else - I was originally thinking something like XMPP or running it all over HTTP(S).

If you've got any ideas on it being more interoperable MadCatX I'm all ears and willing to prototype something I'm also more than happy to set aside a some resources to run Thor for the community when it's not completely broken and we've got a couple of seed servers
1

FGED GREDG RDFGDR GSFDG