Skip to content

Instantly share code, notes, and snippets.

@rubenwardy
Created January 11, 2016 00:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rubenwardy/c41bdf538b4b06b2b4e6 to your computer and use it in GitHub Desktop.
Save rubenwardy/c41bdf538b4b06b2b4e6 to your computer and use it in GitHub Desktop.
RuBAN Proposal

RuBAN Proposal

Aims

  • To make bans more permanent:
    • Other servers look up IPs in their xban2 db and report any associated IPs.
  • To alert moderators of other servers about offending players, so they can:
    • Ban them from their server(s) (manually or automatically).
    • or keep an eye on them.
  • To share bans across multiple servers by the same owner.

How, basically, will it work?

  • Say player X plays on servers A and B.
  • Player X gets banned from server A.
  • Server A reports the ban to the global banlist.
    • Includes reason, date, and any known IPs.
  • Server B sees the new entry, and looks up the IPs in their xban2 db. The server automatically upload any other IP addresses that are associated.
  • The next bit depends on the owners preferences.
    • Auto-ban - Player X is also banned from Server B.
    • Warning - Admins and moderators are alerted that the player has been banned elsewhere.
    • Off - No further action.
  • Potential additional features:
    • It should be possible to auto-ban/warn/off depending on:
      • which server reported it.
      • the ban type eg griefing or swearing (requires moderators to specify).

Problems

  • Ethicalness of sharing IPs.
    • IPs shared will be those associated with someone banned.
    • No usernames will be shared.
    • Ban list will be private.
  • IPs can change.
    • xban2 doesn't currently take this into account. I guess IPs should have an expiry.
  • Trusting the bans of other servers.
    • Only a problem if auto-ban mode.
    • Solved by allowing moderators to approve each ban.

Implementation Proposal

  • Web server.
    • Each server gets given an API key.
    • Requests are in the form of GET/POST requests.
  • Lua mod
    • Uses socket.http to connect to banlist server.
    • Formspecs to see new ban requests.
    • When a player on the banlist joins the server, online moderators see a message about it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment