- Joined
- Feb 15, 2016
- Messages
- 239
- Reaction score
- 58
Request:
Add support for multi-server blacklist checks at time of login. Will be referred to as "APBL" within this suggestion; an abbreviation of Abusive Player Black List.
The overall goal here is to globally and automatically ban players that multiple trusted admins have deemed undesirable visitors to their own servers; helping ease administrative overheads across the board, including with Schine staff themselves.
Currently:
Banned players are able to continue griefing other servers, indefinitely. Even once there's a cost to obtain accounts, other online games experience similar circumstances; players with more money than sense, just keep buying additional accounts. A stronger deterrent is needed, and a "global ban" would help accomplish this. Such a tool also needs to have a means of minimizing admin abuse as well.
Result of proposed:
Suggested Method:
More specific implementation suggestions:
Automated querying of SMD forum's ban status would also be a nice addition to this function, a feature that each server admin could enable/disable at their discretion. Quite frankly, if the player has been abusive enough to have been banned from SMD, why are they still being allowed to grief countless private server owners.
Rationale:
This suggestion is the result of multiple server admins coming together, seeking a mutually beneficial solution which minimizes risks of abuse, maintains player privacy, reduces administrative overheads, automates a global ban processes, and improves overall enjoyment of the game by legitimate non-abusive players.
Third-party works in progress include www.smbans.com
Add support for multi-server blacklist checks at time of login. Will be referred to as "APBL" within this suggestion; an abbreviation of Abusive Player Black List.
The overall goal here is to globally and automatically ban players that multiple trusted admins have deemed undesirable visitors to their own servers; helping ease administrative overheads across the board, including with Schine staff themselves.
Currently:
Banned players are able to continue griefing other servers, indefinitely. Even once there's a cost to obtain accounts, other online games experience similar circumstances; players with more money than sense, just keep buying additional accounts. A stronger deterrent is needed, and a "global ban" would help accomplish this. Such a tool also needs to have a means of minimizing admin abuse as well.
Result of proposed:
- Abusive players banned on multiple unrelated servers run the risk of a global ban.
- Improved anti-griefing/abuse support.
- Enables automated blacklist sharing.
- Each independently-run server will retain full control who's ban list they use (if any), how much they want to permit this list to influence their enforced bans, and as such any abusive servers/admins would be quickly weeded-out and ignored by the larger server owner community.
Suggested Method:
- Players are ranked by a "APBL" score during login, banned if their APBL score exceeds value configured by server owner.
- Each server is specified via AUTO_BAN_BL, and granted an owner-defined level of trust. The player score and server trust levels are added, to determine if a player qualifies for a ban. Qualification threshold is defined by "AUTO_BAN_LIMIT" server.cfg option.
- Include option for custom text string by each server operator, defined by server.cfg entry AUTO_BAN_TXT.
More specific implementation suggestions:
- Add "boolean" server.cfg option "AUTO_BAN_BL", when true:
- Start listener, default to UDP port 4243. This port will be used for APBL queries by other servers.
- Load contents of apbl.txt to establish a list of trusted servers to query, each entry would be a single line:
- hostname:port,trust
- APBL query results should be cached for at least one hour, minimizing impacts of abusive relogging patterns.
- UDP is suggested to minimize TCP related delays.
- The "trust" portion identifies server trust, by an integer value.
- The hostname:port portion would identify a server to query for ban status.
- Add "int" server.cfg option "AUTO_BAN_LIMIT":
- Specifies "ban score", as influenced by each server's level of "trust" specified above.
- Upon reaching the necessary score, a player's login would be immediately rejected, preferably at this phase of the login:
- [AUTH] authenticating playername; useAuth: true; requireAuth: true
[SESSION_CALLBACK] verifying player playername with token: xxxxxx
[OAuth2] Verifying Auth Token 'xxxxxx
[SERVER] Retrieving public user info
- [AUTH] authenticating playername; useAuth: true; requireAuth: true
- When querying a server listed in AUTO_BAN_BL, hash each entry separately, and use hashed values during queries: IGN, SMN (StarMade Account Name), and IP. Hash is intended to help maintain player privacy. If value exists in queired server's ban list, reply with (as relevant):
- IGN:true
- SMN:true
- IPBAN:true
- Each "true" response increases a player's APBL "score" by one.
- Examples illustrating influence of additive "trust" value, assuming (for example) AUTO_BAN_LIMIT=7:
- If query returns true on all three IGN/SMN/IPBAN queries, player is given an APBL score of "3":
- If only one server is queried, and the queried server has a "trust" value of 0, player is permitted to login: overall APBL score was only 3.
- If only one server is queried, and the queried server has a "trust" value of 5, player is denied login: overall APBL score had reached 8.
- If two servers are queried, both servers having a trust value of 1, player is denied login: overall APBL score had reached 8.
- If query returns true on only IPBAN, player is given an APBL score of "1":
- If only one server is queried, and the queried server has a "trust" value of 5, player is permitted to login: overall APBL score was only 6.
- If three servers are queried, each server has a trust value of 1, player is permitted login: overall APBL score was only 6.
- If three servers are queried, two servers have trust=2, one server has trust=1, player is denied login: overall APBL score had reached 8.
- If only one server is queried, and the queried server has a "trust" value of 5, player is permitted to login: overall APBL score was only 6.
- If query returns true on all three IGN/SMN/IPBAN queries, player is given an APBL score of "3":
- Default text for AUTO_BAN_TXT should suggest wording along the lines of "...You have been globally banned, for further assistance please contact admins via forums.example.com..."
Automated querying of SMD forum's ban status would also be a nice addition to this function, a feature that each server admin could enable/disable at their discretion. Quite frankly, if the player has been abusive enough to have been banned from SMD, why are they still being allowed to grief countless private server owners.
Rationale:
- Original inspiration comes from DNSBLs, used very extensively in the email administrator community, by everything from single-user email servers, to very large hosting entities such as gmail. This overall framework has helped minimize effects of harmful/abusive administrators, while profoundly curtailing abusive email behaviors (e.g. spam).
- Similar techniques are being implemented in other online games, for instance Mojang's new server blacklist feature leverages a similar function to blacklist abusive server owners.
- Admins need tools to mitigate abuse, and the current options are minimally useful; it blocks only the most casual of abusive players.
- Use of VPNs to bypass bans would become increasingly less useful, especially with netblock/wildcard support being re-added to /ban_ip .
- Charging for accounts will also help deter abusive behaviors, but this moves the game towards a "pay to play" model, which is not an expressed desire of Schine.
- All ways that an abusive player could bypass bans: changing IPs (e.g. VPNs), creating new accounts, changing IGNs.
- The goal here is to make bans unappealing for abusive players - make it more difficult for them to be abusive.
- This could still lockout legitimate players. To minimize such a risk, the server should honor any whistlist.txt entries.
This suggestion is the result of multiple server admins coming together, seeking a mutually beneficial solution which minimizes risks of abuse, maintains player privacy, reduces administrative overheads, automates a global ban processes, and improves overall enjoyment of the game by legitimate non-abusive players.
Third-party works in progress include www.smbans.com
Last edited: