N!tmod 2.3 Release


(Nitrox_) #1

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 :slight_smile:

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 :wink:


(Dragonji) #2

Keep up the good work and release new versions more frequently.


(zbzero) #3

great!!!

The old cvarlist used in PB’s servers provided by PBBans are useless?
And about the md5 checks like pb_sv_md5tool a “” v “AdA-HWH4.dll” SZ0 AT4096 LEN32 NOT_FOUND is not necessary?

BTW great work with the new release and the new anticheat!!!

Really awesome!!

Keep the good work


(Nitrox_) #4

Thanks, I’m trying, but it’s not always easy when alone on the project most of the time… :o

[QUOTE=zbzero;523051]great!!!

The old cvarlist used in PB’s servers provided by PBBans are useless?
And about the md5 checks like pb_sv_md5tool a “” v “AdA-HWH4.dll” SZ0 AT4096 LEN32 NOT_FOUND is not necessary?

BTW great work with the new release and the new anticheat!!!

Really awesome!!

Keep the good work[/QUOTE]
The PB Cvarlist can be adapted to work with NxAC, but I’ve already provided a sample cvarlist.cfg inside the mod package.
MD5 checks are not used in 2.3. They are already implemented into 2.4 though, but won’t work the same way as PB.
And thanks, I’m happy people seem to like it :slight_smile:


(twt_thunder) #5

great work Nitrox,
i have to investigate a bit further but it seems my client disconnect after a map download, I will return with more feedback when I checked some more


(Teuthis) #6

Great Job, Love to See People Sharing our Passion for mapping/modding for this game. If you Feel lonely TWT might be a Place for you, no? There we have some Folks actively modding while others make Maps and Models etc


(twt_thunder) #7

[QUOTE=twt_thunder;523367]great work Nitrox,
i have to investigate a bit further but it seems my client disconnect after a map download, I will return with more feedback when I checked some more[/QUOTE]
think this was just a connection problem with my internet


(twt_thunder) #8

no, @Nitrox it is a problem on my server… when I am a player and downloading a map it freeze when awaiting gamestate
but if I am spec while downloading everything works as it should.

server ip is:
5.101.104.229:27960

But also I must say I am impressed by your anticheat with screenshots proving things, love it! keep up your work Nitrox!
Need any help to something, give me a shout :slight_smile: