Global Banlist Plugin

Discussion in 'General' started by Evan, Mar 3, 2008.

  1. Evan

    Evan League Commissioner

    Messages:
    1,807
    Likes Received:
    0
    Trophy Points:
    0
    RampantAndroid and I have begun work on a global banlist server plugin.

    Site is currently: http://bans.empiresleague.com but we will probably buy a domain eventually

    Is anyone interested in helping?

    Who we need help from:
    • Server admins for testing the plugin .dll when it gets to that stage
    • PHP web developers who can help with displaying tables of mysql data on the fly
    • Linux plugin developers
    • Server admins who want to foster a server admin community (shared files, forum moderators, etc)
     
    Last edited: Mar 3, 2008
  2. Beerdude26

    Beerdude26 OnThink(){ IsDownYet(); }

    Messages:
    7,243
    Likes Received:
    13
    Trophy Points:
    0
    I'll be a tester for whenever it comes out
     
  3. Lollum

    Lollum Tester++

    Messages:
    1,437
    Likes Received:
    1
    Trophy Points:
    0
    I can talk to my clan-leader and ask him, if he wants to install and test the plugin.
     
  4. rampantandroid

    rampantandroid Member

    Messages:
    2,664
    Likes Received:
    0
    Trophy Points:
    0
    There *will* be a delay when I first have a testable version - I've just started some other work for the mod and have the PUG site to finish.
     
  5. Private Sandbag

    Private Sandbag Member

    Messages:
    7,491
    Likes Received:
    0
    Trophy Points:
    0
  6. Evan

    Evan League Commissioner

    Messages:
    1,807
    Likes Received:
    0
    Trophy Points:
    0
    How? <filler>
     
  7. eth0

    eth0 Member

    Messages:
    248
    Likes Received:
    0
    Trophy Points:
    0
    I'd like to help out. But the technology aside, what does one do to get put on this *global* ban list and what, if any is the dispute resolution policy?

    I'd hate to participate in a project that had some fundermental flaws or oversights.
     
  8. Evan

    Evan League Commissioner

    Messages:
    1,807
    Likes Received:
    0
    Trophy Points:
    0
    Thread has been moved to public forums
     
  9. Rothgar

    Rothgar Member

    Messages:
    84
    Likes Received:
    0
    Trophy Points:
    0
    I agree it sounds like a good idea in some instances but I would rather see something like SourceBans http://www.sourcebans.net be used and maybe modified (Not too heavily so as updates still work) to have the option to query your own internal global ban-lists which some of us have and the option of also querying the EmpiresMod global banlist. In theory this should just be adding a second database query and allowing public read access to the MySQL database?

    I have the same view eth0 what are people going to be banned for, what is the dispute policy etc.

    I was told by Evan this would only be for hackers etc like myg0t and disputes would be via the forums?

    It could work and perhaps having a separate plugin would be good, just depends on how it's implemented I guess and who is in charge of the bans. Then again if you are going to this extent why don't you just take demo's and use SteamBans http://www.steambans.com? So that everyone can benefit from the bans of hackers?
     
  10. arklansman

    arklansman Member

    Messages:
    5,365
    Likes Received:
    0
    Trophy Points:
    0
    You can ban him. :p
     
  11. Extrems

    Extrems Webmaster Extraordinaire

    Messages:
    226
    Likes Received:
    0
    Trophy Points:
    0
    I suggest making it works like BanLink instead.
     
  12. rampantandroid

    rampantandroid Member

    Messages:
    2,664
    Likes Received:
    0
    Trophy Points:
    0
    OK, I guess its time I flesh out what I had planned here:

    The plugin itself would be simple - a it would make use of the events that the server fires, specifically when a player joins the server. When they join, it would query a the ban list with their SteamID looking to see if a ban exists. If one does, kick them and give a popup with the ban reason, if it is permanent, and how to appeal.

    About the banlist: It would be either MySQL based, or based on a file banlist. If MySQL based, it would query the server directly for each ban (or use RPCs, or something) if file based, it would have its own banlist (not altering the server's banlist) and would query it for every ban. The problem with a file list is when to grab a new file - the best I can think of using is every map load check if there is a new banlist (look by timestamp or similar). The banlist direction would allow the global banlist to function even when the MySQL might be down.

    As for the banlists: They would be simple - and yes, banlists I'm thinking. One for your griefers, and general troublemakers, and on for say racist comments, maybe move into the domain of people who are generally insulting (but that is going out of the domain of a global banlist and into the domain of individual server admins, I think.)

    To report a ban, you would need concrete evidence - Demo, screenshots, fraps video (not as useful, but we may have to accept them as Demos tend to crash) and a condump. Basically following the guidelines of what the official server's follow for bans. When someone is caught griefing for the first time, they are banned for say, a week. The ban then expires, and they can play again (the popup that states they are banned would say why and how long they are banned). If caught a second time, the ban would be a month...a third would be permanent. I think this setup would be preferable as it would encourage people to shape up, while not removing them from the game. The same could go for racist comments and the like.

    Now, back to banlists - you WOULDN'T need to run all banlists - I'd load a config file for what banlists you want (griefers, racist etc)

    How bans would be decided: they would need to be decided in an impartial manner, say a group of admins somehow elected to handle the bans, people who are known for being level headed and capable of acting mature. When a ban is submitted, these admins would, in some fashion, review the content and deem it to be insufficient evidence/fake/non-bannable and dismiss it; or something funny is really up, but there is insufficient evidence - so put them on a watch list, finally - good evidence, and follow through on the ban system.

    For submitting a ban, it could be done pretty easily - just make a HTML form for uploading screenshots and a condump.txt, and also allow for demo files and compressed FRAPS movies to be uploaded. If the ban sticks, archive the data and keep it around for:

    Appeals - allowing the banned to appeal the ban, where you could give a 1 appeal per ban allowance. Should they successfully appeal the ban, that ban and ONLY that ban is erased from their record. If it was their first offense, then they can have a second first offense (if you see what I mean).

    For selecting the admins who decide bans...that is up for debate. I won't make ANY statements here since it is such an area of contention that I do not think I have the ability to really look into it. I would want the input of the community, as well as input from server admins and devs.

    Thanks for all the help and feedback.
     
  13. Extrems

    Extrems Webmaster Extraordinaire

    Messages:
    226
    Likes Received:
    0
    Trophy Points:
    0
    Using BanLink's way would've been better really.
     
  14. Rothgar

    Rothgar Member

    Messages:
    84
    Likes Received:
    0
    Trophy Points:
    0
    Why re-invent the wheel?

    BanLink doesn't look to be written for SRCDS?

    SourceBans already is?

    http://steambans.leftunsaid.com/index.php << Example site

    If you really want to have multiple lists, otherwise for hackers, SteamBans, submit the demo's etc so that everyone can benefit across ANY mod so the hackers can't play on any game not just Empires.

    Running 3-4 different ban management plugins is just rediculous and waste of resources. I think they are planning to implement SourceBans into SteamBans at some point too, so one plugin you can have global and private bans.
     
  15. Extrems

    Extrems Webmaster Extraordinaire

    Messages:
    226
    Likes Received:
    0
    Trophy Points:
    0
    BanLink is for Second Life, I'm just suggesting making this system work like BanLink.

    There would have groups of servers and they could set which to trust (and hence share their bans).

    All bans would be immediate and could be disputed.

    If a group would abuse that, other groups that trust it could simply untrust it.

    Etc.
    And there nothing global.
     
  16. Rothgar

    Rothgar Member

    Messages:
    84
    Likes Received:
    0
    Trophy Points:
    0
    This could probably to an extent be done through SourceBans, if you don't have MySQL permissions it's not going to update the database, so if the system works with just read options then you'd be sorted, for the people you want to have access you give them write permissions?

    I have only recently started playing with SourceBans, I don't know how groups etc work but you add all admins into the system and then you can set up groups, however I think it's server groups, as I said not entirely sure how it all works yet. It's a MySQL back-end though.
     
  17. rampantandroid

    rampantandroid Member

    Messages:
    2,664
    Likes Received:
    0
    Trophy Points:
    0
    Who said anything about multiple plugins? Hmm? Reread my post. I said something about a config file, which should make you think that I'm talking about using a SINGLE plugin to pick it all up. If the config file specifies for you to use a racism ban list, then it will accept bans that were doled out for racist remarks. I'm not so fucking stupid I'd write multiple plugins.

    If half of sourceban's links weren't dead, I'd look into it...but seeing as how I can't DL the source code, I can't look into it. If you can find me a plugin that is EASY to use (IE, I don't want to make admins install metamod or anything else) and I can either use without altering it at all, or I can use with some modifications to the source code, by ALL means, do it.

    I do NOT want to give one single server admin control over the banlist. That is the LAST thing I want. I want some board of trusted people to have control. If some of those same people are server admins, so be it, but I at no point in time see having one person be the final say on a ban as being good.


    Also, a MySQL backend is OK for some aspects, but for example - my demo site would be hosted with Dreamhost - the same company that hosts empleague, empiresmod.com, KEU and so forth. I know for a fact their MySQL can be slow, and go down at times...the last thing I want is to deal with worrying about the ban list being down and letting all the detritus back in simply because the MySQL server is offline or unreachable.
     
    Last edited: Mar 4, 2008
  18. Rothgar

    Rothgar Member

    Messages:
    84
    Likes Received:
    0
    Trophy Points:
    0
    I'm talking about for those of use that are going to be using SteamBans because they have a database of "[ 31250 ] Banned STEAM_IDs" which is comprised of mostly hackers and is IMO almost 100% accurate. I've only ever seen 1 person complain they were banned and I referred them to the website and never heard from them again.

    Plus those of us who use plugins such as "SourceBans" to hook into a global database between all the servers we use, for example we might run TF2, PVK II, EmpiresMod, Natural Selection etc, and they all hook into a global list for all servers.

    Then now we'd have the Empires only ban list.

    Why don't you instead talk to someone like Olly and join up with him to develop or enhance something like SourceBans? I've spoken to Olly many times and he works on a number of different plugins good guy and would probably appreciate some help if you are serious, plus all the web-based stuff is pretty much complete on his version it just needs some integration help and maybe a few enhancements to do what you are talking about such as having multiple lists/databases?
     
  19. rampantandroid

    rampantandroid Member

    Messages:
    2,664
    Likes Received:
    0
    Trophy Points:
    0
    The problem inherently becomes that we are handing the banlist for empires over to someone we don't know about, we have no control over. I would PREFER to see it handled by people FROM empires who are familiar with it. Try to explain nine mining to someone not from emp and see how far you get. Banning cheaters is entirely different from banning griefers.
     
  20. Rothgar

    Rothgar Member

    Messages:
    84
    Likes Received:
    0
    Trophy Points:
    0
    Yes Well SteamBans is a separate entity and people would be banned usually for hacking. They have a similar evidence system to what you are talking about which is why I say they are almost 100% accurate.

    SourceBans is totally separate, once you implement it on your server, it's your database and you have control over it, you can link other servers into the database by adding MySQL privileges. The web interface is all based on permissions of admins etc, which is why I said if you team up and enhance it it'd probably be better than re-inventing the wheel so to speak.

    I agree all mods are different SteamBans is just for the hackers side of things. As mentioned before also I think the plan is to add SourceBans with SteamBans so you have the global "hacker" database plus your own private/personal bans you can add for all your servers.

    Got to head to work now so bbl.
     

Share This Page