Basic AFK Manager
3 Attachment(s)
This plugin has been designed to handle AFK players. It checks each player every 10 seconds to see if they are still in the same place, and if so, will kick them after a specified amount of time.
This has been tested on TF2 and CSS. Changelog 1.0 - Initial Release 1.1 - Fixed a bug where it wasn't clearing out the AFK times. 1.2 - Adjusted the code to check the clients eye position to verify AFK so that Snipers / Campers don't get kicked for not moving. 1.3 - Added a new cVar, sm_minplayerskick, to specify the minimum amount of players to have before kicking. - Renamed sm_minplayers to sm_minplayersmove, to specify the minimum amount of players to have before moving them to spec. - Suggestion: delete the old afk_manager.cfg so that it can generate a new one with the updated fields. 1.4 - Corrected the bad cVar bug that was spamming the log files. - Corrected the version info for when the plugin is loaded. 1.5 - Corrected the issue with the AFK Manager not kicking players from spec. 1.6 - Corrected issue with players not on a team or class in TF2 not getting kicked. - Corrected issue with picking a team not resetting the AFK timer. - Corrected issue with it not kicking players from spec correctly. 1.7 - Rewrote the handlers that checked the players view. It was not updating on the fly, so if the player ever moved from spawn, they would not be counted as AFK. - Corrected a bug in the code that prevented players from getting kicked. - Corrected a bug in the code that made the plugin ignore players and not bots. (Yes, I had a ! in the wrong place :P) - NOTE: Unload Sourcemod when you reload this, or reboot your server. I removed some of the event hooks and we need to make sure they're cleared. 1.8 - Added a check in to deal with dead players. 1.9 - Fixed the glitch that prevented spectating players from getting kicked. 2.0 - Added in PrintToChat messages to notify the in-game players when someone was moved/kicked. 2.1 - Moved the Log and Kick messages above KickClient( ) to get rid of errors. 2.2 - Added in debug messages which can be enabled by setting _DEBUG to 1. - Moved the check for MinPlayers, which shouldn't make any difference. - Added a timer to delay the start of AFK checking so players have time to join the game. 2.3 - Corrected issues with the plugin kicking admins. - Corrected issues with the plugin not paying attention to the MinPlayerCount restrictions. 2.4 - Corrected an issue where players joined a team from spec and got moved back because the AFK Timer wasn't reset. 2.5 - Fixed a bug where dead players would get moved to spec if they were floating in one place and didn't move for the afk timelimit. 2.6 - Added support for Synergy. - Corrected a bug in the 'same place' eye check. 2.7 - Corrected an issue with TF2 Arena moving players into 'Waiting to Play' instead of 'Spectate'. - Corrected a bug where if a player moved in the last few seconds before a kick it would not register their movement and kick them anyway. 2.8 - fixed hook event issue with CSS cVars: - sm_afkenable - Enable or Disable the AFK manager - sm_minplayersmove - Minimum number of players needed before AFK players are moved to spec. - sm_minplayerskick - Minimum number of players needed before AFK players are kicked from spec. - sm_adminsimmune - Are admins immune to being kicked for AFK? (Note: They'll still get moved to spec) - sm_movespec - Move AFK players to spec before kicking them. - sm_timetomove - Amount of time to wait before moving an AFK player. - sm_timetokick - Amount of time to wait before kicking an AFK player. Please let me know if you experience any issues or problems. The cfg file should be in cfg\sourcemod\afk_manager.cfg. |
Re: AFK Manager
Hmm doesn't it put a heavy load on a big server? If every player is chechked in 10 sec? I think it would be enough to check for 20 sec or 30 sec.
Anyway nice to have an old plugin reworked to get it working. |
Re: AFK Manager
Quote:
Now if it was in a callback like OnGameFrame() then it would be a heavy load on the server. |
Re: AFK Manager
I didn't notice any CPU difference running this every 10 seconds. Your only talking about 20-30 iterations of a loop, which is done in less than one second.
|
Re: AFK Manager
Quote:
|
Re: AFK Manager
When you say amount of time to kick is it in minutes, seconds, or miliseconds lol. nvm, didnt know it created its own cfg.
|
Re: AFK Manager
How does it handle players who were bumped by teamates in TF2?
|
Re: AFK Manager
Quote:
seconds |
Re: AFK Manager
Quote:
|
Re: AFK Manager
It doesn't check their eyeposition, it checks their physical location.
|
Re: AFK Manager
My bad. Meh. :p Same basic result tho. Its based on the players position in the game.
|
Re: AFK Manager
Is it? Snipers/engineers can be standing still on the same spot for 5 minutes, and if they're not moving their eyes it means they're AFK, if they are, they're just turtling :P
|
Re: AFK Manager
well, maybe I'll modify it. :P
|
Re: AFK Manager
Plugin updated. See the OP for changes.
|
Re: AFK Manager
Way to support campers Liam! lol j/k...
|
Re: AFK Manager
Thx for this plugin.
1.1 hare working very well in my server. now i try this new version. But i have made a little change in the code for logging plugin action. Code:
HandleAFKClient(client) |
Re: AFK Manager
Okay? Thanks for telling me. :)
|
Re: Basic AFK Manager
if "sm_minplayers" isnt reached will it still move players to spectate?
|
Re: Basic AFK Manager
No, working fine until now. But we have to test the new feature added in 1.2
|
Re: Basic AFK Manager
In the AFK manager plugin I wrote for my server I check players angles instead of position.
It works perfect even for bumps. |
Re: Basic AFK Manager
I changed it to check where they're looking.
on sm_minplayers, the answer is! *checks* no - when someone requested I write this, they didn't want it to do anything if minplayers wasn't met. However, if you want it to, post a feature request. :) |
Re: Basic AFK Manager
if they want it to work at all time all they have to do it set the min player to 1.
|
Re: Basic AFK Manager
Plugin works pretty good, but it seems to still kick players that are still playing. Also is there a setting to have it kick an afker, just put him into spectate like the other cvar?
Also when a player gets kicked he can't rejoin... |
Re: Basic AFK Manager
I'm a bit confused by the sm_minplayers setting. I want it to always move afk's to spec, but only kick the afk's when the server has x amount of players. Is this possible now? Or would it be a feature request?
|
Re: Basic AFK Manager
Plugin updated. See the OP for details.
|
Re: Basic AFK Manager
<3
|
Re: Basic AFK Manager
Quote:
|
Re: Basic AFK Manager
Quote:
|
Re: Basic AFK Manager
got a question in relation to AFK. If I wanted to take a player from a playing status and kick him to spectate immediately from console what command could i use?
|
Re: Basic AFK Manager
That has nothing to do with this plugin, but you can get the TeamSwitch or SM Super Commands plugin and use sm_teamswitch_spec or sm_spec respectively.
|
Re: Basic AFK Manager
Switched over from an older AFK Manager plugin today.
My error log is being inundated by Code:
L 07/27/2008 - 14:00:07: [SM] Native "GetConVarInt" reported: Invalid convar handle 0 (error 4)I'm running CSS. Let me know if you need more info. |
Re: Basic AFK Manager
Please post the debug output.
|
Re: Basic AFK Manager
Plugin updated. See the OP for details.
|
Re: Basic AFK Manager
Code:
L 07/28/2008 - 00:59:54: [SM] Native "GetConVarInt" reported: Invalid convar handle 0 (error 4)Thanks for the quick response. |
Re: Basic AFK Manager
Either way, the issue is fixed. I had a typo in the convar registration.
|
Re: Basic AFK Manager
Awesomesauce.
Thanks a bunch |
Re: Basic AFK Manager
Question:
TF2's built in AFK kicker has an issue where if someone manually changes to spectator, it won't detect, and will never kick them. Does this have the same issue? Will it kick those who manually joined Spectator? If not, that would be a good feature... Also, I have auto team join on which requires the user to pick a class, but randomly joins them to a team. Meaning, if they are AFK when they join the server, they join a team, but stay dead with no class chosen, TF2 also does not pick this up. Will yours? Thanks in advance --Welder |
Re: Basic AFK Manager
It treats spectators differently than in-game clients.
If they are in spec, they get x time and then they get a boot. |
Re: Basic AFK Manager
this wasn't working at all when I had it installed. I had to switch back to my old one. I've posted my config below.
Code:
// This file was auto-generated by SourceMod (v1.0.3) |
Re: Basic AFK Manager
Is it moving people to spec?
|
| All times are GMT -4. The time now is 07:13. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.