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.
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[].nameorplayers[].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_seenHow many times you have seen that player.players[].last_seen.regionAdd a region that the user was seen in. This could be taken either from the casual server names, or possiblysv_regionvalue 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_seenstruct could be turned into an arrayplayers[].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 examplekick/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[].actionSimilar to the previous action:kick/notify_lobby/notify_team/notify_all/none, but instead will defined defaults for the attributes globally. The players attribute underplayers[].action[]if defined should override the global action.players[].whitelistif this is set totrue, override any lists actions, ignoring any actions defined in either your own or 3rd party lists. If set tonotify, do not perform any actions other than lobby notifications.