Raised This Month: $ Target: $400

ExtendedComm v3.0.8b (Updated: 4/17/11)

Post New Thread Reply   
Thread Tools Display Modes
Good Little Panda
Join Date: Sep 2008
Plugin ID:
Plugin Version:
Plugin Category:
Admin Commands
Plugin Game:
Plugin Dependencies:
    Servers with this Plugin:
    Plugin Description:
    Extends the commands provided by basecomm.smx, providing extended and permanent punishments, as well as methods to view current punishments.
    Old 01-01-2011 , 18:39   ExtendedComm v3.0.8b (Updated: 4/17/11)
    Reply With Quote #1

    • The punishment commands provided by BaseComm (sm_mute, sm_gag, and sm_silence) currently only allow you to punish players temporarily. These punishments expire as soon as the player disconnects, allowing them to reconnect and continue griefing.
    • ExtendedComm corrects that behavior by providing the ability to save temporary punishments as well as create punishments for designated amounts of time all the while providing access to them across multiple servers.
    • Provides a straightforward category in the sm_admin menu where administrators can punish players as well as view current comm punishments.
      • The original BaseComm menu option still exist, and will still function, due to my inability to remove them. If this is an issue for you, you'll have to recompile basecomm.sp commenting out the offending lines.
      • The category provides options for issuing new punishments, viewing current punishments (categorized based on the punishment), as well as a List feature that provides information about current punishments.
      • The category also modifies the player's names in all of the options to show what their current punishment is. [ ] = None, [G] = Gagged, [M] = Muted, [S] = Silenced.
    • Temporary punishments are only saved on the server where the punishment were issued. Depending on configuration, these punishments can be saved until map change.
    • Extended and Permanent punishments are saved to a MySQL/SQLite database and are automatically reapplied when the punished player connects to the server. This allows punishments to be applied across multiple servers.
      • Extended punishments will automatically expire in-game at the designated time.
      • Permanent punishments remain on the player until an administrator removes them.
    • Punishments that expire while the client is outside of the server are removed in two manners:
      • Automatically removed when the client reconnects.
      • Pending configuration, the database is pruned of expired punishments every x maps, or administrators can use the sm_commprune to manually prune the database.
    • ExtendedComm has support for protecting current punishments based on immunity levels. When a punishment is issued, the administrator responsible has their immunity level attached to the punishment. In order to modify or remove that punishment, the second administrator must have equal or higher immunity level. Punishments issued by console can only be removed by console.
    • Support for viewing all in-game punishments via the ExtendedComm category in sm_admin as well as the sm_commlist command. This feature provides the ability to view the punishment, who issued the punishment, the time of issue, the time of expiration, the reason for the punishment, as well as the duration.
    • Two configuration files are provided that allow the server owner to determine what per-defined durations and reasons are provided by ExtendedComm's category in sm_admin. These configs also provide the ability to restrict certain durations and reasons to a specific flag.
    • Support for delaying in-game queries (the stuff that saves data to sqlite/mysql) until the client disconnects, or immediately after the punishment is issued/revoked.
    • Additional logging support, that allows you to single out all actions/errors of ExtendedComm into their own files for easy viewing.
    - Database: SQLite
    - Database: MySQL
    Attached Files
    File Type: txt extendedcomm.phrases.txt (11.9 KB, 2041 views)
    File Type: ini extendedcomm_times.ini (1.5 KB, 1355 views)
    File Type: ini extendedcomm_reasons.ini (875 Bytes, 1549 views)
    File Type: sp Get Plugin or Get Source (extendedcomm.sp - 1623 views - 91.3 KB)
    File Type: zip extendedcomm.zip (55.2 KB, 6035 views)
    File Type: smx extendedcomm.smx (37.6 KB, 1397 views)

    Last edited by thetwistedpanda; 04-22-2012 at 14:07.
    thetwistedpanda is offline
    Good Little Panda
    Join Date: Sep 2008
    Old 01-01-2011 , 18:40   Re: [Any] Extended Communication (Dev)
    Reply With Quote #2

    • ExtendedComm currently uses a rather nifty setup where it can automatically update your database installation without requiring any action from you. It's still recommended that you back up the database prior to updating the plugin, however, due to issues that like to ninja their way in. This feature is only available provided you're using the latest version 2.2.4 (pre-3.x update) or 3.x.x. If you're using a version other than these, you're out of luck.
    • v2.2.4 --> v3.0.x:
      • All previous files have been made obsolete, please delete the following files:
        • sm_extendedcomm.smx, located in /sourcemod/plugins/
        • sm_extendedcomm.phrases.txt located in /sourcemod/translations/
        • sm_extendedcomm.cfg, located in <game>/cfg/sourcemod/
        • sm_extendedcomm.txt, located in /sourcemod/configs
      • After the files have been removed, please shut down your server and follow the installation instructions above.
    • extendedcomm_database - Default: "" - The database configuration for ExtendedComm. Use "" to connect to a local sqlite database.
    • extendedcomm_temporary - Default: "0" - If enabled, temporary punishments issued by ExtendedComm will remain until the map changes (as opposed to disappearing on reconnecting). (0 = Disabled, 1 = Enabled)
    • extendedcomm_delay_queries - Default: "1" - If enabled, save queries will be delayed until the client disconnects, otherwise the save queries are executed upon issuing the punishment. (0 = Disabled, 1 = Enabled)
    • extendedcomm_obey_immunity - Default: "0" - If enabled, an admin's immunity is used when assigning a punishment and admins with lower immunity are inable to modify the existing punishment. (0 = Disabled, 1 = Enabled)
    • extendedcomm_action_log - Default: "/logs/ExtendedComm.txt" - The path for logging punishments related to ExtendedComm. Example: "/logs/extendedcomm_actions.txt"
    • extendedcomm_notice_log - Default: "/logs/ExtendedComm.txt" - The path for logging errors related to ExtendedComm. Example: Example: "/logs/extendedcomm_notices.txt"
    • extendedcomm_time_format - Default "" - Determines the formatting for time and date display. Using \"\" will default to sm_datetime_format (/cfg/sourcemod.cfg)
    • extendedcomm_prune_interval - Default "604800" - The number of seconds between each automatic pruning, a feature that removes expired punishments from the database. (0 = Disabled)
    • Parameters: The time parameter controls how long the player is punished. (< 0 == Temporary, 0 == Permanent, # == Minutes). The reason parameter must be inclosed in quotations and must be less than 128 characters.
      • sm_mute <player> <optional:time> <optional:reason>
        • Removes a player's ability to use in-game voice.
      • sm_unmute <player> <optional:time> <optional:reason>
        • Removes a player's ability to use in-game chat.
      • sm_gag <player><optional:time> <optional:reason>
        • Removes a player's ability to use in-game chat and voice.
    • Parameters: To provide compatibility with other plugins and stupidity, extended/permanent punishments are not removed unless the optional remove parameter is specified.
      • sm_ungag <player> <optional:remove>
        • Restores a player's ability to use chat.
      • sm_silence <player> <optional:time (in minutes)>
        • Removes a player's ability to use voice and chat.
      • sm_unsilence <player> <optional:time (in minutes)>
        • Restores a player's ability to use voice and chat.
    • sm_commlist
      • Provides information on punishments for all clients in-game, displaying information such as: reason, admin, duration, issued date/time, expiration date/time.
    • sm_commprune
      • Allows administrators with the ROOT flag to manually prune the punishment database; ideal for very large databases where constant automatic pruning would put strain on the servers.
    • ExtendedComm releases several natives to provide compatibility with other plugins and for additional functionality.
      • ExtendedComm_GetMuteType
      • ExtendedComm_GetMuteLength
      • ExtendedComm_GetMuteStart
      • ExtendedComm_GetMuteExpire
      • ExtendedComm_GetGagType
      • ExtendedComm_GetGagLength
      • ExtendedComm_GetGagStart
      • ExtendedComm_GetGagExpire
    • These natives will return a value of -2 if the database for ExtendedComm is currently experiencing issues (for whatever reason). A value of -1 will be returned if there is no valid data to return (i.e. attempting to get the expiration on a temporary punishment.

    Last edited by thetwistedpanda; 04-03-2012 at 10:49.
    thetwistedpanda is offline
    Join Date: Dec 2009
    Location: Qld, Australia
    Old 01-01-2011 , 19:00   Re: [Any] ExtendedComm (Dev)
    Reply With Quote #3

    Spot on Panda. This increases and expands on the functionality of other plugs, as well as your original one.
    Will report back in any bugs are found, but well done on this.

    Happy New Year to you as well.
    |IC| UltimateZombie: Reloaded - IP:

    |IC| Ultra GunGame SM - IP:
    Sandfly is offline
    Join Date: Oct 2009
    Old 01-02-2011 , 08:22   Re: [Any] ExtendedComm (Dev)
    Reply With Quote #4

    Nice! I noticed, that You create only kind of special plugins. I mean, different than just simple looking plugins, you create fancy stuff.
    Thanks for this, I will report, if I find any bugs...

    Also, 4 suggestions:
    Web interface,
    Admin name/Steam ID (or just a name), and player's name export to the SQL database,
    Reason both in game and the database. This goes with the translations, partially,
    Admin menu integration.

    Last edited by newn; 01-02-2011 at 09:33.
    newn is offline
    Join Date: Dec 2009
    Location: Qld, Australia
    Old 01-02-2011 , 10:08   Re: [Any] ExtendedComm (Dev)
    Reply With Quote #5

    Agreed .. it absolutely needs Admin Menu integration, like the previous version afforded, not just with the Perm Silence / Mute / Gag function, but access through the Admin Menu for a variable timeframe punishment, with perhaps some pre-loaded or cvar variable timeframe settings like 1 Day, 1 Week, 1 Month and finally, Permanent as part of a selection menu of Admin Menu selections.

    It was the main feedback from my CSS Admins that they would like to see - to save time typing out manual commands ... otherwise, this works very well indeed Panda - well done!
    |IC| UltimateZombie: Reloaded - IP:

    |IC| Ultra GunGame SM - IP:
    Sandfly is offline
    Good Little Panda
    Join Date: Sep 2008
    Old 01-02-2011 , 12:47   Re: [Any] ExtendedComm (Dev)
    Reply With Quote #6

    Web interface
    I'm afraid that a web interface is above me; I only know enough html/css to manage templates for things like mybb/phpbb/joomla, so creating something like that just wouldn't happen. There was talk of this type of feature being included in SourceBans 2.0, so this plugin may become obsolete eventually.
    Admin name/Steam ID (or just a name), and player's name export to the SQL database
    The next update already includes an admin steamid for each punishment, but I don't see the appeal of adding name support to the database. A player's name can change easily, but you can always use the steamid to check the logs or the like.
    Reason both in game and the database. This goes with the translations, partially
    I'm not sure on reasons either as that might increase the usage of the sql queries. Albeit, that's in theory as I don't have any actual data, but I'll look into it. Worst case scenario I'll just go snip some code out of SourceBans since that seems to work.
    Admin menu integration
    The version that is currently released already supports admin menu integration as far as I know. Your server may need to be reset first because it replaces the menu entry of the original basecomm, but support is there.

    Last edited by thetwistedpanda; 01-02-2011 at 12:59.
    thetwistedpanda is offline
    Good Little Panda
    Join Date: Sep 2008
    Old 01-02-2011 , 18:47   Re: [Any] ExtendedComm (Dev: v2.1.4)
    Reply With Quote #7

    Version 2.1.4 Released!
    It is recommended you update to this version as soon as possible, as it resolves numerous issues and expands on a bit of functionality. Change log (or at least what I can remember at this time):
    • Resolved issues of all punishments being rendered as temporary punishments once the individual connected.
    • Resolved issues of punishments not being properly reapplied when an individual connected.
    • Modified current SQL queries to work with either SQLITE or MySQL, depending on client preference.
    • Added support for saving the administrator who issued individual mute/gag punishments; currently unable to be seen in-game, will be resolved with next update.
    • Added sm_extendedcomm_logging for some unknown reason, will likely be removed since most individuals will likely prefer to have the logged information.
    • Added sm_extendedcomm.txt, as well as code to allow clients to define their own punishment lengths and the required flag to access each specific punishment length. For example, you can have access to temporary punishments for all admins, extended punishments for certain flags, and permanent punishments for root admins.
    • Added the server command sm_extendedcomm_update, which when used properly, will update your database to the current version.
    Update Instructions:
    • v2.1.3 --> v2.1.4
      • Place sm_extendedcomm.txt into /sourcemod/config/ and configure however you wish.
      • Place sm_extendedcomm.smx into /sourcemod/plugins/ and either restart your server or reload the script
      • Via rcon or server console, run the following query: sm_extendedcomm_update 2.1.3
      • Afterwards, you're good to go!

    Last edited by thetwistedpanda; 01-02-2011 at 18:53.
    thetwistedpanda is offline
    Senior Member
    Join Date: Feb 2010
    Location: Wroclaw, Poland
    Old 01-02-2011 , 20:39   Re: [Any] ExtendedComm (Dev: v2.1.4)
    Reply With Quote #8

    If there is no flag specified it means it won't show up in the menu at all or maybe every admin will have it? (sorry I'm gonna test it tomorrow)

    -auto-disable sm_extendedmute and throw it into disabled plugins, if it's loaded;
    -sourcebans compatibility(that's the numer 1 todo!)
    -translations! - I can help You with polish translation(polish translation is attached!

    If You'll want any future translations, just PM/mail me.

    btw. forgot to say that, beautifull idea, Your a brilliant man! Thanks for this plugins a lot.
    Attached Files
    File Type: txt sm_extendedcomm.txt (2.0 KB, 731 views)

    Last edited by Arcy; 01-02-2011 at 20:46.
    Arcy is offline
    Good Little Panda
    Join Date: Sep 2008
    Old 01-02-2011 , 21:00   Re: [Any] ExtendedComm (Dev: v2.1.4)
    Reply With Quote #9

    If no flag is specified, it apparently doesn't appear in the menu. That's not how I wanted it to work, so that functionality will be fixed in the next update but I've corrected the behavior in 2.1.5. As far as ExtendedMute, while this is meant to be a continuation of that plugin, the two are not compatible so I'm not sure if I want to force clients to remove it. There's only 85 servers running ExtendedMute, however, so it shouldn't be too much of an issue.

    I'm not sure what you mean by SourceBans compatibility though . If it's in reference to what I said about SourceBans 2.0, that's on their end and it'll just end up depreciating this plugin. It's just a feature request on their tracker that I came across one day.

    And translations, that's on my to do list I just haven't gotten around to them. I wanted to get everything functional first and then work on translations. As for the file you provided, the translations can't be done in that file (while I appreciate it). Instead I'll have to rework some of the code (and possibly the contents of the .txt file) to make it work with translations. Probably will end up removing the "display" option, and instead having that dynamically generated based on the number of seconds provided. I.e. < 60, use Minutes, < 1440, use Hours, < 10080, use Weeks. And then let those terms be translated.

    Version 2.1.5 Released
    • Added some code that'll allow the plugin to function properly if sm_extendedcomm.txt is not found.
    • Resolved an issue that prevented administrators from accessing a punishment length if no flag was specified.

    Last edited by thetwistedpanda; 01-02-2011 at 21:14.
    thetwistedpanda is offline
    Good Little Panda
    Join Date: Sep 2008
    Old 01-02-2011 , 21:52   Re: [Any] ExtendedComm (Dev: v2.1.5)
    Reply With Quote #10

    Are you trying to run this plugin on a Listen Server nOfeaR? I can't see how a client index of 0 is appearing in Command_IssueGag. Or perhaps did you try issuing the order through RCON?
    thetwistedpanda is offline

    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 01:30.

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