-= Changelog =-
Version 6.5.7 Re-Release 2 (16.12.2023)
o Updated the included tool procrun to 1.3.4. Only a very small update, don't expect real changes.
o Updated "Copyright" and "You need help?" block of the readme files.

Version 6.5.7 Re-Release (16.12.2021)
Notice: This is just a small maintenance update, no changes to the JTS3ServerMod itself was made. But all 3rd party files was updated!
Since the internal build number was not changed, this is just a silent update (no auto update notification triggered).
o Updated JSch SSH library to 0.1.71. This is a JSch fork from mwiede, because the original JSch library is discontinued.
  This update might have the biggest impact. I know some of you had problems using the SSH mode to connect to a TS3 server.
  You should give this another try, maybe it works better now.
  Also included the license files of the JSch library (documents directory), forgot them in the last release.
o Updated the included tool procrun to 1.2.4. Only a very small update, don't expect real changes.
o Recreated the included JTS3ServerMod exe files with a new Launch4j version 3.14. Only a very small update, don't expect real changes.

Version 6.5.7 (31.01.2020)
- Bugfix: InactiveChannelCheck was broken because of query changes of the TS3 server last year. My tests unfortunately did not cover this.
          Now InactiveChannelCheck is compatible with, I guess, TS3 server version 3.9+, but not with older ones.
o Changed max length for chat messages to 8192 bytes (this is possible since TS3 server version 3.8).

Version 6.5.6 (09.01.2020)
+ InactiveChannelCheck - Added a new option to set a channel icon instead of the channel name prefix, to mark a channel as inactive.
  Check out the new config value PREFIX_emptywarniconid.
- Bugfix: Fixed a bug while unloading all plugins while stopping the JTS3ServerMod (internal and external plugins).
          The methods disable() and unload() from plugins was not called always!
o InactiveChannelCheck - The channel name prefix for an inactive channel will be removed, if the JTS3ServerMod will be closed gracefully.
o Updated the procrun tool from Apache Commons to version 1.2.2!
  This now supports newer Java versions, but dropped older Windows versions than Windows 7 / Server 2008 SP2.
  So keep your old JTS3ServerMod\tools\procrun directory, if you have to use very old Windows versions!
o Updated Windows exe files using Launch4j 3.12, which improves the support of newer Java versions.

Version 6.5.5 (27.01.2019)
- Bugfix: WelcomeMessage clientcountry_list_mode ignore was not working as expected, this is fixed now! (thx to Lukas R.)
o Updated documentation with the changes in version 6.5.4.

Version 6.5.4 (05.01.2019)
! WelcomeMessage - Changed the behavior of the config value PREFIX_clientcountry_list.
  By default this list is inverted now. To get back the behavior of version 6.5.3,
  change the new config value PREFIX_clientcountry_list_mode to only.
+ Added country list mode for the WelcomeMessage, which gives you more possibilities filtering for client countries now.
  Check out the new config value PREFIX_clientcountry_list_mode.

Version 6.5.3 (01.01.2019)
+ WelcomeMessage now supports selecting connecting clients using the country code (detected by the TS3 server).
  This makes different welcome messages for different countries / languages possible.
  Just keep in mind, that the country detection of the TS3 server is not always correct and should only be used with the newest version of the TS3 server!
  Check out the new config value PREFIX_clientcountry_list.
+ WelcomeMessage got a new message variable for client server groups: %CLIENT_SERVERGROUPS%
  This list all server group names separated with a comma.

Version 6.5.2 (28.12.2018)
o Changed behavior of InactiveChannelCheck. Channels will not be deleted within the first 10 minutes after starting the JTS3ServerMod.
  If emptywarntime is active, channels will be marked instantly after starting the JTS3ServerMod and deleted after 10 minutes,
  if channel is empty for more than set in emptydeletetime.

Version 6.5.1 (23.12.2018)
! Changed system requirements: Java 7 or newer is needed for the JTS3ServerMod starting with this version!
+ InactiveChannelCheck - Added channel name prefix for inactive channels (can be disabled). Check out the new config value PREFIX_emptywarntime.
+ Added the new feature of TS3 servers 3.5.0 and newer to set the client nickname of the bot before switching to the virtual server.
  In this case the default query name with the ip address is not visible anymore. Of course there is a fallback for old TS3 servers.

Version 6.5.0 (20.08.2018)
+ Added detection and support of TeaSpeak servers.
o Fixed some error messages while using the new SSH mode.
o Added some more information to the log file while loading the Auto Mover function.

Version 6.5.0 beta 1 (11.07.2018)
+ JTS3ServerMod now supports SSH connections to the TS3 server 3.3.0 or newer.
  Enable this by setting the new config key ts3_server_query_mode to ssh in the file JTS3ServerMod_server.cfg.

Version 6.4.5 (10.05.2018)
+ JTS3ServerMod now always answers on private chat messages, even it was not a chat command.
  In this case, an information will be send, that only valid chat commands are allowed.
+ Max value of InactiveChannelCheck_emptydeletetime was raised to 10000.
- Bugfix: InactiveClientsCleaner deletes clients from clients database cache of the JTS3ServerMod, if already not exists on TS3 server anymore.
          No error message will be displayed in this case. (thx to the user Colt)
o Some code cleanup while chat command parsing.
o Skipping to version 6.4.5 (same version as the Hosting Edition released today)

Version 6.4.2 (07.10.2017)
+ New setting for the AutoMove function to ignore the default channel from client.
  Do an -updateconfig or check the ConfigHelp documentation for the new setting.
+ Chat command !listinactivechannels got a new argument nospacer to ignore spacer channels in the list.
o List command from InactiveChannelCheck will now sort the channel list by inactivity time.
o Removed the dependencies to java.xml.bind.DatatypeConverter, to allow using Java 9 without adding modules.
o Some system information will be written into the JTS3ServerMod_InstanceManager.log file and to system out.
o Updated Windows exe files using Launch4j 3.11, which supports Java 9.

Version 6.4.0 (23.03.2017)
! Complete redesign of the IdleCheck function. The configuration of this function has changed!
  If you don't have time to make your configuration compatible with the new version, just
  change the function class from IdleCheck to IdleCheckOld at the bot_functions line of your bot configuration.
+ The new IdleCheck allows to use warn, group, move and kick at the same time. Just set different idle times for each of them.
o Updated some parts of the documentation, also completed the German translation of documents/ChatCommandHelp_deutsch.html

Version 6.3.3 QUICKFIX (30.01.2017)
- Bugfix: The Windows service scripts from the tools directory was not working, if only a 64 bit Java Runtime is installed.
          Created two new scripts, which have to be used, if no 32 bit Java Runtime is installed.

Version 6.3.3 (31.12.2016)
- Bugfix: Missing error message, if the lock file could not be created while starting the JTS3ServerMod. (thx to KILLOVER)
          In this case it was also impossible to start the JTS3ServerMod.
          This was changed now, because the lock file is not needed to run the JTS3ServerMod.
o Changed some log messages if an error occurred while loading the JTS3ServerMod InstanceManager config file.
o Updated Windows exe files using Launch4j 3.9, which fixes some bugs. Java 7 is required now, if you have to use Java 5 or 6: Don't use the exe files!

Version 6.3.2 (07.12.2016)
+ Added chat commands !msgall and !pokeall to send messages to all online clients on the current TS3 server.

Version 6.3.1 QUICKFIX (20.11.2016)
- Bugfix: plugin_api_bin.zip and plugin_api_src.zip was zipped wrong, can't used to compile plugins (bug since 05.11.2016; thx to Maksimo007)
          Recreated and updated this zip files. Sorry for this.
o Updated plugin api documentation.

Version 6.3.1 (20.11.2016)
- Bugfix: Group action at the IdleCheck function now supports clients which are connected multiple times to the TS3 server. (thx to kidi)
- Bugfix: InactiveChannelCheck and chat command !listinactivechannels used a to small datatype to save the channel empty time. (thx to Robert S.)
          Now it should not be a problem if a channel is more than 29 days empty.
- Bugfix: InactiveClientsCleaner deleted the own client database entry, because query clients don't reset the inactivity counter. (thx to GAMERS4EVER and monster010)
          Since I can't change the behavior of the TS3 server, I added a protection, that the client database entry of the bot account don't get deleted.
o Updated JTS3ServerQuery library to new version 2.0.6, which knows the client database id and client unique id of the used query connection now.

Version 6.3.0 QUICKFIX (05.11.2016)
! Bugfix at the Plugin API: Class MySQLConnect was not compatible with the Hosting Edition, bug since version 6.0.7. Fixed now.
o Updated the JTS3ServerMod.jar file, but it should not affect currently used plugins, which are compatible with version 6.3.0.

Version 6.3.0 (09.10.2016)
! Plugin API build is now 4, check out the new plugin API documentation.
  API add:
  JTS3ServerMod_Interface: isLocalClientDatabaseCacheEnabled()
  ClientDatabaseCache_Interface: deleteClientFromCache(int clientDBID)
  ArrangedPropertiesWriter: save()
+ New function: InactiveClientsCleaner
  Deletes clients (including permissions) from the TS3 database after X days inactivity (client database list cache must be enabled!).
  The JTS3ServerMod needs the TS3 permission b_client_delete_dbproperties for this function.
+ New action "group" for the IdleCheck. You don't want kick or move idle clients, but everyone should see quickly, that someone is away/idle?
  This new action is great for you. Just create a temporary server group, which just adds the server group name to the client name.
  As soon as the client is not idle anymore, the bot remove the server group from the client again.
  You can also use the JTS3ServerMod to create this server group for you. Just check out the ConfigHelp documentation.
  To use this new action, the JTS3ServerMod needs the TS3 permissions i_group_member_add_power and i_group_member_remove_power.
+ ChannelNotify can notify the same server group now. Of course the client, who triggered the notification, don't get this message.
  If now a second person from the same server group join this channel, this two clients don't get another notification,
  but all other clients of this server group outside of this channel still get a notification.
- Bugfix: The disable() method of functions was never called on !botcfgreload, if the loadConfig() method returns false.
          So cleaning stuff or stopping TimerTasks from functions was never done.
o Updated plugin api documentation.
o Updated the ConfigHelp files.

Version 6.2.2 (06.09.2016)
- Bugfix: Chat command !bothelp was able to exceed the maximum character count for chat messages. (thx to Frank R.)
o Updated documentation about the config key bot_lightadmingroup_list.

Version 6.2.1 (03.09.2016)
+ Chat commands !searchclients, !searchdesc and !searchip can display much more clients at once now.
  Multiple results will be splitted into multiple chat messages. But there is still a limit to stop flooding chat messages.
- Bugfix: Chat command !searchdesc was displaying ip addresses, if more than 7 clients was found. (thx to Morthawt)
          Now a list of client descriptions will be displayed, if to many clients will be found. So you can refine your search.

Version 6.2.0 (03.09.2016)
! Plugin API build is now 3, check out the new plugin API documentation.
  API add:
  JTS3ServerMod_Interface: getChannelGroupName(int groupID)
  JTS3ServerMod_Interface: getChannelGroupCache()
  JTS3ServerMod_Interface: getServerGroupCache()
  ClientDatabaseCache_Interface: searchDescription(String search)
+ New chat command !searchdesc to search clients using the client description text.
+ New chat commands !pokeservergroup and !pokechannelgroup, similar to !msgservergroup and !msgchannelgroup, but as poke message.
+ New chat commands !listservergroups and !listchannelgroups with or without the client unique or database id.
  With an id as argument you get the server groups or channel groups of a single client.
  Without an argument you get just a list of the current groups on the TS3 server, including the group id.
+ Chat command !botjoinchannel can now display the current channel name of the bot.
- Bugfix: !botjoinchannel was not working correctly, if the bot was moved into another channel by drag and drop in the TS3 client. (thx to kidi)
- Bugfix: Function AutoMove run into Teamspeak 3 Query Errors, if the server default channel was configured as target channel of a server group.
          Now this will be detected and write a warning into the bot log.
o If the config file of the bot was not found, the full path will be written to the JTS3ServerMod_InstanceManager.log file.
o Updated JTS3ServerQuery library to new version 2.0.5, which improve the "query client switched channel" detection.
o Updated plugin api documentation.
o Started translating the ChatCommandHelp.html file to German. Hope to get it done in the next weeks.

Version 6.1.5 SILENT UPDATE 2 (30.07.2016)
o No changes to the bot, but small fixes/updates to the documentation (Readme.txt/html en/de).

Version 6.1.5 SILENT UPDATE (25.06.2016)
o No changes to the bot, but small additions to some documentations (ConfigHelp.html, Readme_plugins.txt).
  Small grammar changes to three config files (automove.cfg, awaymessages.cfg, mutemessages.cfg).

Version 6.1.5 (14.05.2016)
- Bugfix: InactiveChannelCheck had a ConcurrentModificationException since JTS3ServerMod Version 6.1.3, this is now fixed. (thx to Ben and Mitch)

Version 6.1.4 (08.05.2016)
+ Server Group Notify allows now much more keywords about the connecting client. Most of them are already known from the Welcome Message.
o If %CLIENT_COUNTRY% (from Welcome Message or Server Group Notify) don't contain any country shortcut (one reason is,
  that the client is connecting from LAN), it will display unknown as country name. Older versions just displayed nothing (empty string).

Version 6.1.3 (30.04.2016)
! Plugin API build is now 2, check out the new plugin API documentation.
  API changes:
  HandleTS3Events: Renamed handleClientEvents to handleTS3Events
  JTS3ServerMod_Interface: Changed parameter type from getClientListEntry(String clientID) to getClientListEntry(int clientID)
  API add:
  JTS3ServerMod_Interface: removeClientListEntry(int clientID)
  JTS3ServerMod_Interface: setChannelName(int channelID , String newName)
  JTS3ServerMod_Interface: removeChannelListEntry(int channelID)
+ New JTS3ServerMod config value bot_timezone to set the timezone of a bot.
  By default, the default timezone of the operating system will be used (like older JTS3ServerMod versions).
+ Added a new chat command findrule for BadChannelNameCheck and BadNicknameCheck.
  This allows you to find all matching regex rules for a name, good for testing if a regex rule is working (or not :)).
+ JTS3ServerMod start argument -versioncheck has different exit codes now. Very useful for an JTS3ServerMod update check in shell scripts.
  Exit code list:
  -1 = Error while requesting version information from www.stefan1200.de
   0 = No update available
   1 = New stable version is available
   2 = New development version is available
+ Added documents/plugin_sources/plugin_api_bin.zip file, which can be added as library in Eclipse.
- Bugfix at Bad Channel Name Check: If more than one regex rule is matching a channel name at the same time,
                                    multiple error messages will be written into the bot log (invalid channelID / invalid clientID). (thx to Alexander S.)
o Changed the output of the chat command !botversioncheck a little bit.
o The %apphome% variable at the WelcomeMessage function was not resolved at the bot log message.
o Updated plugin api documentation.
o Updated the ConfigHelp files.

Version 6.1.2 (11.04.2016)
+ Added chat command !botinstancename to get the current bot name (Full Bot Admins only).
+ The list command of the InactiveChannelCheck return the inactivity time of a channel and the maximum allowed inactivity time now.
+ Added a full featured start script for linux. This script can start, stop and restart the JTS3ServerMod process.
  This script can also install the Java runtime environment, if this is missing.
  Tested successfully with Debian, Ubuntu, OpenSUSE, CentOS and Fedora.
  Documentation was changed to use this script now.
+ Simple detection if the JTS3ServerMod process was started twice.
  An additional warning will be written to the JTS3ServerMod_InstanceManager.log file.
- Bugfix: !botinstancelist was unable to return the instance list, if there are more than around 10 bots.
          Now this list will be splitted in multiple chat messages. This chat command is still not a good idea,
          if there are much more than hundred bots.
- Bugfix: If a client was connecting and disconnecting very fast, the ServerQuery error "invalid clientID" is now only a warning
          and will not trigger the bot admin exception error notification now.

Version 6.1.1 (04.04.2016)
+ Added platform selection to AutoMove and WelcomeMessage function.
  It is now possible to send a welcome message only to Windows or Mobile clients.
  Or to auto move mobile clients to a different channel.
  This change also allows you to add the AutoMove function multiple times.
+ InactiveChannelCheck got a new chat command list, which lists you all channels, which will be checked for inactivity and deleted.
- Bugfix: The double client connection event fix of version 6.1.0 was not good enough. (thx to Moki, DarkBrain and Callum)
          While it helped in my testing environment, it was more worse in other environments. After some testing, this fix seems to work better.
o The client connection event always contains all information from client info command now. Functions find this information in the eventInfo variable.
  WelcomeMessage was changed to use this, so it do not request a second client info on new client connections anymore.
o All exception error messages have also a second line in the log file now to show where the exception occurred.
o LastSeen function can be enabled multiple times too (this allows you to have different chat commands for last seen).
o Updated the bot documentation, especially the ConfigHelp files.

Version 6.1.0 (28.03.2016)
+ Added the Bot Light Admin, just set a server group with this permission. The following chat commands can be used:
  !clientsearch, !searchip, !listinactiveclients, !listinactivechannels, !channellist, !setchannelname, !setchannelgroup,
  !removeservergroups, !removechannelgroups, !msgchannelgroup and !msgservergroup. All other bot admin commands are not allowed!
+ Server Group Protection have a new setting, to allow a specified server group to use the add and remove chat commands.
- Bugfix: Sometimes the client connection event from the TS3 server fire some actions twice (Server Group Notify, Welcome Message, Auto Move).
o All Server Query errors while moving or kicking a client, which are not permission related, are only warnings now.
  The bot admin exception error notification should now only trigger on errors, which have to be fixed by the bot admin.
o Welcome Message now displays a special message on bot start, if the connection count filter was activated.
o Updated plugin api documentation, three new methods was added. Api build still 1, because old plugins are still compatible.

Version 6.0.7 (20.03.2016)
+ ServerGroupNotify allows to set none at both message modes now.
- Bugfix: Log file handle was removed to fast, some log messages while stopping the bot could not be written to log file. (bug since version 6.0.6)
- Bugfix at the AutoKickTimer plugin: In some cases, if the JTS3ServerMod and the TS3 server running on different machines with
                                      different hardware clock settings, the AutoKickTimer was not working correctly.
o Updated source code in the file documents/plugin_sources/AutoKickTimer_src.zip
o The JTS3ServerMod itself and all functions now show the full absolute path to config files on errors.
o Log file JTS3ServerMod_InstanceManager.log now contains the path to the JTS3ServerMod_InstanceManager.cfg file.
  If the JTS3ServerMod_InstanceManager.cfg file will be reloaded, it will be also written to the log file JTS3ServerMod_InstanceManager.log
o Absolute path to log files will be written to the standard system output (console window).

Version 6.0.6 (13.03.2016)
+ Added new chat command !botlog to get the information where you can find the bot log.
+ You can reload the bot full admin list without stopping the JTS3ServerMod process.
  Just change the list and use the chat command !botinstancelistreload
- Bugfix: Make sure that the file handle will be closed, if the bot log will be written to a file.
o Updated some bot command help messages.

Version 6.0.5 (12.03.2016)
- Bugfix: Fixed the most reasons for the following two server query errors: "already member of channel" and "invalid clientID".
          Affected functions: AwayMover, MuteMover, IdleCheck, RecordCheck, ServerGroupProtection and BadNicknameCheck
- Bugfix: Changed error message for the server query error "database duplicate entry" while adding a second complaint to a client.
          Now this server query error is only a warning and does not trigger the exception error notification from version 6.0.3.
		  Affected functions: RecordCheck, ServerGroupProtection, BadChannelNameCheck and BadNicknameCheck
o Added version build to virtual bot log.

Version 6.0.4 (05.03.2016)
o Changed the exception error notification: Now only bot admins get this message.
  Currently it seems there is no good way to detect the real server admin group.
  The poke message is now much shorter, while the chat message contains the location of the bot log.
o If bot log is disabled, all output will be now written to the standard output on the console.

Version 6.0.3 (03.03.2016)
+ InactiveChannelCheck has a new parent channel mode parentignore, which is the opposite to parentonly.
+ Bot Admins and members of server groups with the permission b_client_ignore_bans set (in most cases only the Server Admin group), 
  will get a message from the JTS3ServerMod on connection, if an exception error occurred since bot start.
  A bot admin can confirm this message using the new bot command !botconfirmerrors
- Bugfix: IdleCheck tried to send the warning message every second, if an error occurred while sending it.
          Now this will be done only once, because that error needs to be solved by a bot admin first.
o Changed command order while connecting to the TS3 server.
o Changed the slow mode, it should now connect a little bit faster to the TS3 server, while another break was added to the update cache process.
o Updated the documentation

Version 6.0.2 (27.02.2016)
+ InactiveChannelCheck can ignore spacer channels like [cspacer] now.
o Fixed some error messages at the Bad Nickname Check and Bad Channel Name Check.

Version 6.0 - Updated package (24.02.2016)
+ New chat command at the AutoKickTimer plugin: time argument to know how long you are already online and when you will be kicked.
- Bugfix at the AutoKickTimer plugin: Fixed bug that it checked the kick timer every seconds. Only every 60 seconds was planned.
- Bugfix at the AutoKickTimer plugin: Plugin was compiled with target Java 8. Changed to target Java 5.
o Updated source code in the file documents/plugin_sources/AutoKickTimer_src.zip
o No changes to the JTS3ServerMod itself, still version 6.0 (15.01.2016).

Version 6.0 (15.01.2016)
+ Welcome Message has a new chat command. The old test command was renamed to vars and the new test command send you the current saved welcome message,
  ignoring the show on connection number setting. (thx to SuiciniV)
+ Server Group Notify is now able to check the client connection count to decide if something has to be notifed. Works like at the Welcome Message. (thx to KGBGaming)
- Bugfix: Welcome Message show on connection number feature didn't worked correctly in some cases.
- Bugfix: Server Group Protection add and remove commands now write back an error message, if you try to add or remove someone to/from an unprotected server group.
- Bugfix: Version check works again, now the communication with the server is encrypted.
o Server Group Protection add and remove commands now also works for normal bot admins,
  but can only add or remove someone from the normal server groups (and not the query or template groups).
o Almost all functions are now allowed while slow mode is activated. You only get a warning in the bot log now.
  In general make sure that you don't use to much functions, if the bot is not whitelisted.
o Updated the documentation

Version 6.0 Beta 1 (28.12.2015)
+ Added plugin interface, which allows you to create own plugins using Java programming language.
  More information about this in the file plugins\Readme_plugins.txt and plugins\Readme_plugins_deutsch.txt
+ Added an example plugin, which kicks all clients after a specified online time in minutes. Good for demo TS3 servers.
- Bugfix: Fixed a small possible bug since version 5.5.7, which might prevent writing detailed error messages
  into the bot log while saving or loading the configuration after using the chat commands !botcfgcheck and !botcfgsave.
o Since this version the current API build is: 1

Version 5.5.7 (28.12.2015)
+ If an error occur while loading or saving the configuration, a stack trace with error message will be written to the bot log.
- Bugfix: Chat command add of the Server Group Protection had problems with the comments of the protected clients. (thx to InS)
          In some situations the configuration of the Server Group Protection was saved wrong (missing entries or wrong comments).
          It was also not possible to write comments with spaces using the add chat command (sometimes one single word is not enough).
          Both problems are fixed now.
- Bugfix: If the bot is checking the configuration or updating the config file, no useless error messages should be visible now.
- Bugfix: !botcfgsave was not working correctly after the !botreload or !botreloadall command was used.

Version 5.5.5 (25.10.2015)
+ New way to create a Windows Service of the JTS3ServerMod. Now it is possible to stop the bot by stopping the service.
  This new way is also compatible with Windows 10 (and should be also compatible with Windows 8, 8.1, Server 2012 and 2012 R2).
  Check out the tools directory! Thanks to the team behind the tool procrun from Apache Commons!
- Bugfix: ChannelNotify throw a NullPointerException, if the AutoMove function was moving a client into the channel of ChannelNotify. Fixed now! (thx to Mischa F.)
o Path values can contain now the variable %apphome% which will be replaced with the environment variable app.home.
  app.home will be set while starting the JTS3ServerMod as a Windows service created by my script.
  But you can also set this app.home variable while adding the argument -Dapp.home=PATH_TO_JTS3SERVERMOD while starting the JTS3ServerMod.
  If no app.home environment variable exists, it will be replaced with an empty string.
o Recreated JTS3ServerMod Windows executables with the current version of Launch4j (because of bugfixes).

Version 5.5.4 (11.07.2015)
+ The chat commands !clientsearch and !searchip are now able to show much more search results, if no joker character (*) was used (perfect match). (thx to Morthawt)
  This makes it possible to get a list of names, if up to 19 clients have the same IP address or client name.
- Bugfix: The chat commands !clientsearch, !searchip, !getchannelid, !listinactivechannels and !listinactiveclients had problems with multibyte unicode characters
          in client or channel names. Now the message length will be measured right and, if needed, use the limit for chat messages on TS3 servers now. (thx to Morthawt)
- Bugfix: Functions was not writing a warning message into the log, if a chat message with multibyte unicode characters was to long.
          This had no effects for kick or poke messages.

Version 5.5.3 (10.07.2015)
+ Changed chat command !listinactiveclients again: Using without arguments it displays the most inactive clients. (thx to Morthawt)
  With an argument it displays the least inactive clients which are at least X days inactive.

Version 5.5.2 (10.07.2015)
+ Changed chat command !listinactiveclients to show always the most inactive clients, even if to much was found. (thx to Morthawt)
  Number of clients is limited by the maximum length of a chat message.

Version 5.5.1 (09.07.2015)
+ Idle Check min client count on server reimplemented using the new option min_clients_mode. (thx to Adrian G.)
  Now you can choose if the min client count have to be on server or just in that channel.
- Bugfix: Bad Channel Name Check tried to poke or message a query client, if a query client created a channel with a bad name. (thx to ParaFAL)
o Idle Check min client count does not count query clients anymore! Only TS3 clients will be counted now.

Version 5.5 (06.07.2015)
! IdleCheck value min_clients does not count all clients on the server anymore. Now you set the min_clients in the channel.
! LastSeen and the !clientsearch chat command now works also if the Client Database Cache is disabled.
+ Special characters §+§ to split a long message into multiple messages. Usable for almost all functions, including Welcome Message.
  Not working for the function Advertising and for kick messages.
  This allows you to send more than 100 characters as poke message to one client by splitting it into multiple messages.
  Example Welcome Message as poke message:
  Hello Guy, this is a long greeting!§+§You are on the server and other statistics!§+§More information about the community.
  This example will send three poke messages with each up to 100 characters possible.
+ Welcome Message configuration showonconnectionnumber allows now ranges like 1-100, -20 (means 20 or less) or 100- (means 100 or more).
+ New global message variable %SERVER_CLIENT_DB_COUNT% to get the full client count of the TS3 database.
+ InactiveChannelCheck now allows to check parent channels only. This allows to delete a whole tree of channels if all sub-channels are unused.
+ ServerGroupProtection now writes all current server group members into the configuration file, if no client was set.
  As soon as one client is set for the server group, no more clients will be added to the configuration automatically.
+ ServerGroupProtection chat command add now allows the optional argument for a comment. So you can add a name to the unique id.
- Bugfix: Called activate method of functions while loading configuration initially after starting the bot (without TS3 server connection).
o Smaller updates to the documentation.

Version 5.4.2 (18.01.2015)
- Bugfix: -updateconfig argument was not working since version 5.4. (thx to InseTTe93pl)
- Bugfix: Not every error message in log file had the right function name beside it.

Version 5.4.1 (01.01.2015)
- Bugfix at chat commands !botfunctionactivate and !botfunctiondisable, now they should work correctly.
- Bugfix: Function LastSeen was not working, if disabled at bot start.
o Happy new year :)

Version 5.4 (31.12.2014)
+ Chat commands !msgchannelgroup and !msgservergroup allows now more than one channel and server group id at once.
  Just write a comma separated list of channel/server group ids without spaces. (thx to Morthawt)
+ New chat commands !botfunctionactivate and !botfunctiondisable to activate/disable bot functions on the fly. (thx to Jim O.)
+ Channel Notify function now have a new message keyword for clickable channel names in chat messages (only the message for supporters).
- Bugfix: Chat command !bothelp sometimes exceeds the maximum character count of chat messages. (thx to Dominik A. and Robert S.)
o Removed the word "final" from version string, because some people think that no new JTS3ServerMod versions will be released.
  In future only the words beta or RC (release candidate) will be added, if it's a test version.
o New rules for bot names: Don't use spaces, only use letters, numbers, minus and underscore!

Version 5.3 Final - SILENT UPDATE (02.11.2014)
- Smaller fixes to the InstallWindowsService.cmd script.
o Added much information to the documentation.
o No changes to the bot itself, so no update notification.

Version 5.3 Final (27.10.2014)
o Some additions to the documentation.

Version 5.3 RC 3 (20.10.2014)
+ Chat commands !setchannelgroup, !removechannelgroups and !removeservergroups now also accept the client unique id.
  Of course the client database id can be still used.
+ Chat command !clientsearch also accept the client unique id now. (thx to Morthawt)
  But wildcards are not allowed for unique ids, only for client names!
- Bugfix: Chat command !setchannelgroup displayed wrong message if successful, fixed now!
- Bugfix: Chat command !removeservergroups attempted to remove the default server group, if a client had no server groups set. Fixed!
- Bugfix: Chat command !removechannelgroups didn't display a message if the client had no channel groups set. Fixed!
o Chat commands !msgchannelgroup and !msgservergroup ignore query clients now!
  Write to me if you ever used this commands to send messages also to query clients!

Version 5.3 RC 2 (18.10.2014)
+ New chat command !botrename to rename the client name of the bot to another name temporary.
  Without argument it renames the bot back to the default name from bot config.
+ Old InstanceManager log file will be also renamed to .old on bot start (an already existing .old file will be deleted).
  The bot is starting with a clean InstanceManager log file. This should keep also this log file small.

Version 5.3 RC 1 (17.10.2014)
+ Bot log creation was changed completely!
  Now there are log levels (DEBUG, INFO, WARNING, ERROR and CRITICAL), STATUS and EXCEPTION entries.
  If you don't need the INFO messages, you can set a higher log level to keep your log files small and clean.
  One column shows you now which function was adding that line.
  Bot functions don't spam the log anymore if a permission is missing.
  The error message because of TS3 error messages will be only written one time into the bot log.
+ Old log file will be renamed to .old on bot start (an already existing .old file will be deleted).
  The bot is starting with a clean log file. This should keep the log files also small.
+ New message keywords for the functions Server Group Notify and Channel Notify.
  %CLIENT_NAME_CLICKABLE% and %CLIENT_NAMES_CLICKABLE% creates clickable client name links for the TS3 client.
  Check documents/ConfigHelp.html for more information.
+ New chat command !removeservergroups to remove all server groups of a client using the client database id.
+ Added update notification for new JTS3ServerMod versions.
  Bot full admins get a chat message after connecting the TS3 server, if a new JTS3ServerMod version is available.
  Disabled by default, enable it in the JTS3ServerMod_InstanceManager.cfg file.
- Bugfix: !execwait now shortens long messages to maximum TS3 chat message length.
- Bugfix: Function Server Group Notify was displaying a query client as admin.
o Chat commands !exec and !execwait now displays a better error message if a command was unable to execute.
o Chat commands !botreload and !botcfgcheck returns a better error message now if the bot configuration is invalid.
o More settings from JTS3ServerMod_InstanceManager.cfg file will be reloaded on !botinstancelistreload chat command.
  The value bot_update_check needs a bot reload after changing to work.
  The bot full admin list and exec command state are reloaded instantly after that command.
o The chat command !removechannelgroups uses now the internal cache for the server settings.
  If you change the default channel group of your server you should wait some minutes before using this command.
o Smaller fixes to some INFO log messages. More functions now writes INFO log messages.

Version 5.2.4 Final (29.06.2014)
- Bugfix: NullPointerException at chat message creation fixed, if no message should be created. (thx to Solaris17)

Version 5.2.3 Final (17.06.2014)
- Bugfix: Fixed endless loop while connecting to the TS3 server because of missing query ban detection.

Version 5.2.2 Final (10.06.2014)
+ Chat commands !listinactivechannels and !getchannelid now accept a channel ID as argument.

Version 5.2.1 Final (10.06.2014)
- Bugfix: Fixed chat output of !listinactivechannels: Sometimes the message was too long and no answer was send. (thx to Morthawt)
- Bugfix: Another fix for !listinactivechannels: Missing message if no channel was found or the answer had empty lines.
- Bugfix: Chat command !botfunctionlist writes a better message if no function was loaded.
- Bugfix: Chat command !getchannelid: Missing message if no channel was found or missing because too long.
o The function Inactive Channel Check skips now channels with an invalid empty time from TS3 server. (thx to Morthawt)

Version 5.2 Final (09.06.2014)
+ New function: Inactive Channel Check - Delete channels if empty for more than X hours.
+ New chat command: !listinactivechannels - You get a list of empty channels (and the time since they are empty).
+ New aliases for some chat commands. Look at documents\ChatCommandHelp.html
- Chat command !botcfghelp now cut of very long help messages to maximum chat message length.
  Sometimes the answer was missing because of a to long chat message, as an example: !botcfghelp bot_functions
o Internal Caches (Server Info, Channel List, Server Group List) will be updated now every minute (was 10 minutes).
  This was important, because now many bot chat commands and functions need this caches.
o Updated documentation
o Reworked most help messages about bot chat commands (look at !bothelp chat command).

Version 5.1.1 Final (21.05.2014)
o Updated help text for config files and documentation. Not all changes in version 5.1 was well documented.

Version 5.1 Final (20.05.2014)
+ New global message variables can be enabled in the bot config file, look at bot_global_message_vars.
  This allows you to use all server info variables from welcome message at all messages.
+ Channel Notify and Server Group Notify can send a message to the watched client, special message possible if no target group clients are online.
o Changed: Debug value will be reloaded on virtual bot instance reconnect. Need to use the !botinstancelistreload command first!
o Added an example config file to help you understanding the new stuff: JTS3ServerMod_server1_example.cfg
o Updated documentation

Version 5.0.6 Final (06.04.2014)
- Bugfix: Remove wrong TS3 events error output while using !botcfgsave command. (thx to PTZer0)
- Bugfix: ChannelNotify tried to send a message also to query clients, now only to real TS3 clients.
o Changed !botcfgset output, if you try to change a write protected value. (thx to PTZer0)

Version 5.0.5 Final (18.03.2014)
- Bugfix: Server Group Protection add and remove chat commands now works if function is disabled. (thx to SkullDrago)
- Bugfix: LastSeen now ignore spaces at the user setting. (thx to zrikz)

Version 5.0.4 Final (09.03.2014)
- Bugfix: LastSeen mode all was not working. (thx to Demianz)

Version 5.0.3 Final (03.03.2014)
+ Mute Mover has a new switch to select if all or just one condition is needed to get moved.

Version 5.0.2 Final (02.03.2014)
+ Welcome Message is now able to send a message only to clients with a specified total connection count.
  If you set this to 1,2 the welcome message will only send to the first two connections to the server, but not later.
  Important: This is based on the TS3 server value CLIENT_TOTALCONNECTIONS,
             if the bot is not online while the first two connections, then the client never gets the message!
- Bugfix: Some Mute Mover combinations was not possible. (thx to Christian M.)

Version 5.0.1 Final (28.02.2014)
- Bugfix: Fixed some config reading issues with RecordCheck and IdleCheck. (thx to LordAnubis)

Version 5.0 Final (25.02.2014)
+ Added new bot admin chat command !searchip
+ Added last ip address to the output of the !clientsearch chat command
- Bugfix: Advertising and Welcome Message function was not reading the configuration correctly.

Version 5.0 RC 8 (22.02.2014)
o Updated documentation, completed German translation.
o Smaller code changes to the bot, no noticeable changes (I hope :)).

Version 5.0 RC 7 (19.02.2014)
- Bugfix: Both chat commands of the Server Group Protection function was not working correctly. (thx to Robert S.)
- Bugfix: Mute Mover delay was not read correctly from config file. (thx to Robert S.)
o Mute Mover change: If you now enable headphone and microphone mute within one function prefix,
                     both have now happen at the same time to move the client!
                     Create a second Mute Mover prefix, if you still need that to trigger for each mute state.

Version 5.0 RC 6 (15.02.2014)
+ New chat command !setchannelname
  This allows you to change a channel name.
+ New chat command "check" for the Bad Channel Name Check function.
  The Bad Channel Name Check since version 5.0 RC1 don't recognise changed channel names while the bot is offline.
  Bot Admins can now check all channel names manually using this chat command, if the bot was offline for a longer time
  and rename channels using the !setchannelname command.
o Updated JTS3ServerQuery library to new version 1.0.10, which brings some new debugging features for the bot, if debug mode is enabled.
  To enable debug, just open the JTS3ServerMod_InstanceManager.cfg and write to your virtual bot (replace X with the number): X.instance_debug = 1
  Enable the debugging mode only for one virtual bot at once and delete all current bot log files before starting the bot!
o Updated ConfigHelp.html and ConfigHelp_deutsch.html in the documents directory to make the usage of bot_functions more clear.

Version 5.0 RC 5 (09.02.2014)
+ Channel Notify as two more options to limit which server groups should be watched.
- Bugfix: Channel Notify option channel list mode wasn't read from config, this is now fixed.
o Server Group Protection now only adds missing server groups (if enabled in config), if server group type is equals to 1 (which is a normal server group).
  This change allows now limited bot admins to change configuration of Server Group Protection. This was forbidden because of security reasons.

Version 5.0 RC 4 (08.02.2014)
+ Command !clientsearch is now able to detect that someone is currently online (displays also the current client ID),
  and if there are more than 5 search results, it shows the client names of up to 20 search results to refine the search.
+ LastSeen is able to display up to 10 search results now.
o Changed the Client Database Cache to increase the bot performance.

Version 5.0 RC 3 (04.02.2014)
- Bugfix: LastSeen was not working (thx to Yanek)
- Bugfix: LastSeen shows wrong command at help messages (thx to Yanek)

Version 5.0 RC 2 (03.02.2014)
+ Bad Nickname Check is now displaying on bot start if the client will be kicked.
- Bugfix: Bad Nickname Check was not working, if kick was enabled. (thx to Yanek)

Version 5.0 RC 1 (02.02.2014)
+ Complete redesign of the bot, now all bot functions are modular and most of them can be used multiple times.
  This functions will be set in the bot config file at bot_functions.
  Use chat command !botfunctionlist to get a list of loaded functions.
  Some examples:
  You want to use different welcome messages for some server groups? Do it now!
  You have different AFK channels for different server groups? You can set this now for Idle Check, Away Mover and Mute Mover!
  Some server groups should be kicked after using a bad nickname, some should only get a message? It's now possible!
+ Fully recreated the Bad Channel Name Check and got a lot of new features!
  Now the Bad Channel Name Check knows who created or renamed the channel and can punish him (just a message or kick).
  Much more features here to choose what should happen.
  The config file has changed and expects the message first like the Bad Nickname Check config file.
+ Bad Nickname Check allows now not to kick that client, just send a message if you want.
+ Auto Move now allows to add the target channel name to the message, see Auto Move config file.
+ Added !setchannelgroup chat command, this allows you to set a channel group for a client in many channels, even if the client is offline.
+ Changed !botcfgreload command, now it's possible to reload the whole bot configuration without reconnecting the bot with !botreload.
  Only some of the internal bot settings (like the TS3 connection details) can still only reloaded using the !botreload command.
o The bot configuration has changed, you have to configure most stuff from scratch!
  If you don't need any of the new features, you can still use version 3.7.1, which is the last version working with the old config files.

Version 3.7.1 Final (18.01.2014)
+ Added a new CSV login log. If enabled, it writes the login time, unique id, IP address and client name in a CSV log.
  Activate this in the JTS3ServerMod_InstanceManager.cfg file, change the value of instance_csvloginlog_path for each virtual bot instance.
- Small bugfix that Server Group Names and Server Informations got not updated in rare cases (bug since 3.7).

Version 3.7 Final (17.01.2014)
+ Updated the Windows EXE files to a newer version of launch4j. It's still recommend to use the JAR file even on Windows. 
+ Added start argument -updateconfig to check and update the virtual bot instance config files.
  Simple run the config update feature of the bot on command line after updating JTS3ServerMod.jar file:
  java -jar JTS3ServerMod.jar -updateconfig
  This will add missing and remove not needed config values to/from all virtual bot instance config files.
+ Record check has a new option to allow or disallow recording for specified channel groups.
+ The !lastseen command can now be limited to specified server groups.
+ Added Channel Notify feature. It's like the Server Group Notify, but for a specified channel.
+ Added !getChannelID chat command to get the channel id of the channels. You can pass a search string if you have much channels.
o Added the following config values to the bot config file:
  command_lastseen_group_list, command_lastseen_group_list_mode, record_channelgroup_list, record_channelgroup_list_mode,
  channelnotify_enable, channelnotify_channel_id, channelnotify_message_mode, channelnotify_grouptargets, channelnotify_channel_list,
  channelnotify_channel_list_mode and channelnotify_file
o Added config file channelnotifymessages.cfg

Version 3.6.6 Final (06.04.2013)
+ Added idle move back feature. Just enable it in the bot server config file. New config value: idle_move_back
o Added log entry if the bot is restarting.

Version 3.6.5.3 Final (10.09.2012)
- Bugfix: In one situation the bot was not reconnecting, even if always reconnect was enabled.
o Client and Server Version in welcome message are human readable now.

Version 3.6.5.2 Final (04.06.2012)
o Allow the away and mute mover delay up to 10000 seconds.

Version 3.6.5.1 Final (17.05.2012)
+ Added new keyword for the client unique id at the welcome message, just check out the welcomemessages.cfg file.

Version 3.6.5 Final (17.05.2012)
+ Added new keywords for the client country, id and database id at the welcome message, just check out the welcomemessages.cfg file.

Version 3.6.4 Final (16.04.2012)
+ Chat commands !botsrvgrpprotadd and !botsrvgrpprotremove now give more information if an error occurred.
o Auto Move will be disabled on slow mode now.

Version 3.6.3 Final (13.02.2012)
- Bugfix: Small bugfix at the new Auto Move feature. Thanks to KingHunt for reporting it.

Version 3.6.3 RC1 (11.02.2012)
+ Added Auto Move feature. This function will move connecting clients of a specified server group to a specified channel.
- Bugfix: Updated used Query Library which fixes one bug, which occur if a higher check interval as 8 seconds was used.

Version 3.6.2 Final (20.11.2011)
+ Added Server Group Notify function. If clients from a specified server group joins the server,
  all members of selected server groups get an information by chat or poke message.
  New config values at the end of the JTS3ServerMod_server1.cfg file.
+ Added new keyword for the Server Group Name at the Server Group Protection message.
- Bugfix: Small bugfix in the client database cache if the TS3 server sends invalid dates.
o Changed servergroup argument to sgprotection for !botcfgreload command, added sgnotify as argument.
o Updated JTS3ServerQuery library with smaller changes for the new TS3 server version.
  JTS3ServerMod should still be compatible with older TS3 servers, because the changed stuff are not used by the bot.

Version 3.6.1 Final (14.07.2011)
+ Added new keyword for the client IP address at the welcome message, just check out the welcomemessages.cfg file.
- Removed welcome message keyword %CLIENT_UNREAD_MESSAGES%, because Teamspeak Systems removed this information in TS3 server rc2.
- Smaller fixes at the welcome message creation.
o Changed version check server. No visible changes.

Version 3.6.0 Final (30.05.2011)
+ Added many new keywords for the welcome message, just check out the welcomemessages.cfg file.
+ Added server group settings to Bad Nickname Check. This allows to limit or ignore specified server groups from check.
+ Added channel ignore settings to the Bad Channel Name Check. This allows to set a list of channels which should not be checked.
+ Added start argument -version to display installed and latest bot version. Bot don't start with this argument.
o Updated readme file with more informations.
o Added the following config values to the bot config file:
  badnickname_group_list, badnickname_group_list_mode, badchannelname_channel_list

Version 3.5.2 Final (30.03.2011)
- Bugfix: Small fixes at the used query library.
o At some situations better error messages will be created.

Version 3.5.1 Final (12.03.2011)
+ Added new chat command !listinactiveclients for bot admins to display clients which are inactive for at least X days.
- Bugfix: Warning message for to long welcome messages may be wrong. Should now work as intended.
- Bugfix: Small fixes at the used query library.

Version 3.5.0 Final (13.02.2011)
+ Chat command !botinfo displays now your bot admin permission level.
- Bugfix: Sometimes the warning messages was shown if the messages are not to long.
- Bugfix: Checking for message length could prevent bot from starting in some cases.

Version 3.5.0 Beta 2 (10.02.2011)
+ Added warning messages if a chat, poke or kick message is to long.
  This should help you to find the reason for some problems.

Version 3.5.0 Beta 1 (07.02.2011)
+ Away Mover and Mute Mover now allow setting a server group list and an optional message.
o Some changes to the !botcfgget and !botcfgset commands (better answers from bot).
o Added the following config values to the bot config file:
  away_group_list, away_group_list_mode, away_message_mode, away_file,
  mute_group_list, mute_group_list_mode, mute_message_mode, mute_file
o Changed names of the following config values at the bot config file:
  ts3_server_login to ts3_server_query_login
  ts3_server_password to ts3_server_query_password
  ts3_channel_id to bot_channel_id

Version 3.4.4 Final (04.02.2011)
- Closed one big security issue!
- Bugfix: Wrong idle times from TS3 server don't make the bot crazy.

Version 3.4.3 Final (13.12.2010)
+ Added better error messages if something is wrong with the config files.
+ Added support for loading UTF-8 files with BOM (not fully tested).
o Small updates to the readme files.

Version 3.4.2 Final (10.12.2010)
o Security change: All additional config files need a special first line or the config file will not be loaded.
  Usefull for hosters of bots to allow creating config files by the customers without any security problems.
  You can still use your old files, but you have to add the first line from the default config files.
o Away Mover Delay allows now values up to 1000 seconds.

Version 3.4.1 Final (05.12.2010)
+ Added script to install the bot as Windows Service, look into the readme file for this.
- Bugfix: Make sure that I catch all errors and write them to logfile.
o If the whole bot process will be stopped by a virtual bot instance,
  the reason will be also written into the InstanceManager.log file.
o Updated documentation with instructions how to run the bot.

Version 3.4.0 Final (25.10.2010)
- Bugfix: Small fixes to the !botsrvgrpprotadd and !botsrvgrpprotremove chat commands.
- Bugfix: Small fix for !bothelp command at the log file.
o Added better bot start messages for the welcome message and connection problems.
o Reduced timeout to 10 seconds if the TS3 server don't send an answer (TS3 server pre beta 30 bug).
  It is still impossible to use this bot on a pre beta 30 server, but you get the error message faster.

Version 3.4.0 RC 2 (17.10.2010)
+ It is now also possible to select the channels or server groups, which should be checked only.
  In older versions it was only possible to ignore the selection. Now you can choose what you like.
+ Added keyword for the server group id to the server group protection message.
- Bugfix: Using !botcfgsave on Windows no longer create weird looking config files.
o Added the chat command !h as a short alias for !bothelp.
o Permission list will now be cached directly after login.
o More informations for Linux users in the readme file.
o Renamed the following config keys in the bot config file:
  record_ignore_channels to record_channel_list
  record_ignore_groups to record_group_list
  idle_ignore_channels to idle_channel_list
  idle_ignore_groups to idle_group_list
  away_ignore_channels to away_channel_list
  mute_ignore_channels to mute_channel_list
o Added the following config keys in the bot config file:
  record_channel_list_mode, record_group_list_mode, idle_channel_list_mode, idle_group_list_mode,
  away_channel_list_mode, mute_channel_list_mode

Version 3.4.0 RC 1 (10.10.2010)
+ New chat commands for bot admins: !botjoinchannel, !botsrvgrpprotadd and !botsrvgrpprotremove

Version 3.3.8 Final (10.10.2010)
+ If a permission is missing, the permission name will be written into the log file, if possible.
o Small updates to readme file and bot error messages.

Version 3.3.7 Final (28.09.2010)
- Bugfix: Complain was not added if someone was kicked after start recording. (thx to Thomas Z.)

Version 3.3.6 Final (27.09.2010)
- Bugfix: Small error releated to the mute mover was fixed.
- Bugfix: Better error messages on bad config files.
- Bugfix: Fixed NullPointerException if stopping virtual bot instance while connecting with slow mode enabled.
o Added permission id to logfile output, if a missing permission is reported by the TS3 server.

Version 3.3.5 Final (11.09.2010)
+ Some features can now add a complain to the user, if enabled.
  This allows the server admin to see violating clients at the complain list window.
  IMPORTANT: Do not use this feature on servers older than beta 28,
             or it can break your complain system, if the bot login as serveradmin.
o Startup messages writes more informations about the enabled features.
o Added new optinal config values: record_add_complain, badnickname_add_complain and servergroupprotection_add_complain
  Look into the documentation or default config file to get more informations about it.

Version 3.3.4 Final (04.09.2010)
o Server Group Protection now writes an error message into the log, if something is going wrong. (thx to TotoIsBack)
o Slow Mode is now more slower at connection (takes up to 16 seconds to connect now).
  Should now work with stronger Anti-Flood protection settings of the TS3 server.

Version 3.3.3 Final (17.08.2010)
o Bot replace now for incoming chat messages the wrong space char from TS3 client history with the normal space.
o Some small changes to the reconnect / disconnect code.

Version 3.3.2 Final (10.08.2010)
o Changed the connecting order, now the bot login first after connection.
o Some small changes at the log output.

Version 3.3.2 Beta 1 (08.08.2010) - Not released
- Bugfix: Now the bot should also work if only Mute Mover, Server Group Protection, Bad Channelname or Bad Nickname Check is activated.
- Bugfix: Critical errors while requesting client or channel lists start the bot reconnecting countdown.
          This should also solve the problem if only the virtual TS3 server will be stopped. (thx to TotoIsBack)
o Some messages on logfile should now give more and better informations.

Version 3.3.1 Final (03.08.2010)
o Some additions to the readme files.
o No changes at the bot, only version bump.

Version 3.3.1 RC 3 (02.08.2010)
- Bugfix: Idle warning message will be sent only once again. (thx to etonline)

Version 3.3.1 RC 2 (31.07.2010)
- Bugfix: Idle second message was not found, if enabled. (thx to Slater)

Version 3.3.1 RC 1 (30.07.2010)
+ Added new chat command: !botinstancelistreload
  This reloads the instances. New loaded instances will be not started, use !botinstancestart for this.
+ Added new values for the Mute Mover, can now move if headphone or microphone hardware is disabled.
o 2 new config values was added to JTS3ServerMod_server1.cfg (mute_move_headphone_hardware and mute_move_microphone_hardware), see default config file.

Version 3.3.0 (29.07.2010) - Many bugs introduced here, do not use this version!
+ Added settings to many places to allow you to choose how a message will be shown at the client (poke, chat or no message).
- Bugfix: Config value servergroupprotection_kick was not read, this is now fixed.
- Bugfix: Implemented an error message if the bad channel name check is unable to get the channel list. (thx to TotoIsBack)
o 6 new config values was added to JTS3ServerMod_server1.cfg (for the message modes), see default config file.

Version 3.2.6 (26.07.2010)
+ Added setting to disable the server group protection kick, added config value servergroupprotection_kick for this.
o Added "bot successful started" message to console and log file.
o Updated documentation to make some things clear.
o Config value servergroupprotection_kick added to JTS3ServerMod_server1.cfg, see default config file.

Version 3.2.5 (13.07.2010)
- Bugfix: Fixed small bug at the chat commands !lastseen and !clientsearch (now case insensitive). (thx to MajorThorn)

Version 3.2.4 (09.07.2010)
- Bugfix: Fixed small bug while handle welcome message for a disconnected client. (thx to Slater)

Version 3.2.3 (30.06.2010)
- Bugfix: Fixed some bugs at the log output. (thx to Slater)

Version 3.2.2 (30.06.2010)
- Bugfix: Idle Check don't send warning messages to ignored server group members anymore. (thx to Mikobiko)

Version 3.2.1 (22.06.2010)
o Config value command_exec removed from instance config and moved to new value bot_command_exec in InstanceManager.cfg file.

Version 3.2 Final (18.06.2010)
+ Added feature to server group protection: If wanted, this feature adds missing server groups to client.
- Bugfix: Corrected the output of some logfile entries.
o Added new option servergroupprotection_add_missing_groups to JTS3ServerMod_server1.cfg, see default config file.

Version 3.1.1 Final (08.06.2010)
+ Added new option: Slow Mode
o Added more informations to the readme.txt file
o Bot writes more informations if something is wrong with the config file.
o Added optional value bot_slowmode to JTS3ServerMod_server1.cfg, see default config files.

Version 3.1 Final (23.05.2010)
+ Added a new help file in english and german language. Also translated the readme.txt into german language.
o Corrected some informations in the config files.

Version 3.1 RC 2 (16.05.2010)
o Changed loading of JTS3ServerMod_InstanceManager.cfg file, now a gab of 10 numbers in the consecutive numbering is allowed.

Version 3.1 RC 1 (14.05.2010)
+ Added a second type of bot admin. The full admin is the same as before and is set in the instance manager config file now.
  The bot admin set in the server config file of the bot just allow bot commands which affect only the own bot instance.
o More informations in the log file, if an error occur.
o Added optional value bot_fulladmin_list to JTS3ServerMod_InstanceManager.cfg file, see default config files.

Version 3.0.2 Final (30.04.2010)
o More flexible with numbers in config files (removes spaces).

Version 3.0.1 Final (29.04.2010)
- Bugfix: Bad log entries of the Mute Mover.

Version 3.0 Final (23.04.2010)
o No changes since RC 8.

Version 3.0 RC 8 (22.04.2010)
+ New Feature: Mute Mover, can move clients if microphone or headphone is muted.
o Some values added at the bottom of the config file. Look into standard config file.

Version 3.0 RC 7 (17.04.2010)
+ Added minimum client count to idle check.
o Added value idle_min_clients to the idle check block in the config file.

Version 3.0 RC 6 (14.04.2010)
o Updated the Server Query Library, which improve the detection if the bot is still conntected to the TS3 server.

Version 3.0 RC 5 Hotfix (14.04.2010)
- Bugfix: Telnet clients was still reported by !lastseen as online. (thx to sojakfa)

Version 3.0 RC 5 (14.04.2010)
o The client database cache (used for !clientsearch and !lastseen) does only update real clients and no telnet users.
  Suggested by sojakfa.

Version 3.0 RC 4 (12.04.2010)
+ New Chat Command: !botversioncheck displays the latest final and development version (bot needs internet access for this).
- Removed helptext about removed chat commands from !bothelp chat command.

Version 3.0 RC 3 (11.04.2010)
- Bugfix: Chat command !botcfgsave and !botreload was not working anymore, if advertising feature was enabled. (thx to Megamaluco)
- Bugfix: Advertising feature shows wrong interval in minutes on shell / cli window and log file. (thx to Megamaluco)
- Bugfix: Some log file entries missed some informations.
o Second exe file to start the bot for Windows users, but without a visible window (java runtime still needed).

Version 3.0 RC 2 (10.04.2010)
+ Improved: Chat command !botcfghelp can now display config keys which start with specified characters.
            Example: !botcfghelp bot
			This will display all config keys starting with the word bot.

Version 3.0 RC 1 (10.04.2010)
- Bugfix: !botcfghelp command works now again.
- Bugfix: !botcfgreload did not work correctly.

Version 3.0 Beta 3 (09.04.2010)
+ New Feature: Server Group Protection
+ New Chat Command: !botcfgreload to reload one of the special config files (advertising, idle, welcome, etc.).
- Removed: Chat command !botadvmsgreload replaced with "!botcfgreload advertising".
o Some values added at the bottom of the config file, one new config file also added. Look into standard config file.

Version 3.0 Beta 2 (08.04.2010)
- Bugfix: Fixed !botreload command (thx to Slater)

Version 3.0 Beta 1 (07.04.2010)
+ New Feature: Bad Nickname Check, which uses regular expressions.
+ New Feature: Bad Channel Name Check, which uses regular expressions.
o Some internal changes to make sure that there is no XServer call on operating systems without graphical user interface. (thx to HoschY1987)
o Some values added at the bottom of the config file, two new config files also added. Look into standard config file.

Version 2.1 Final (02.04.2010)
- Bugfix: Advertising to server chat did not work if virtual server got selected by port. (thx to mastermax)

Version 2.1 RC 3 (20.03.2010)
- Bugfix: New line (\n) was not displayed in messages correctly (thx to Heiko).
o Important: Don't save the messages files in unicode with BOM, it will not work.
             Just use unicode without BOM and the UTF-8 encoding will work.

Version 2.1 RC 2 (18.03.2010)
o All messages are now in external files, which can be loaded with a different character encoding.
  Default encoding for messages files is now UTF-8, which can be changed in config file.
o Many config file changes, please take a look on the default config files.

Version 2.1 RC 1 (18.03.2010)
- Bugfix: advertising.cfg will be now loaded with encoding ISO-8859-1 like the other bot config files.
          This should solve the wrong display of special characters.

Version 2.0 Final (12.03.2010)
o No changes since RC 1.

Version 2.0 RC 1 (09.03.2010)
+ New: Chat command !botreloadall - Reloads all bot instances (without checking config files).
o Internal changes and optimizations. The bot needs now TS3 server beta 19 or newer for record check.
  The advantage: Bot needs now much less telnet commands to do the work.

Version 2.0 Beta 7 (01.03.2010)
+ New: Second idle message as kick reason after being idle for longer than idle_second_max_time.
- Bugfix: Some smaller bugfixes at all idle check features.
o Config changes: New argument idle_second_message, look into the default config file.

Version 2.0 Beta 6 Hotfix (28.02.2010)
- Bugfix: Second idle time kick was not working.

Version 2.0 Beta 6 (28.02.2010)
+ New: Idle mover got a new argument to kick after a second idle time.
- Bugfix: Fixed some bugs with !execwait
o Config changes: New optional argument idle_second_max_time, look into the default config file.

Version 2.0 Beta 5 (27.02.2010)
+ New: Define now many advertising messages in a file.
+ New: Chat Command !botadvmsgreload to reload advertising messages file without reconnect bot.
- Bugfix: !exec and !execwait was not working, this is now fixed.
o Exe file to start the bot for Windows users (java runtime still needed)
o Config files by default now in a config directory.
o Config file changes: advertising_message removed, advertising_file added.  Look into the default config!

Version 2.0 Beta 4 (26.02.2010)
- Bugfix: Idle warn message and idle move was not working correct if idle_check_enable was set to 2 (thx to DarRoe)

Version 2.0 Beta 3 (25.02.2010)
+ New: Away mover can now move back, if away_check_enable is set to 2
+ New: Chat command !clientsearch for bot admins, which works like the !lastseen command, but outputs more informations about the client.

Version 2.0 Beta 2 (24.02.2010)
+ New feature: Chat command !exec and !execwait - Bot admin can execute a system command, can be enabled in config file.
+ New: Client database cache for commands like !lastseen. This makes this commands much faster on big servers.
+ New: Now its possible to change the away move delay in config file.
+ New: Idle check can now also kick and ignore server groups.
o Bot will now disconnect clean from Teamspeak server on system shutdown or when sending CTRL + c to bot process.
o Added config values: bot_clientdblist_cache, command_exec, idle_ignore_groups and away_move_delay. Look into the default config!
IMPORTANT: Config value idle_check_enable has changed. Look into the default config!

Version 2.0 Beta 1 (22.02.2010)
+ New feature: Chat command !msgchannelgroup <channelgroup id> <message> - Sends a message to all online clients with this channel group.
+ New feature: Chat command !msgservergroup <servergroup id> <message> - Sends a message to all online clients with this server group.
+ New feature: Chat command !removechannelgroups <client database id> - Change all channel groups of a client to the default channel group.

Version 1.0 Final (21.02.2010)
- Bugfix: If a start error in a bot instance occurred, the whole bot process quits. This is now changed, only the bot instance stops working.
o The instance manager checks now if the config file exists. If not, a special error message will be displayed.
o Changed the text output on the command line.

Version 1.0 RC 5 (19.02.2010)
+ New feature: Chat command !lastseen to see somebody's last online time. Possible to disable this for public use.
+ New: Bot Instance Manager, start many bot instances for different Teamspeak 3 servers with one bot process.
+ New: Admin chat commands !botcfghelp, !botcfgget, !botcfgset, !botcfgcheck, !botcfgsave, !botinstancestart, !botinstancestop and !botinstancelist
+ New: !bothelp <command> can now display an info text about a command.
- Bugfix: Default welcome message did not work if the second welcome message is disabled. (thx to DarRoe)
o Added connect message, if the connection to Teamspeak server is successful.

Version 1.0 RC 4 (17.02.2010)
+ New: Now its possible to use the virtualserver port to select the virtual server.
- Bugfix: Record kick did not work since 1.0 RC 2, this is now fixed. (thx to DarRoe)
o Config key name ts3_server_port changed to ts3_server_query_port to avoid confusion.

Version 1.0 RC 3 (17.02.2010)
+ New feature: Second welcome message for specified server groups.
+ New: More keywords for the welcome message, like the unread offline message count.
+ New: Change date pattern for welcome messages and future date formatting on chat commands.
+ New: If enabled, the bot can try to connect to an offline Teamspeak 3 Server forever.
+ New: You can choose a second server query name, if the first name is already in use.
- Bugfix: Bot do not quit now if only the bot name is already in use.

Version 1.0 RC 2 (16.02.2010)
+ New: Exclude Server Group members from record check
+ New: Shows bot uptime on !botinfo
- Bugfix: Start errors was not written to logfile.
o Bot now also checks if channel IDs in config file exists. If not, bot shows a warning and disables feature.

Version 1.0 RC 1 (15.02.2010)
+ New feature: Idle warning message
+ New feature: Auto away mover
- Bugfix: !botreload did not work.
- Bugfix: Auto reconnect did not work in every cases.
o Changed and completed status output on console and logfile.

Version 1.0 Beta 3 (14.02.2010) - Not released
+ New feature: Welcome Message
+ New feature: Server commands like !botinfo and !bothelp
+ New feature: Bot can switch to a channel on connection.
+ New feature: Bot reconnects automatically after some time, if connection lost.
o Changed config loading again, now more failsave and better error messages.

Version 0.9.1 Beta 2 (11.02.2010)
+ Selected channels can be ignored for idle and record check.
+ New feature: Advertising
o Changed config loading, only needed values will be loaded.

Version 0.9 Beta 1 Hotfix (11.02.2010)
o Just updated the ServerQuery library, which do not generate more warnings in the Teamspeak 3 server log.

Version 0.9 Beta 1 (11.02.2010)
- First public Beta version