Skip to content

Player Schema V4 Changes Proposal #69

@leighmacdonald

Description

@leighmacdonald

The current TF2BD player schema (v3) limits how much we can really store about a player.

These are some current thoughts about updates that could be made to the schema.

  • players[].attributes[]: It currently only defines: cheater/suspicious/exploiter/racist. I think this should be extended to include arbitrary options defined by the user. For example, the current list does not distinguish between regular cheaters and bots. I do think there is value in keeping a minimum base set of attributes though and including at least bot within that set.

  • players[].name or players[].label: This can be used to label a user with a custom value so its easier to track users who are changing their names.

  • players[].note: Add a field where people can expand on the reasoning for the addition. Or otherwise just document them with whatever they want.

  • players[].count_seen How many times you have seen that player.

  • players[].last_seen.region Add a region that the user was seen in. This could be taken either from the casual server names, or possibly sv_region value but i think that's not directly query able on the the player and just returns -1.

The last 2 items could potentially be merged and the players[].last_seen struct could be turned into an array players[].last_seen[] and then have its children counted. This would balloon the file size somewhat however.

The following items could probably be placed in their own schema, but maybe there is value in including it in here as well, not 100% convinced though.

  • players[].N.action[] Define what actions to take when you see this player. For example kick/notify_lobby/notify_team/notify_all/none. This might make more sense to be placed in a separate local file that is not necessarily designed to be shared.

  • attributes[].action Similar to the previous action: kick/notify_lobby/notify_team/notify_all/none, but instead will defined defaults for the attributes globally. The players attribute under players[].action[] if defined should override the global action.

  • players[].whitelist if this is set to true, override any lists actions, ignoring any actions defined in either your own or 3rd party lists. If set to notify, do not perform any actions other than lobby notifications.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions