Hi !
After almost 3 years of development (with a lot of pauses due to real life problems…), N!tmod 2.3 is finally ready for public use 
One of the major changes in this version is the built-in anticheat, NxAC 1.0.
Here’s the complete changelog since 2.2 (i.e. since June 1st 2012… :eek:)
[B]N!tmod 2.3 FINAL (Changes since N!tmod 2.3 BETA 2):[/B]
[B]Added: [/B]Serverlist can now display N!tmod servers' NxAC status
[B]Added: [/B]Filter to show/hide NxAC protected servers in the serverlist
[B]Added: [/B]Serverlist can now show bot counts (ex: 10(+3)/32 means 10 real players, 3 bots, 32 clients max)
[B]Added: [/B]/cheaters command: Will display cheaters list (useful for servers where auto kick/ban is not enabled)
[B]Added: [/B]sv_NxAC serverstatus cvar, so game trackers can know the server's cheat protection status
[B]Added: [/B]n_NxAC cvar. 0: Warning only | 1 - Auto kick/ban | 2 - Auto screenshot + kick/ban
[B]Modified: [/B]Improved !showbans output (fixed layout and added UserID)
[B]Fixed: [/B]Some !commands output could be truncated, or simply not sent to clients.
[B]Added: [/B]Date and time are now logged into NxAC screenshot info files
[B]Added: [/B]Violation are now logged into NxAC screenshot info files in case of auto-screenshot
[B]Fixed: [/B]Freeze problem after map change/vid_restart should now be fixed
[B]Fixed: [/B]Potential NxAC crash
[B]Fixed: [/B]Satchel stats problem (http://bugs.etmods.net/index.php?do=details&task_id=67)
[B]Fixed: [/B]Merged some NxAC security and stability fixes from N!tmod 2.4's work in progress
[B]Fixed: [/B]Wounded players disappearing when gibbed by MOD_GOOMBA
[B]Fixed: [/B]n_standCrouchDelay cvar name typo
[B]Fixed: [/B]!mute and !unmute were not always working as expected
[B]Fixed: [/B]Erroneous "Player ended his own spree" when spectating another player and changing team
[B]N!tmod 2.3 BETA 2 (Changes since N!tmod 2.3 BETA 1):[/B]
[B]Fixed: [/B]When hitting a teammate on FF enabled servers and "Teamkill assistances" are not enabled, players were getting a "Kill assistance"
[B]Fixed: [/B]Adrenaline wouldn't drain charge sometimes when used by a non-medic class and depending on the server's chargetime settings
[B]Added: [/B]n_voteMaxTimelimit - Allow capping the maximum timelimit vote value
[B]Fixed: [/B]Round timer now supports higher timelimit and can display hours and, in extreme cases, days remaining.
[B]Added: [/B]n_classesMaxHP: Allow setting max HP for each class
[B]Fixed: [/B]NxAC was reporting players with suspicious memory modules as "GAMEHACK" instead of "SUSPICIOUS MEMORY MODULE".
[B]N!tmod 2.3 BETA 1 (Changes since N!tmod 2.2 Final):[/B]
[B]Fixed: [/B]Major memory leak in the Admin System
[B]Fixed: [/B]All the known crash/data loss issues in the SQLite/Admin System code
[B]Fixed: [/B]Prone bbox height
[B]Fixed: [/B]Some constructibles couldn't be built
[B]Fixed: [/B]Console prints if a dynamite is disarmed by owner or teammate
[B]Fixed: [/B]ETPro "delete" mapscript can now find entities by any key, not only by "origin"
[B]Fixed: [/B]"cvar" script action was not working correctly
[B]Fixed: [/B]wm_announce and wm_annonce_icon were not logged and could break compatibility with some LUA modules
[B]Fixed: [/B]"Modern Ammo Bar" bug
[B]Fixed: [/B]!shuffle was sometimes moving spectators into team
[B]Fixed: [/B]Sten damage did not match ETMain value (was 18, is now 14)
[B]Fixed: [/B]damage/splashdamage/splashradius values were hardcoded for some weapons, causing weapon scripts to have no effect
[B]Fixed: [/B]Some objectives couldn't be picked up if g_realbody was enabled
[B]Fixed: [/B]Slot number was sometimes invalid in !finger output
[B]Fixed: [/B]"Highest fragger" award is now given to the player with the least deaths if more than one players have the most kills
[B]Fixed: [/B]Some global stats were incremented when killing bots, or during warmup
[B]Fixed: [/B]Engineer's bomb damage and splash radius were too high
[B]Fixed: [/B]Max ammo was wrong for some weapons, which could result in players having 14 or 16 revive syringes, for example
[B]Fixed: [/B]g_landminetimeout and g_tripminetimeout were not working correctly (some mines were not removed)
[B]Fixed: [/B]Bots aim error after being revived
[B]Fixed: [/B]Players could sometimes respawn in tanks if they were killed while mounting it
[B]Fixed: [/B]"Dynamite planted" objective announces were sometimes awarded to the player who set the dynamite instead of the player who armed it
[B]Fixed: [/B]Sometimes censor would mute the wrong player, or mutes would disappear on client reconnect
[B]Fixed: [/B]level 5 medics always had 10 extra HP when picking a medpack. Now the 10 extra HP are only given if the medpack was dropped by a level 5 medic
[B]Fixed: [/B]Players who kill themselves with their own bomb used to get a new one after being revived
[B]Fixed: [/B]!nextmap now starts intermission and let players vote for next map (just like a "nextmap" vote) if g_mapVoteFlags flag 16 is set and gametype is Map Voting.
[B]Fixed: [/B]default "commands.db" file was corrupted
[B]Fixed: [/B]Don't !nade spectators
[B]Fixed: [/B]!delrecords DELETEALL was not working because of a SQLite syntax error
[B]Fixed: [/B]problems with high levels in commands.db
[B]Fixed: [/B]When dead and following another player, v6 (vsay player class) was wrong. Now, it will announce their latched class
[B]Fixed: [/B]crosshair names and class icon overlapping for disguised enemies
[B]Fixed: [/B]Missing crosshair hint value when arming/disarming landmine/dynamite
[B]Fixed: [/B]Do not play poison syringe hit sound on clients that we can't poison
[B]Fixed: [/B]Missing weaponstats for Poison gas landmine
[B]Fixed: [/B]Missing obituary message for MOD_POISONGASMINE
[B]Fixed: [/B]Landmines ammo count could be wrong when too many map mines were planted (on baserace for example)
[B]Fixed: [/B]Don't draw crosshair mine ID for map mines
[B]Fixed: [/B]Spree/Multikill announce position now changes when client receives a notification popup
[B]Fixed: [/B]Couldn't vote to enable friendly fire if other bitflags than 1 were set on g_friendlyFire
[B]Fixed: [/B]New gametypes were missing in votes menu
[B]Added: [/B]n_greetingPos
[B]Added: [/B]n_killAssistances
[B]Added: [/B]n_noSkillUpgrades
[B]Added: [/B]n_tankMountDelay
[B]Added: [/B]n_standCrouchDelay
[B]Added: [/B]n_crouchStandDelay
[B]Added: [/B]n_reviveSpreeOptions
[B]Added: [/B]n_minNameLength
[B]Added: [/B]n_crazyGravity
[B]Added: [/B]n_crazyGravityMin
[B]Added: [/B]n_crazyGravityMax
[B]Added: [/B]n_crazyGravityInterval
[B]Added: [/B]n_multiReviveTime
[B]Added: [/B]n_LogCurrentTime
[B]Added: [/B]g_DMOptions flag 16384: Enable intermission map voting
[B]Added: [/B]g_dualSMG flag 2: Drop both primary weapons when players go into limbo mode
[B]Added: [/B]g_poison flag 8: Can't cure poison with medpacks dropped by our poisoner (Requires g_poison flag 2 to be enabled)
[B]Added: [/B]omnibot_flags flag 65536: Bots will use Poison Gas Landmines (if enabled) rather than normal Landmines
[B]Added: [/B]g_hitboxes flag 16: Players can avoid bullet impacts when they are behind a player who has just been revived (Default ET behavior)
[B]Added: [/B]g_realbody flag 2: body hitbox height lowered to shoulders
[B]Added: [/B]g_realbody flag 4: Dead/Prone/Playdead hitboxes height lowered
[B]Added: [/B]g_realbody flag 8: Crouch hitbox lowered to shoulders (more than original ones)
[B]Added: [/B]cg_pmColor client cvar: Private messages color (Ex: cg_pmColor "1" will display red pm)
[B]Added: [/B]cg_noGreetingSounds cvar: Let clients disable greeting sounds if they don't want to hear them
[B]Added: [/B]ETPub style scoreboard double tap to sort players by XP or K/D
[B]Added: [/B]demo_wallHack client cvar, allow using "real" wallhack during demo playback
[B]Added: [/B]Global stats can be displayed in game using "globalstats" command (automaticly bound to "N" key if not bound to another key)
[B]Added: [/B]Client notification popups (First blood, incoming PM/Adminchat, warnings...)
[B]Added: [/B]cg_notificationFadeTime & cg_notificationTime cvars to customize notification popups
[B]Added: [/B]"minimize" command (windows only)
[B]Added: [/B]ETPro crosshairs (up to cg_drawCrosshair 15)
[B]Added: [/B]ETPro style Extended ASCII characters support
[B]Added: [/B]Player's hit regions stats during intermission
[B]Added: [/B]"Best Revive Spree" Award
[B]Added: [/B]"Best Engineer" Award: Most objectives planted/defused/destroyed/constructed
[B]Added: [/B]"Best CovertOps" Award: Most uniform steal, satchel kills, satchel destructions, landmines spotted
[B]Added: [/B]"Best FieldOps" Award: Most ammo given, most tank/trucks destroyed with arty/airstrike
[B]Added: [/B]True player count in the server browser (requires original .menu file, don't forget to update your custom pk3s with this new file if needed)
[B]Added: [/B]Adminchat window (similar to the normal chat box)
[B]Added: [/B]globalstats in N!tmod>Controls menu
[B]Added: [/B]adminchat window N!tmod>Controls menu
[B]Added: [/B]Backstabs & UniformSteal stats are now sent to the master server
[B]Added: [/B]Client game version is now displayed in !finger output
[B]Added: [/B]Custom commands [i] tag will now be replaced by the player's slot number
[B]Added: [/B]Revive spree records are now stored in the SQLite database (inside "records" table, like other map records)
[B]Added: [/B]New map records are now announced during intermission, previous records are also announced for comparison
[B]Added: [/B]!crazygravity command: Toggle Crazy Gravity
[B]Modified: [/B]Shuffle is now based on player's Global + local KD Ratio (local KD ratio only if global stats were not retrieved from the master)
[B]Modified: [/B]Increased database max users from 32768 to 65536
[B]Modified: [/B]g_revenge: Revenges give +1xp
[B]Modified: [/B]Updated SQLite to version 3.8.5 (previous version: 3.7.6.2)
[B]Modified: [/B]Improved SQLite code to process queries faster
[B]Modified: [/B]Improved entities code (Should considerably reduce server CPU usage on maps with a lot of entities or servers with a lot of players)
[B]Modified: [/B]Artillery code now uses less entities
[B]Modified: [/B]New Inactivity code: Old one was buggy and used to add some useless delays
[B]Modified: [/B]Improved hit detection code for default hitboxes ( g_hitboxes 0)
[B]Modified: [/B]New "votes.db" syntax (see http://etmods.net/nitmod_install.php)
[B]Removed: [/B]n_SQLiteLogs cvar
[B]LUA API:[/B]
[B]Added: [/B]et_ReceivedGlobalStats(clientNum, statsBuffer) callback function
It is called whenever server receives global stats for a player.
'clientNum' is the clientNum of the client whose stats have been received
'statsBuffer' contains space separated values:
KILLS DEATHS TEAMKILLS TIME_PLAYED REVIVES TRIPMINE_KILLS GOOMBAS SCOPED_HEADSHOTS FLAMETHROWER_KILLS CONSTRUCTED_OBJS DESTROYED_OBJS ROUNDS_PLAYED SATCHEL_KILLS BACKSTABS STATS_UNIFORMSTEAL
[B]Added: [/B]LUA: ReadOnly access to sess.aWeaponStats
[B]Fixed: [/B]G_LuaHook_ConsoleCommand was missing
[B]Fixed: [/B]et_ClientBegin( clientNum ) callback is now only called once per map (ETPro behavior)
[B]Added: [/B]et.G_PlayerCount(type) function :
t.G_PlayerCount(0) = Total number of connected players
t.G_PlayerCount(et.TEAM_AXIS) = Total number of axis players
t.G_PlayerCount(et.TEAM_ALLIES) = Total number of allied players
t.G_PlayerCount(et.TEAM_SPECTATOR) = Total number of spectators
[B]Tripmine code has been completely reworked:[/B]
Tripmines now need to be armed
Once a tripmine is armed, it takes 1 second to become active (the beam is a little transparent when it's not active)
If it's not armed, a tripmine will fade after 15 seconds
It is impossible to arm an enemy tripmine
Tripmines can be disarmed (they always did)
Tripmines can be damaged (2 SMG shots) if g_damageweapons flag 32 is set (no big change here)
Fixed: team tripmine counter was not adjusted if a player disconnected/changed team and n_tripmineTimeout was enabled
Once a tripmine is placed, player will automatically switch to pliers to arm it
[B]NxAC:[/B]
[B]Added: [/B]Client Cvars Scanner
[B]Added: [/B]Client binary checksum verification
[B]Added: [/B]Cvar violations are now reported to ETMods.net master server
[B]Added: [/B]Cvar Scanner warnings (n_NxAC_CvarScanMaxWarnings) before kick
[B]Added: [/B]Semi-working cheat detection (detected cheaters will be reported to adminchat and added to the server's NxAC violations log)
[B]Added: [/B]server side "getss" command: /getss [name|slot#] (JPEG Quality: min 10 max 100 default 70)
Remote screenshots are now saved inside "nitmod/NxAC/screenshots" on server, player informations are saved in a .txt file near the screenshot file (names are the same, only the extension changes)
If remote screenshot fails, a violation is triggered, logged, and reported to adminchat
This new version can be downloaded here.
Don’t forget to check out ETMods.net for the latest news, forums, tutorials and documentation.
Enjoy 