Raised This Month: $7 Target: $400
 1% 

[ANY] AFK Manager (Version 4.3.0 / Updated July 2nd 2018)


Post New Thread Reply   
 
Thread Tools Display Modes
Author
Rothgar
Veteran Member
Join Date: Nov 2007
Plugin ID:
624
Plugin Version:
4.3.0
Plugin Category:
Server Management
Plugin Game:
Any
Plugin Dependencies:
    Servers with this Plugin:
    6848 
    Plugin Description:
    AFK Manager/Kicker
    Old 11-01-2008 , 02:59   [ANY] AFK Manager (Version 4.3.0 / Updated July 2nd 2018)
    Reply With Quote #1

    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:
    If you want Automatic Update support you need to:

    A) Have the "Updater" plugin already loaded/running
    B) Compile the AFK Manager with the corresponding "updater.inc" include file. *
    * The "updater.inc" file should be saved in the addons\sourcemod\scripting\include directory before compile.

    Please read the requirements section for more details.
    Quote:
    If you want Color support you need to compile with the color include file(s), please read the requirements section for more details.

    For "Multi Colors" there are currently 3 include files that need to be used:
    "multicolors.inc" should be installed to addons\sourcemod\scripting\include directory.
    "colors.inc" (From Multi Colors) should be saved to addons\sourcemod\scripting\include\multicolor s directory.
    "morecolors.inc" (From Multi Colors) should be saved to addons\sourcemod\scripting\include\multicolor s directory.

    Otherwise for "More Colors" or "Colors", download the corresponding include file and save to addons\sourcemod\scripting\include directory.
    Quote:
    To Compile with Debug Enabled:

    Open the "afk_manager(3 or 4).sp" in a text editor and set "_DEBUG" to 1
    Compile the plugin and install as per normal.

    NOTE: If you get an error I would first recommend updating your SourceMod.


    Server Console Variables (ConVars)
    • sm_afkm_version - Current version of the AFK Manager. (No edit)
    • sm_afk_enable - Is the AFK Manager enabled or disabled? [0 = FALSE, 1 = TRUE, DEFAULT: 1]
    • sm_afk_autoupdate - Is the AFK Manager automatic plugin update enabled or disabled? (Requires SourceMod Autoupdate plugin) [0 = FALSE, 1 = TRUE]
    • sm_afk_prefix_short - Should the AFK Manager use a short prefix? [0 = FALSE, 1 = TRUE, DEFAULT: 0]
    • sm_afk_prefix_color - Should the AFK Manager use color for the prefix tag? [0 = DISABLED, 1 = ENABLED, DEFAULT: 1] (Requires compiling with SourceMod Colors include)
    • sm_afk_force_language - Should the AFK Manager force all message language to the server default? [0 = DISABLED, 1 = ENABLED, DEFAULT: 0]
    • sm_afk_log_warnings - Should the AFK Manager log plugin warning messages. [0 = FALSE, 1 = TRUE, DEFAULT: 1]
    • sm_afk_log_moves - Should the AFK Manager log client moves. [0 = FALSE, 1 = TRUE, DEFAULT: 1]
    • sm_afk_log_kicks - Should the AFK Manager log client kicks. [0 = FALSE, 1 = TRUE, DEFAULT: 1]
    • sm_afk_log_days - How many days should we keep AFK Manager log files. [0 = INFINITE, DEFAULT: 0]
    • sm_afk_move_min_players - Minimum number of connected clients required for AFK move to be enabled. [DEFAULT: 4]
    • sm_afk_kick_min_players - Minimum number of connected clients required for AFK kick to be enabled. [DEFAULT: 6]
    • sm_afk_admins_immune - Should admins be immune to the AFK Manager? [0 = DISABLED, 1 = COMPLETE IMMUNITY, 2 = KICK IMMUNITY, 3 = MOVE IMMUNITY]
    • sm_afk_admins_flag - Admin Flag for immunity? Leave Blank for any flag.
    • sm_afk_move_spec - Should the AFK Manager move AFK clients to spectator team? [0 = FALSE, 1 = TRUE, DEFAULT: 1]
    • sm_afk_move_announce - Should the AFK Manager announce AFK moves to the server? [0 = DISABLED, 1 = EVERYONE, 2 = ADMINS ONLY, DEFAULT: 1]
    • sm_afk_move_time - Time in seconds (total) client must be AFK before being moved to spectator. [0 = DISABLED, DEFAULT: 60.0 seconds]
    • sm_afk_move_warn_time - Time in seconds remaining, player should be warned before being moved for AFK. [DEFAULT: 30.0 seconds]
    • sm_afk_kick_players - Should the AFK Manager kick AFK clients? [0 = DISABLED, 1 = KICK ALL, 2 = ALL EXCEPT SPECTATORS, 3 = SPECTATORS ONLY]
    • sm_afk_kick_announce - Should the AFK Manager announce AFK kicks to the server? [0 = DISABLED, 1 = EVERYONE, 2 = ADMINS ONLY, DEFAULT: 1]
    • sm_afk_kick_time - Time in seconds (total) client must be AFK before being kicked. [0 = DISABLED, DEFAULT: 120.0 seconds]
    • sm_afk_kick_warn_time - Time in seconds remaining, player should be warned before being kicked for AFK. [DEFAULT: 30.0 seconds]
    • sm_afk_spawn_time - Time in seconds (total) that player should have moved from their spawn position. [0 = DISABLED, DEFAULT: 20.0 seconds]
    • sm_afk_spawn_warn_time - Time in seconds remaining, player should be warned for being AFK in spawn. [DEFAULT: 15.0 seconds]
    • sm_afk_exclude_dead - Should the AFK Manager exclude checking dead players? [0 = FALSE, 1 = TRUE, DEFAULT: 0]
    • sm_afk_move_warn_unassigned - Should the AFK Manager warn team 0 (Usually unassigned) players? (Disabling may not work for some games) [0 = FALSE, 1 = TRUE, DEFAULT: 1]
    • sm_afk_buttons - How many button changes should the AFK Manager track before resetting AFK status? [0 = DISABLED, DEFAULT: 5]
    * Note: The cfg file should be automatically created when the plugin is first loaded in cfg\sourcemod\afk_manager.cfg. If you delete this file it will re-create with the correct (default) cvars on plugin start/map change.

    Server Commands
    • sm_afk_spec - Usage: sm_afk_spec <#userid|name>
    Plugin Developer Information & Examples

    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.
    • 4.3.0
    Added:
    - 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
    • Asherkin - For finding the CSGO team change limit offset.
    • Psychonic & Asherkin - For fixing mouse detection functionality in the SourceMod core.

    Completed Language Translations
    • English (By Rothgar)
    • French (By Cadav0r)
    • Russian (By Snake60 & SelaX)
    • Spanish (By eradeejay)
    • German (By Guggie & Spawn86)
    • Portuguese (By away000 & paulo_crash)
    • Hungarian (By KhyrOO & blue zebra)
    • Polish (By Zuko & Arcy)
    • Turkish (By ZuCChiNi)
    • Norwegian (By checkster)
    • Norwegian (By checkster)
    • Italian (By Obyboby)
    • Czech (By Wooky_)

    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
    Attached Files
    File Type: zip afk_manager_old.zip (37.0 KB, 6457 views)
    File Type: txt afk_manager.phrases.txt (14.3 KB, 28499 views)
    File Type: inc afk_manager.inc (3.2 KB, 21379 views)
    File Type: sp Get Plugin or Get Source (afk_manager4.sp - 33696 views - 79.5 KB)
    File Type: txt afk_manager.changelog.txt (24.2 KB, 3329 views)

    Last edited by Rothgar; 09-06-2021 at 21:40. Reason: New Version
    Rothgar is offline
    Send a message via ICQ to Rothgar Send a message via AIM to Rothgar Send a message via MSN to Rothgar
    crazydog
    AlliedModders Donor
    Join Date: Jan 2006
    Old 11-01-2008 , 06:31   Re: AFK Manager
    Reply With Quote #2

    Quote:
    Originally Posted by web compiler
    /home/groups/sourcemod/compiler/include/sdktools_stocks.inc(57) : error 001: expected token: ";", but found "for"
    /home/groups/sourcemod/upload_tmp/textRyuSvp.sp(77) : error 017: undefined symbol "MaxClients"
    /home/groups/sourcemod/upload_tmp/textRyuSvp.sp(89) : error 017: undefined symbol "MaxClients"
    Adding the ; in sdktools_stocks.inc fixes that error, but the other two still show up.

    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)
    // ConVars for plugin "afkmgr.smx"
    
    
    // Admins immune to being kicked? [0 = FALSE, 1 = TRUE]
    // -
    // Default: "1"
    sm_adminsimmune "0"
    
    // Is the AFK manager enabled or disabled? [0 = FALSE, 1 = TRUE]
    // -
    // Default: "1"
    sm_afkenable "1"
    
    // Minimum amount of connected clients needed to kick AFK clients.
    // -
    // Default: "6"
    sm_minplayerskick "0"
    
    // Minimum amount of connected clients needed to move AFK clients to spec.
    // -
    // Default: "4"
    sm_minplayersmove "0"
    
    // Move AFK clients to spec before kicking them? [0 = FALSE, 1 = TRUE]
    // -
    // Default: "1"
    sm_movespec "0"
    
    // Time in seconds before kicking an AFK player.
    // -
    // Default: "120.0"
    sm_timetokick "5.0"
    
    // Time in seconds before moving an AFK player.
    // -
    // Default: "60.0"
    sm_timetomove "5.0"
    and it's not kicking me.

    Last edited by DJ Tsunami; 03-12-2010 at 03:33.
    crazydog is offline
    Lebson506th
    Veteran Member
    Join Date: Jul 2008
    Old 11-01-2008 , 08:28   Re: AFK Manager
    Reply With Quote #3

    He compiled it vs. 1.1.0 which contains the variable MaxClients and the ; in sdk_tools.
    __________________
    My Plugins
    Spray Tracer by Nican, maintained by me
    Simple TK Manager
    DoD:S Admin Weapons

    Links
    Resistance and Liberation (A HL2 Multiplayer Modification)
    Lebson506th is offline
    Rothgar
    Veteran Member
    Join Date: Nov 2007
    Old 11-01-2008 , 11:32   Re: AFK Manager
    Reply With Quote #4

    Quote:
    Originally Posted by crazydog View Post
    Adding the ; in sdktools_stocks.inc fixes that error, but the other two still show up.

    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)
    // ConVars for plugin "afkmgr.smx"
    
    
    // Admins immune to being kicked? [0 = FALSE, 1 = TRUE]
    // -
    // Default: "1"
    sm_adminsimmune "0"
    
    // Is the AFK manager enabled or disabled? [0 = FALSE, 1 = TRUE]
    // -
    // Default: "1"
    sm_afkenable "1"
    
    // Minimum amount of connected clients needed to kick AFK clients.
    // -
    // Default: "6"
    sm_minplayerskick "0"
    
    // Minimum amount of connected clients needed to move AFK clients to spec.
    // -
    // Default: "4"
    sm_minplayersmove "0"
    
    // Move AFK clients to spec before kicking them? [0 = FALSE, 1 = TRUE]
    // -
    // Default: "1"
    sm_movespec "0"
    
    // Time in seconds before kicking an AFK player.
    // -
    // Default: "120.0"
    sm_timetokick "5.0"
    
    // Time in seconds before moving an AFK player.
    // -
    // Default: "60.0"
    sm_timetomove "5.0"
    and it's not kicking me.
    Yes the ; was not in there which was an error, I logged a bug report and this should be fixed in the latest trunk? So you can either add the ; manually or yeah download the latest SourceMod trunk build.

    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.

    Last edited by Rothgar; 11-01-2008 at 11:46. Reason: New Information about MaxClients
    Rothgar is offline
    Send a message via ICQ to Rothgar Send a message via AIM to Rothgar Send a message via MSN to Rothgar
    DontWannaName
    Veteran Member
    Join Date: Jun 2007
    Location: VALVe Land, WA
    Old 11-01-2008 , 16:01   Re: AFK Manager
    Reply With Quote #5

    Dont forget to post the compiled plugin as an smx so everyone doesnt have to compile. Are a flagged clients immune too?
    __________________


    Last edited by DontWannaName; 11-01-2008 at 16:07.
    DontWannaName is offline
    Rothgar
    Veteran Member
    Join Date: Nov 2007
    Old 11-01-2008 , 20:22   Re: AFK Manager
    Reply With Quote #6

    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:
    Originally Posted by DontWannaName View Post
    Are a flagged clients immune too?
    They should be it checks if the client is an admin which I believe returns for any flag.
    Rothgar is offline
    Send a message via ICQ to Rothgar Send a message via AIM to Rothgar Send a message via MSN to Rothgar
    crazydog115
    Junior Member
    Join Date: Jan 2006
    Old 11-01-2008 , 22:23   Re: AFK Manager
    Reply With Quote #7

    Now I'm getting this error:

    Quote:
    L 11/01/2008 - 19:16:51: [SM] Native "IsClientConnected" reported: Client index 11 is invalid
    L 11/01/2008 - 19:16:51: [SM] Debug mode is not enabled for "afk_manager.smx"
    L 11/01/2008 - 19:16:51: [SM] To enable debug mode, edit plugin_settings.cfg, or type: sm plugins debug 24 on
    Trying to turn debug on gives me this:
    Quote:
    [SM] Could not toggle debug mode on plugin afk_manager.smx.
    [SM] Plugin returned error: Plugin is not runnable.
    Sourcemod 1.0.4 , build 2537 running on Synergy.
    crazydog115 is offline
    Rothgar
    Veteran Member
    Join Date: Nov 2007
    Old 11-02-2008 , 05:05   Re: AFK Manager
    Reply With Quote #8

    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.

    Last edited by Rothgar; 11-02-2008 at 05:11. Reason: Additional Information
    Rothgar is offline
    Send a message via ICQ to Rothgar Send a message via AIM to Rothgar Send a message via MSN to Rothgar
    Rothgar
    Veteran Member
    Join Date: Nov 2007
    Old 11-02-2008 , 06:49   Re: AFK Manager
    Reply With Quote #9

    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.
    Rothgar is offline
    Send a message via ICQ to Rothgar Send a message via AIM to Rothgar Send a message via MSN to Rothgar
    crazydog
    AlliedModders Donor
    Join Date: Jan 2006
    Old 11-02-2008 , 15:52   Re: AFK Manager
    Reply With Quote #10

    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
    crazydog is offline
    Reply


    Thread Tools
    Display Modes

    Posting Rules
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is On
    Smilies are On
    [IMG] code is On
    HTML code is Off

    Forum Jump


    All times are GMT -4. The time now is 02:58.


    Powered by vBulletin®
    Copyright ©2000 - 2024, vBulletin Solutions, Inc.
    Theme made by Freecode