You could use my "No Dupe Account" CS:GO plugin, which could fit your needs.
See
https://forums.alliedmods.net/showthread.php?t=330779 -
https://github.com/azalty/sm-no-dupe-account/
The plugin has been thought for csgo, but should work by disabling CSGO level, CSGO prime and CSGO coin verification:
nda_level "0"
nda_prime "0"
nda_coin "1"
Then by modifying
this line to:
PHP Code:
Format(g_sRequestURLBuffer, sizeof(g_sRequestURLBuffer), "http://api.steampowered.com/IPlayerService/GetOwnedGames/v1/?key=%s&include_played_free_games=1&appids_filter[0]=440&steamid=%s", g_sSteamAPIKey, steamid);
(changing 730 to 440 - the AppID of TF2) - it should work with TF2.
Once that is done, recompile the plugin.
I did this modification (and made the AppID a constant), and attached the compiled plugin to this post.
There are also a whitelist/blacklist system, country filtering system, VAC/Game ban verification methods, VPN/Proxy checking, Steam level and age verif
I have no guarantees that it will work, but you might want to give it a try ;)
---
Else, you should be looking at playtime restriction plugins OR steam age restriction plugins