[ANY] AFK Manager (Version 4.3.0 / Updated July 2nd 2018)
5 Attachment(s)
AFK Manager
Table of Contents
Information This plugin has been designed to manage AFK players, it has a General AFK check along with a Spawn AFK check. It checks player commands for button changes and mouse movements to determine if a player is "AFK". If the player is not "typing/chatting", pressing any buttons or performing any movements of their mouse, they are deemed "AFK" and the plugin can move and/or kick them after a specified amount of time. It will warn players who are detected as "AFK" before being moved or kicked based on specific variables in 5 second intervals. This plugin has been designed to utilize a translation file for use of other languages. Requirements SourceMod v1.4.0+ (Previous version 3 branch) SourceMod v1.7.0+ (Latest version 4 branch) For Automatic Update support you need to do the following: You need to compile the plugin manually with the "updater.inc" as per the compile instructions below. You can download the latest version of the SourceMod "Updater" include file and plugin from: http://forums.alliedmods.net/showthread.php?t=169095 For Color support you need to do the following: You need to compile the plugin manually either with "Multi Colors" (preferred), "morecolors.inc" or "colors.inc" as per the compile instructions below. Multi Colors: Note: Latest "Multi Colors" version requires SourceMod 1.7.0+ Old Release Commit (Working with SourceMod 1.5.0 if you are using version 3): https://git.tf/Bara/Multi-Colors/tree/89cdb804ffc6544b72ec239ea4c507af68de14c8/addons/sourcemod/scripting/include You can download the latest version of the SourceMod "Multi Colors" include file(s) from: https://forums.alliedmods.net/showthread.php?t=247770 More Colors (morecolors.inc): Note: Latest "More Colors" version now requires compiling with SourceMod 1.5.0+ and does not work properly for at least CS:GO You can download the latest version of the SourceMod "More Colors" include file from: https://forums.alliedmods.net/showthread.php?t=185016 Colors (colors.inc): Note: This include is no longer supported and fails on some newer mods/servers You can download the latest version of the SourceMod "Colors" include file from: https://forums.alliedmods.net/showthread.php?t=96831 Installation Details Download the "afk_manager.phrases.txt" and save to your addons\sourcemod\translations directory. Pre-compiled: Download using the "Get Plugin" link and save to your addons\sourcemod\plugins directory. Self-Compile: Download the "afk_manager4.sp" using the "Get Source" link and save to your addons\sourcemod\scripting directory. Quote:
Quote:
Quote:
NOTE: If you get an error I would first recommend updating your SourceMod. Server Console Variables (ConVars)
Server Commands
If you are a plugin developer who wants to add mod specific or server specific functionality to the AFK Manager or to be able to detect AFK status in your own plugin you can now use the Native and Forwards I have created to do so. If you want a generic AFK feature to be added which would be beneficial to any mod, post in the thread so I can review. Information can be found in the afk_manager.inc and the features are currently implemented in the latest release, I believe the functions are about 80% complete, so be aware they could change in the future. I am open to any feedback on whether you want to get more information from the AFK Manager or whether you think any of the current functions should change. Example Plugins for Developers I have written a couple of small example plugins for Counter-Strike/CS:GO to show a few methods of how you can use the AFK Manager natives and forwards: Example Plugin #1 This plugin does not use any of the forwards: http://afkmanager.dawgclan.net/scrip...ger_cstrike.sp The plugin was based off RedSwords original AFK Bomb plugin (https://forums.alliedmods.net/showthread.php?t=152329). In the example you can see how I check for "Active" Terrorist players (Not marked as AFK for even 1 second) in the AFK_RandomBomb() function using AFKM_IsClientAFK(). You can also see how I have created a timer for any players with the Bomb and take action after a certain amount of AFK time in the Timer_CheckPlayer() function using AFKM_GetClientAFKTime(). Please note while I was making this I found there was a bug in the CS_DropWeapon() function for CS:GO where the toss was not working which has been fixed in release 1.8.0.6009 and 1.9.0.6101, thanks to the #SourceMod guys for their input help and fixes. Example Plugin #2 This plugin is more specific to CS:GO around Team Swapping Issues/Modifications: http://afkmanager.dawgclan.net/scrip..._teamchange.sp In this example you can see how I use the "AFK" forward events for "afk_move" and "afk_kick" to mark the player as "Moved" so that we can allow them to join a team again straight away by bypassing the "Pending" team change mode that Valve has implemented. I have also on request added a couple of additional options to: Provided a variable to override the pending team change for all players irrespective of whether they were moved by the AFK manager. Provided a variable to block players from changing directly between Terrorist and Counter-Terrorist Teams. Again these plugin are examples, there are no current translations or anything to notify players about the actions taken in these plugins. If people are interested in me enhancing these to actually be a full blown sister plugin with certain features or want to take the projects on yourself let me know. Change Log * See the afk_manager.changelog.txt for old version information.
- Added new AFK buttons variable which will allow you to disable button change detection completely (Would rely on mouse movements only) or track a certain number of unique buttons. Please let me know if you experience any issues or problems. Credits
Completed Language Translations
Other plugins made by me: Anti-TK Manager: http://forums.alliedmods.net/showthread.php?t=80554 File Information afk_manager-compat - This is an old release which is no longer kept up-to-date and only available for older SourceMod releases. It can be found in the afk_manager_old.zip afk_manager3 - This was the previous version. It can be found in the afk_manager_old.zip afk_manager4 - This is the current version. Most people should use the new version that is NOT in the zip file. Compiled Download with Multi Colors and Updater If you are looking for a compiled download of the latest version of the AFK Manager which includes both "Multi Colors" and "Updater" include files, you can use the Updater download URL Must User Right Click Save As: http://afkmanager.dawgclan.net/plugins/afk_manager4.smx The compiled download URL should be static and contain the latest version of the plugin if you for example want to add to server provisioning scripts or similar, please also make sure you get the translation file either through the forum or via the Updater download URL http://afkmanager.dawgclan.net/trans...er.phrases.txt |
Re: AFK Manager
Quote:
Now, I'm no sourcemod developer, but adding new MaxClients = GetMaxClients(); after the lines // Late Load? and public OnMapStart() { caused it to compile correctly....I'll test it... (note: Web Compile will not work because of the missing semicolon) Also, it's not working in synergy. My config is this: Code:
// This file was auto-generated by SourceMod (v1.0.4) |
Re: AFK Manager
He compiled it vs. 1.1.0 which contains the variable MaxClients and the ; in sdk_tools.
|
Re: AFK Manager
Quote:
I believe MaxPlayers has been modified by pred to make it work, I remember seeing a commit saying the rtv plugin etc have been changed to use this new variable, not sure if it's only in the 1.1 trunk or not. As for your problem with it not working change sm_minplayersmove to be at least 1, I believe 0 would be disabled. Ok was just told that the MaxClients variable might be 1.1 only, if there is a need to use with 1.0 SourceMod versions let me know and I'll make some changes. |
Re: AFK Manager
Dont forget to post the compiled plugin as an smx so everyone doesnt have to compile. Are a flagged clients immune too?
|
Re: AFK Manager
Ok changed the MaxClients variable to try and use the older method supported by 1.0x branch of SourceMod.
Uploaded a compiled version of the plugin as well. Quote:
|
Re: AFK Manager
Now I'm getting this error:
Quote:
Quote:
|
Re: AFK Manager
Er,
Can you type sm plugins list Tell me if the plugin is loaded? Then check the plugin number and type sm plugins debug # on Where # is replaced with the plugin number and tell me if it still says the plugin is not runnable??? it it was not runnable then how did it even get to the error message. Once I know where it's complaining about checking the IsClientConnected I can look at fixing it but I don't think that error should be causing any problems, sounds like maybe it was doing a check but the client was disconnected or disconnecting or something. Also upon some checking, I think the attached compiled smx file was wrong, I have uploaded a new version. |
Re: AFK Manager
Ok after consideration I have now changed this plugin and made it require 1.1 trunk version of SourceMod, you can read the original post for more details.
|
Re: AFK Manager
First of all, Synergy doesn't like SM 1.1
Second, I'll answer your questions anyway: The plugin IS loaded with errors I told you what happens when I try to turn on debug |
Re: AFK Manager
Quote:
SourceMod v1.1.0-2365 - Created new "OnClientConnected()" forward which correctly handles players connecting for mods like Synergy. This OnClientConencted() correctly identifies when a client connects matching it with OnClientDisconnect(). If you use OnClientConnect() and a player is disconnected by the server for not having the required mounts OnClientDisconnect() is not called causing problems. This was causing issues with RTV ending up having incorrect numbers amongst probably other plugins hence why OnClientConnected() was created and RTV plugins were changed. https://bugs.alliedmods.net/show_bug.cgi?id=3376 https://bugs.alliedmods.net/show_bug.cgi?id=3311 https://bugs.alliedmods.net/show_bug.cgi?id=3312 But yeah ok if you say it doesn't work when I clearly know it's working and as I mentioned I am using a new OnClientConnected() function to fix the client connections which is only in the 1.1 trunk. I believe you are probably having issues because we determined 1.0.x is probably thinking the OnClientConnected() function is a custom function not a SourceMod function. The issue you were seeing with IsClientConnected() I believe I have fixed in the next release I'll make and should of only been applicable for late-loading the plugin where it was checking the players wrong and should have been using IsClientInGame() |
Re: AFK Manager
Maybe this could help?
Quote:
I'm not sure if you can access those from SM plugins though. I'm not familiar with any programming related to the source engine. |
Re: AFK Manager
Quote:
|
Re: AFK Manager
Uploaded 2.5e which is just a few slight changes, one was the error message on late-load that was mentioned before giving invalid indexes. This should be resolved now and the other was that DEBUG was enabled by default which would have generated more debug information which may have some performance impacts, this has been disabled by default now.
|
Re: AFK Manager
It fails to load in TF2 right of the bat. Compiling it against the latest stable sourcemod version gets it to load but it doesn't actually do anything.
:/ |
Re: AFK Manager
Can you tell me the output of your "sm version" ?
Have you compiled with DEBUG enabled and do you have anything in the SourceMod logs? |
Re: AFK Manager
Uploaded version 2.5f
Fixed a few error messages that would occur when changing maps due to the timer starting before a player was fully in the server. Also added a few more debug messages for DEBUG mode. |
Re: AFK Manager
Has anyone tried the Spectator move function at all? Does it work etc?
|
Re: AFK Manager
This doesnt appear to run in my INS server with 1.0.4 on Windows OS.
No errors in the log but it never moves anyone to spec or kicks them whatsoever. |
Re: AFK Manager
Quote:
|
Re: AFK Manager
Plugin wont load up on SM 1.1.0.2419 windows server.
Error: [SM] Unable to load plugin "afk_manager.smx": Native "VerifyCoreVersion" was not found. Also have bunch of compile errors. //// afk_manager.sp // \addons\sourcemod\scripting\include\sdktools_ stocks.inc(57) : error 001: expected token: ";", but found "for" // afk_manager.sp(78) : error 017: undefined symbol "MaxClients" // afk_manager.sp(102) : error 017: undefined symbol "MaxClients" // afk_manager.sp(317) : error 017: undefined symbol "MaxClients" ALSO..........I notice you clearly got this idea or copied alot of the code from Liam.... If you notice his directions for the cvars are to go into cfg\sourcemod\afk_manager.cfg. You have the exact same config and cvars used on yours lol... You shouldnt be using the same config file if thats even where the cvars are supposed to go. You should also change the cvars so they are different from his. I suppose in this case it doesnt matter since nobody would be loading 2 afk managers at the same time but.... Furthermore, both of you should have the custom config auto-created with default cvars in the first place, instead of forcing admins to go make the config file and copy/paste the cvars in. If youre going to do it that way, its a bit nicer for people if you at least list the cvars in the same format as the config files so at least we can just copy/paste them in. |
Re: AFK Manager
Quote:
You have 2419? the latest I see is 2401? Can you give me an output of "sm version" Both of those errors you posted indicate you probably don't have the correct version as the Requirements section shows which version both of those were fixed in? Yes, It was already stated that this plugin was Liam's original code with modifications as stated in the initial port? Feel free to read through it to see what has been changed. Therefore I see no need to change the config file at this point because yes as you said you would not run multiple AFK Managers and at current all the cvars are the same. There is no need "at this point" to change the cvars. I have changed the version cvar so they can be identified differently. I am fairly sure I did not touch the cvar generation parts and if the file does not exist and you load the plugin successful either on load or on map change the file should be automatically generated? |
Re: AFK Manager
*edit*
Never mind, that was too negative so I'm removing it. I'll just say, sounds like a nice plugin, but i'm not moving off a STABLE release of sourcemod to install it. Thanks for your work however and I look forward to trying it out when 1.1 is final. |
Re: AFK Manager
Quote:
Me either. If it doesnt work in my SM version of 1.1.0.2419 which is proven stable, im not changing. Thanks for the efforts and improvements. I love getting and using improved plugins, but this doesnt work so I went with Liams. I will say, just fyi if it doesnt work with 1.1.0.2419 which many admins use, I highly doubt this will work with many other versions. |
Re: AFK Manager
Quote:
|
Re: AFK Manager
Quote:
If no-one uses 1.1 with the new bug fixes and feature updates then how will it ever progress? There are probably a number of changes that have even added additional support or fixed things for TF2 for example. I don't know which 1.1 "stable" release you are talking about because if you look on the SourceMod release page 1.1 does not exist. Then on the "snapshot" page latest I see is 2401? |
Re: AFK Manager
Rothgar, that is hg2401. The SVN builds went up higher (2419 and up) before they switched to mercurial which added the "hg" before the build numbers.
|
Re: AFK Manager
Yeah what he said. When you speak about SM builds you really need the to include the full name. 2401 is hg2401, thats way different from 1.1.0.2419.
You didnt note that in your post..... I guess that explains why it doesnt work at all or compile. You used code supported in only the mercurial snapshot versions. So basically the first page should say it requires 1.1.0.hg2383 NOT 1.1.0.2383. |
Re: AFK Manager
When I say I'm waiting until 1.1 is final, I mean when you can download it as a finished, stable build that you can download from the stable releases download page. Currently the last stable release is 1.0.4. Of course if 1.1 never is released as a final build I'll just load the plugin on the next available stable release that this plugin will work with. Whether that's 1.0.5 or whatever, it's all good.
While I'm at it, assuming I ever load this plugin, which sounds nice, will it work for HL2DM? Thank you. |
Re: AFK Manager
1.1.0 is the next release and it is close to release according to Bail.
|
Re: AFK Manager
Hmm fair enough, odd that they changed the 1.1 branch like that so they don't match:
sm version for example shows: 21:38:04 SourceMod Version Information: SourceMod Version: 1.1.0-dev SourcePawn Engine: SourcePawn 1.1, jit-x86 (build 1.1.0-dev) SourcePawn API: v1 = 4, v2 = 2 Compiled on: Oct 19 2008 00:50:38 Build ID: 2370:43b134b35542-dev http://www.sourcemod.net/ Build ID is 2370 in this instance. I will update the first post to reflect this and then I might try and upload a "compat" version or something which should run on the older release. If people want to try and use the move to spec option that might be another story I am not sure when the findteam function was implemented and people can manually add the semi-colon to the file as per https://bugs.alliedmods.net/show_bug.cgi?id=3376 if it does exist and you want to compile manually. This plugin _Should_ work with any mod, that was my goal/idea anyway. Some mods won't be able to use the spectator feature due to not having a spectator team but for the ones that do I have tried to make that flexible/dynamic and not hard-coded to specific team ID's. |
Re: AFK Manager
Uploaded new "compat" version which should work with older versions of SourceMod maybe. let me know how it goes.
|
Re: AFK Manager
Thx. Ill try it out.
|
Re: AFK Manager
When you say 'older releases' are you including 1.0.4 or is this strictly for the development builds 1.1.xxx? I'd be happy to load it up and see how it works if you think it might on 1.0.4
|
Re: AFK Manager
Quote:
|
Re: AFK Manager
That is a bug that was corrected in a recent release of the SM code compiler. So no, its not a problem anymore. Update your compiler.exe / spcomp.exe
|
Re: AFK Manager
Well I downloaded your afk_manager-compat version however after attempting to load it I got this error:
Quote:
|
Re: AFK Manager
Means it wasn't compiled on 1.0.4, try compiling it yourself.
|
Re: AFK Manager
Quote:
Never mind, I see I can just add the semi colon myself and recompile. Thanks. Ok I got it compiled then uploaded to the server. After a server restart I tried "sm plugin list" and got this: Quote:
Quote:
Quote:
|
Re: AFK Manager
Ok the deleted post that says the reason is "Figured it out". Does not refer to my "IsClientInGame" problem. It was a totally unrelated problem. And now to avoid any confusion I have the last 3 posts which is exactly what I was trying to avoid however I didn't want any confusion. Sorry.
|
All times are GMT -4. The time now is 14:37. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.