Feature Changes between 0.2.1 and 0.3.0 (for admins) ==================================================== CVAR forcing ============ Client cvar cg_damageKick was removed in the 0.3.0 version of silEnT. If the cvar has been forced before, like it is the case most often, it can be removed now. Database ======== The mod introduces new version of the database. The new database provides more memory efficiency, is capable to handle new data that was needed and provides better overall performance. Conversion between the databases from version 0.2.0 to 0.3.0 is done automatically when the server first starts with the new mod version. The database in the 0.2.1 had only one file, userdb.db. The old database file is saved as userdb_v01.db and 2 new files are created to be the new database. Those files are userdb.db, same name as before but different structure, and userxdb.db. This file is often very small. The player information is automatically converted to the new database. After the database is once converted, it will not be done again. If you want to repeat the process you can delete the newly created files and rename the userdb_v01.db back to userdb.db. Databases cannot be converted from the newer format to the older format. It is advisable to make a backup copy of the old database just in case anything would go wrong with the conversion. Hardware Based Identification ============================= Starting from version 0.3.0, the silEnT mod can be configured to enforce bans using hardware based identification. This is not any fool proof system but it is made to be an addition to the already existing ban methods. The hardware identification cannot be seen in human readable form while on the server. The data that is sent to the server can be seen in the client by making /cg_ident in the console. That is a hexadecimal string which changes its value between maps. The format and data used to create the client Identification may change between the versions of the silEnT mod. The server can be configured with the g_identOptions server cvar. The cvar is bit flagged which means, you can combine the values by adding them together. g_identOptions options: 1 ; Kick clients that are spoofing the client identification to enter the server. 2 ; Kick clients that are not sending the identification to the server. 4 ; Enforce bans using the identification. Server admins can use the !finger command to see the status of any players identification. If the server is configured to kick for spoofed client identification, it can happen legitimately if the client connects directly from one silEnT server to another. Or if the server they are playing shuts down and they instantly reconnect. Instantly reconnecting again after the Spoofed Client Identification kick will work and the spoofed kick is a single event. If you find out more of these cases, please share the information with the silEnT community at the http://mygamingtalk.com.  PunkBuster ========== Starting from the version 0.3.0, the silEnT mod admins can use g_punkBuster server cvar. With this cvar, admins can either force clients to enable PunkBuster or deny players without GUIDs to enter the server. The values cannot be used in combination and they have no effect if the server is running PunkBuster.  The possibility to deny players without GUID to enter is important because the silEnT mod no longer enforces bans without GUIDs. Also, an informative message is displayed to the player as what was the real reason he couldn't connect. The possibility to enable the client PunkBuster is important for the servers without running the PunkBuster themselves. This allows the players to be stored in the database and save XP if they have PunkBuster GUID from playing some server with PunkBuster enabled. If the client doesn't have punkbuster installed, this flag has no effect and it doesn't deny the player from connecting to the server. Also, silEnT mod doesn't do anything else but enables the client PunkBuster. The GUID must be acquired in the normal way. The values cannot be used in combination because the player will get denied access to the server before his PunkBuster starts if the value 2 is set. g_punkBuster options: 1 ; Enable client PunkBuster. 2 ; Do not allow players without GUIDs to enter the server. Important: neither of the values should be used if the server is running the PunkBuster in the server side. Team Death Match ================ Starting from the silEnT version 0.3.0, there is a new gametype available. Team Death Match is a gametype where 2 teams score for kills. A TDM map can be ended by Score limit, time limit or by both. The TDM game type is controlled by 4 server cvars. g_TDMType options: 1 ; Map ends only when timelimit hits. 2 ; Map ends when either the target score is reached or the timelimit hits. 3 ; Map ends only when the target score is reached. g_TDMOptions options: (This cvar is a bitflagged value) 1 ; Map voting is enabled during the intermission. (i.e. The players vote for the next map to play during the intermission.) 2 ; Completing the map objective will give the team score bonus that is controlled by the g_TDMObjBonus server cvar. 4 ; Teams get negative points when they do selfkills or teamkills. 8 ; Players cannot selfkill during the TDM. Regardless of other selfkill settings the server has configured. g_TDMScore This is the target score the teams attempt to make to win the game in TDM game types 2 and 3. The default value is 100 points (kills). g_TDMObjBonus This is the value that is added to the team score if the team completes the map objective. Adding the bonus does not depend of the TDM type. The PPSH ======== Starting from the silEnT version 0.3.0. The server admins can enable or disable the PPSH weapon per class basis. g_classWeapons options: 1 ; Enable the PPSH for the soldier class. 2 ; Enable the PPSH for the engineer class. 4 ; Enable the PPSH for the fieldop class. The cvar is named a bit confusingly to g_classWeapons to allow it get extended with other weapons if needed. Changes in the Shrubbot ======================= Some of the shrubbot command flags were changed in the 0.3.0 to give better control over them. These are the changes: !useredit ']' -> '[' !givexp ']' -> '[' !usersearch '[' -> ']' New commands: !baninfo 'e' !readadmins ')' !resetpls '(' New overall flags: '/' - Player with this flag or level with this flag cannot send private messages. New RCON command: /prresettstats In the older versions of the silEnT there was a bug that cause some of the players have distorted total kills and deaths with SMG weapons. This bug occurred when player idled from the start to finish a whole map. Players visiting a playing team did not have it. This command allows a super admin to reset these statistics for all players.  If there are not many players with such statistics, admins can reset them individually with !resetpls command. That command will, however, reset all their statistics. !baninfo -------- Starting from silEnT 0.3.0, admins can view ban details using this command. The command takes the ban number as a parameter and shows details of that ban, including the banned players IP, for the admin. The ban numbers are found with the !showbans command. !readadmins ----------- Starting from silEnT 0.3.0, admins can be read from a text file called admins.cfg. The file must be located at the g_dbDirectory. The file structure is exactly the same what is used for admin blocks in the ETPub shrubbot.cfg file. Admin block format is: [admin] name = guid = level = flags = greeting = greeting_sound = The file may not contain anything else then admins. If the players who are admins are already in the database, their data will be edited according to what is stated in the admins.cfg. If the admins have yet not visited the server, their data will be added to the database. Do note, that if the database is set to automatically prune users based on how long ago they have visited on the server, the prining will not work on the admins that have not visited the server at all. Only add most important admins in this file and let them give the less important levels. This is also a convenient way to add few new admins when needed while being offline using temporary admins.cfg files. All the admins that are added using this method are buffered for the remaining of the map and this is not advisable for a large amount of admins during a live game. !resetpls --------- With this command, an admin can reset all player statistics of an individual player, including K/D and Player rating. !finger ------- The finger command has 2 new fields. Build and Ident. The Build field will tell server admins the build of the client mod. This can have 3 different values, Mac OS X, Linux and Windows. There is also the date when the client binary was built. The Ident field will tell the admin the status of the client identification for that client. The possible values are: * VALID ; Everything is ok. * SPOOFED ; The client has sent invalid identification. * CLIENT IS NOT SENDING ; The client has not sent any kind of identification.  * CONFIRM LATER ; The client has not yet sent the identification, but it is not expected to have done it either. This can happend during connections. The values that are alarming are written in red with the !finger command output.  Miscellanous ================= Starting from the silEnT version 0.3.0 there is second type of landmine notifications available to send by the server, so called summary notifications. Server can send two types of landmines reveal notification. Standard one, generated (sent) for each landmine revealed and summary one, which is sent after player spotting landmines stops using binoculars. It's generated after each binculars zoom. The server admins can decide which landmine reveal notifications server should send using g_landmineNotifyType server cvar. g_landmineNotifyType options: 0 ; Only standard notfications (for each landmine revealed). 1 ; Only single summary notifications for one binocs zoom. New type of notification. For example: during one binocs zoom, 3 mines were revealed, but only 1 summary notification is sent. It contains information: 3 mines spotted by "player name" and last one was in location "some location". 2 ; Don't send any landmine notifications. 3 ; Send all notifications. For example: for 3 spotted landmines send 4 notifications (3 for each landmine + 1 summary notification). Default: 3 The option 3 is the most convenient for clients, because they can specify on the client side which notifications they want to receive and display (cg_landmineNotifyType cvar). -- More information and help available at the http://mygamingtalk.com.