N!tmod 2.2:


	Final:

	Added: New loading screen

	Fixed: ET:Legacy ps->stats[] problem
	
	Fixed: extra clips (g_weaponItems) were not added

	Fixed: "Death Match" wasn't listed for gametype vote

	Fixed: bullet trajectory was sometimes aborted because of the new hitboxes system

	Fixed: CovertOps smoke is no longer used when calculating client accuracies
	
	Added: n_tripmineTimeout (remove client's tripmines when disconnecting/changing team)
	
	Fixed: poison gas mines were not removed if g_landminetimeout was enabled

	Added: Poison gas landmines will now be draw on command map

	Modified: UI Download screen

	Modified: sv_floodprotect is now forced to 0, some major features will break if it's set to 1
	
	Fixed: User timestamp was updated on ClientConnect() / ClientUserinfoChanged() - Now only in ClientDisconnec() / map end

	Fixed: some minor issues with XPSave system

	Fixed: Poison Gas Landmine now has its own MOD and WS
	
	Fixed: WP_GRENADE_PINEAPPLE's MOD was not correct (was MOD_GRENADE_LAUNCHER, had to be MOD_GRENADE_PINEAPPLE)

	Added: Graphic obituaries (cg_obituary 3: killer - icon - victim | cg_obituary 4: victim - icon - killer)

	Added: Ban message error code (This way admins can know if this is a GUID, IP or MAC address ban)

	Fixed: abort ClientUserinfoChanged if the client is kicked inside the function

	Added: Ban events are now logged

	Fixed: Players will Heavy weapons skill level 4 or higher couldn't use secondary weapon after a map_restart (Thanks >>H2O|.sCar* for reporting)
	
	Fixed: Last printed popup messages was appearing again after disappearing

	Modified: Popup messages will start fading after 1500 milliseconds

	Removed: g_knifeonly cvar

	Added: g_war 4 - Knife War (replacing g_knifeonly cvar)

	Fixed: can't pickup grenades during knife war

	Fixed: g_pickAnyWeapon could allow picking up disallowed weapons during war modes

	Fixed: cg_numPopups used to allow cg_numPopups + 1 popups

	Fixed: FieldOps were able to call artillery in war modes (http://www.etmods.net/tracker/index.php?do=details&task_id=42)

	Fixed: Players could sometimes pickup objectives when they were not supposed to, because of g_realBody 1 (http://www.etmods.net/tracker/index.php?do=details&task_id=23)

	Fixed: Flying corpses should no longer happen now (http://www.etmods.net/tracker/index.php?do=details&task_id=38&project=1)

	Added: Lagometer now shows delay added by antiwarp, like ETPro

	Modified: g_war is no longer a bitflag

	Fixed: some shuffleteams commands/cvars were wrong

	Modified: n_ammoPackSinkDelay can't be set higher than 60000 or server uses default value

	Modified: n_medPackSinkDelay can't be set higher than 60000 or server uses default value

	Removed an unused cvar

	Added: Precise landmine trigger (n_preciseLandmineTrigger)

	Modified: Antilag now stores up to 800ms of players' positions per server frame (ala ETPro) instead of 500ms (ETPub, for example)

	Added: "DELETEALL" case sensitive argument to !delrecords to clear the whole records database.

	Added: Neil Toronto's "Projectile Nudge" (Should make it easier for high pinger to dodge missiles. Cvar: cg_projectileNudge 0 - Disable | 1 - Enable | Default: 1) 

	Added: Debug bitflags to g_antilag (2: Show backward reconciled hitbox when an antilagged trace is done by the server | 4: Show current hitboxes whenever a bullet weapon is fired) 

	Fixed: Fixed physics code (g_fixedPgysics & g_fixedphysicsfps) should work correctly (i'm not sure it did in older versions)

	Fixed: I'm not sure pmove_fixed was working correctly, now it should be ok

	Modified: !finger command code has been optimized

	Added: !userinfo now displays UsedID (NGUID's 8 last digits)

	Added: "seen" information to !userinfo (time elapsed since last player connection/disconnection)

	Fixed: FriendlyFire voting used to set g_friendlyFire cvar to value 1 or 0, regardless of what bitflags were used (http://www.etmods.net/forums/viewtopic.php?id=648)

	Fixed: NGUID was not used for ban checks inside ClientConnect

	Fixed: NGUID was not used for Max Lives checks inside ClientConnect

	Fixed: Duplicate NGUID checks had no effect inside ClientConnect

	Added: g_misc Flag 128 - Uniform instant backsteal for level 4 and higher covertops skill

	Added: cg_HUDFlags Flag 16 - Draw "Modern ammo bar" instead of ET default xx/xx ammo indicator

	Added: New hitbox system linked to player animations

	Added: SQlite Database file and .db sample files are now automaticly created if they dont exists

	Fixed: Tripmine have a better head detection

	Fixed: Don't add extra ammo during war modes

	Fixed: Ammo packs no longer give grenades during war modes

	Fixed: Players can no longer regenerate health during war modes

	Fixed: class limits could cause problems during war modes
	
	Fixed: Players will be forced to spawn as soldier/engineer/covertops, depending of the war type, during war modes. If the war mode is disabled, they will respawn with their desired class
	
	Fixed: Max Health will always be 100 during war modes or Death Match gametype

	Fixed: potential issue with "EventsQueue"


		----------------------------------------------------


	Pre Release 1 :


	Fixed: "removereferee" and "makereferee" server commands now call ClientUserinfoChanged()

	Fixed: "MISC" vote menu file (some buttons were not placed correctly)

	Fixed: AutoMutes are now added to SQLite database

	Fixed: "no shoot" icon was stretched in widescreen

	Reworked: Missile cams - Use temp entities instead of 64 static entities.
		There's no point spawning 64 entities when some servers don't even use missile cams

	Modified: mod can now boot on 2.55 servers again

	Added: tripmines are now activated by doors (code provided by 7killer, ECSMod)

	Added: g_countryFlags flag 2: Bots will use the server's location for country flags (based on net_ip cvar)


		----------------------------------------------------


	Release Candidate 3 :


	Fixed: "Dynamite is now armed with a X second timer" was wrong

	Added: Handshake (server now knows when a client is fully connected)

	Reworked: Whole new configstrings system, the old one had too many bugs, was too heavy and not 100% reliable (and has been completely deleted)

	Fixed: g_mapVoteFlags flag 16 wasn't working at all

	Fixed: Intermission mapvote list can now display more than 19 maps at a time and the scrollbar works

	Fixed: Spectator flag was drawn before chat obituaries (cg_obituary 2)	


		----------------------------------------------------	


	Release Candidate 2 :


	Reworked some parts of the "N!tmod Mail System"
		- /mails: Better output, it is now easier to read
		- /mailto: Better output, now tells the user if his message has been sent.
		- /register: Username and Password could only contain 31 chars while maximum was supposed to be 32.
		- /deletemail: There was an error in the code, it was only possible to delete messages sent to ourself.

	Fixed: !disorient had no effect

	Reworked some parts of the admin system to reduce server load

	Fixed: sometimes g_XPSave flag 8 didn't work at all

	Fixed: !resetxp and !resetmyxp now allowed during sniperwar

	Fixed: "headshot" sound wasn't played during sniperwar if !n_sniperwarOptions & 2

	Added: n_medPackSinkDelay cvar - Delay (in milliseconds) before dropped medpacks disappear, 
		minimum 5000, default 30000. If set lower than 5000, server uses default value.

	Added: n_ammoPackSinkDelay cvar - Delay (in milliseconds) before dropped ammopacks disappear, 
		minimum 5000, default 30000. If set lower than 5000, server uses default value.

	Added: If g_frienflyFire flag 256 is set, players need to use pliers as they walk on their own landmines to trigger them.

	Fixed: Potential crash issues when something goes wrong with the Admin System

	Added: XPSave system will log Load/Write attempts on clients with no or invalid NGUID

	Modified: "levels.db" file now needs to exist or the whole admin system will be disabled

	Fixed some code typos

	Fixed: Disguised player names were not centred

	Fixed: Some sounds were wrong (ex: objective room doors on bremen)

	Added: n_dynamiteTimer cvar - Delay (in milliseconds) before dynamite explodes, 
		minimum 5000, maximum 60000, default 30000. If set lower than 5000, server uses default value. Clients
		effects (progress bar, dlight, messages) are also synced.


		----------------------------------------------------


	Release Candidate 1 :


	Added (~80%) Widescreen support

	Added: Spectator chat flag

	Fixed: Some MOD's had no/invalid obituaries

	Fixed: New Configstring system (the one used in 2.2 beta 2) now works correctly for 2.60/b/d clients

	Re-Added: ET 2.55/2.56 support (WARNING: Server uses different configstrings system for 2.55/2.56 or ET 2.60/b/d clients,
		  don't forget to report Client version if you find bugs)

	Fixed: No more team flags in chat for pm/adminchat/server announces

	Fixed: Poison gas damage can now be set through weaponscripts

	Fixed: Dead players can no longer stomp (goomba)

	Fixed: Bans/Mutes were not correctly saved/loaded

	Added: Server version check. Real 2.55 server will shutdown (2.55+ still WORKS!)

	Added: Bots will only trigger tripmines if omnibot_flags 32 is set

	Fixed: username and password for mail system can only contain alphanumeric characters

	Fixed: SQLite queries were broken when trying to save data containing apostrophe(s)

	Removed: n_dbSync cvar. Server now instantly saves important modifications to the database, just like 2.2b2 did if n_dbSync was set to 1.

	Fixed: Crash when n_SQLiteDBPath wasn't set or was invalid

	Fixed: !readconfig should no longer break the admin system

	Fixed: There was something wrong with !help...

	Added: et.G_AdminLevelName(clientNum) LUA function (returns a text string containing client's Admin Level name)

	Added: NGUID hack protection

	Fixed: NGUID could be set manually before connecting to a server...

	Added: n_allowDropWeapon: (0 - Disable abitily to drop primary weapon | 1 - Players can drop their primary weapon 
		using "dropweapon" command (can be used in console or bound to a key))

	Added: g_friendlyFire flag 256 : Players don't trigger their own landmines

	Added: n_mapRecords: (0 - Disable Map Spree/Frag records | 1 - Enable Map Spree/Frag records)

	Added: Spectators can see the team flag of the player they are following. They will also see the class icon near the flag,
		replacing the old [classname] that was printed after the player name.

	Added: Adminchat messages and private messages now use a different background color. Also, color codes are now stripped from these messages.

	Added: On-Map-Load expired bans auto cleanup

	Added: On-Map-Load expired mutes auto cleanup

	Fixed: Sprint bar when following a player

	Fixed: Spread indicator position was wrong when using widescreen resolutions

	Reworked: /tdminfo command

	Fixed: Some players had no NGUID (this fix is experimental and needs to be tested on a large server)

	Added: On-Map-Load invalid users auto cleanup

	Fixed: All the new configstrings system bugs should now be fixed (going to test it ASAP)

	Fixed: Mutes were duplicated in SQLite database

	Added: MAC Address based mutes (mutes now rely on NGUID and MAC instead of NGUID only)

	Fixed: Crosshair is no longer stretched in widescreen

	Added: n_forceSinglePistol CLIENT cvar, for players who want to use single pistol even when akimbo are available (http://www.etmods.net/nitmod/viewtopic.php?id=192)

	SQLite bugs with strings containing apostrophes should definitely be fixed now

	Rewrote map records code, old one had a few bugs

	Added: SQLite queries Logs (n_SQLiteLogs cvar)

	Added: "Event Queue" - Server can now handle up to 64 events at a time without calling G_Spawn, this should reduce server load

	Added: Bots now have the ready icon in scoreboard

	Added: Client side effect for !slap command (sound and screen shake)

	Added: Goomba kills are now displayed in "alt stats"

	Added: n_UserDBSync: For use with multiple servers on a single DB. If enabled, server will re-load the user from database when he connects
		to avoid corrupted DB. If the DB is used by a single server, set it to 0 to avoid useless ressources usage.

	Fixed: 'Connection interrupted' when dead and following the last bot of your team and this bot dies

	Fixed: Empty player names in DB

	Added: g_misc flag 32 to enable real lean

	Added: n_sniperWarOptions cvar ( 1 -Players will spawn with binoculars | 2 Scoped headshots instagib the target | 4 Players will spawn with 40 grenades )

	Added: g_misc flag 64 (Players who drown can't be revived)

	Fixed: reduced trap_S_RegisterSound() calls inside trap_S_StartSound() to avoid client "freeze" (Most sounds are now registered on map load)

	Reworked some parts of the entities code, reducing G_Spawn(), trap_LinkEntity() and trap_UnlinkEntity() calls

	Fixed: "SP_team_WOLF_objective: exceeded MAX_MULTI_SPAWNTARGETS" error should no longer happen

	Fixed: Player view was strange when poisonned because of damage feedback

	Added: Even more configstrings saving

	Fixed some small issues with new ConfigStrings system


		----------------------------------------------------


	BETA 2 :


	---- November 17th 2011
	Fixed: !help crash on servers with no custom commands

	Fixed: custom commands were not cleared when loading commands.db (!readconfig)

	---- November 16th 2011
	Modified: /checkmails command is now /mails

	Added: /mails now inform the client if he has no message.

	Added: /deletemail now prints an error message if an invalid mail ID is specified

	Reworked: New configstrings method. Old one was causing servercommand overflows, this one is faster and safer.

	Fixed: (Mail system) users had to login every map

	Fixed: (Mail system) little bug with the /register command

	---- November 15th 2011
	Fixed: SQLite database was never closed, one new thread to the file was created at every G_InitGame call...

	Fixed: !help output was incredibly wrong for custom commands

	Fixed: SQLite bug causing database lock after a few queries...

	---- November 14th 2011
	Fixed: et.G_shrubbot_permission LUA crash

	Fixed: Damage feedback was wrong or missing most of the time

	Fixed: Muted players couldn't be unmuted after a /reconnect or a map_restart

	Fixed: !dbsave was not displaying anything when used ingame

	Added: /callvote without any args now displays Custom votes (votes.db)

	Fixed: Spawpoints infos were wrong in limbo menu


		----------------------------------------------------


	BETA 1 :


	---- November 14th 2011
	Added: ETXreal maps support

	Added: cg_tracers 2, Display other players' tracers only

	Updated menus

	Fixed: compass icons were not clipped correctly

	---- November 6th 2011
	New: SQLite Map Records

	Merged latest OmniBot fixes (from ETPub SVN, credits: crapshoot)

	New bomb model

	Added: g_misc 4 : Disable medpack XP

	Added: g_misc 8 : Disable ammopack XP

	Fixed: Depending on server settings, flakjacket was available in DM

	Fixed: "Prepare to fight" announced correctly

	Fixed: Old bug not giving grenades during Sniperwar and RifleGrenade war

	Fixed: Binoculars now available in Sniperwar

	New: skill_* cvars now accept -1 values to disable a skill

	Fixed: Muted status was lost when reconnecting or restarting map

	Fixed: !banguid cannot be used on players with higher admin level

	---- June 24th 2011
	Fixed: "novote" flag now works correctly

	Fixed: Flag 16 of 'g_goombaFlags' (Instagib) should now work properly no matter what g_goomba is set to.

	---- June 10th 2011
	Added: SQLite support (~85%)

	Fixed: SQL tables size

	New: Real gravity. (Items now use server real gravity (g_gravity) instead of default (800))

	Fixed: "MOD_POISONGAS" was missing in modnames

	Fixed: Players could use "say_teamnl" while muted

	Fixed: Poison gas damage code reworked. No more damage through walls (except map bug?)

	Fixed: some prediction errors (including the most annoying: weapons needing charge fired when charge was empty)

	Fixed: Player model lighting at long range

	Modified: Built in LUA API. No more additionnal DLLs needed on Windows servers

	Fixed: Don't allow callvote mute if player is muted by admin (Thanks to LSD Wol for reporting)

	Fixed: G_shrubbot_tempban wasn't copying MAC Address. (Thanks to LSD Wol for reporting)

	---- May 18th 2011
	Fixed: Sten was sometimes not drawn in limo

	Added: Progress bar for Poison Landmine when arming

	Added: Cursor hint for Poison Landmine

	Fixed: Animations were broken when holding a Poison Landmine

	Fixed: Smoke bomb and Poison gas bomb not thrown when leaning

	Fixed: Objective popups used to crash the server when the attacker wasn't a client.

	Fixed: Weapon switching delays are now the same as ETMain/ETPro

	Fixed: Custom weaponscripts now work for Tripmines.

	Fixed: shrubbot "incognito" flag had no effect, should be finally fixed now.

	Fixed: It was possible to vote mute players with the "immunity" flag

	Modified: 0 bandwidth hitsounds

	Fixed: "novotelimit" had no effect on disabled votes. Admins with this flag can now call votes even if they are disabled.

	Fixed: Ticket #31 (http://nitmod.com/tracker/index.php?do=details&task_id=31) Dropped K43/GARAND had no ammo.

	Added: Flag 4 to g_poison > Jaymod style damage ratio for poison syringes 

	Fixed: cursor health was broken for spectators

	Added: New Configstrings system. "MAX_GAMESTATE_CHARS exceeded" error should never happen again.

	Added: Tripmines are now slighlyt visible by enemy (level 4 battle sense and higher).

	Fixed: Centerprints were sometimes not received.

	Fixed: /callvote poll now returns an error message if poll voting is disabled.

	Fixed: Body and Head hitsounds not working in TDM and DM

	Added: Flag 8 to g_TDMOptions > Enable Intermission Map Voting during Team Death Match

	Modified: Loadpanel can now accept up to 7 MOTD lines, new chargebar, server name now displayed in place of mod version.

	Added: server_motd6 cvar

	Modified: TDM Score Box (progress bar, score blinks when changed, "COD" style Time bar when TDM is timelimit based)

	Added: Flag 16 to g_TDMOptions : Round will end when timelimit is reached

	Added: NGUID (N!tmod GUID). N!tmod now uses its own GUIDs. PBGUID is no longer used by the mod.

	Fixed: Don't allow duplicate bans with !banguid

	Fixed: Don't ban localhost/127.0.0.1 with !banguid

	Fixed: !banguid now instantly drops the client if he's connected

		----------------------------------------------------				
	N!tmod custom votes system:	
		Server admins can now create custom votes on their server.
		These votes don't take any arguments. 
		The specified command will be executed if the vote passes. 
		Nothing happens if the vote fails.
		Votes have to be defined inside a "votes.db" file, located in the "nitmod" folder of your server.
		Here's the "votes.db" structure:
			
			**********	//Delimiter (10 stars "*") Must IMPERATIVELY be placed BEFORE every vote.
			name =		//Vote name (ex: "splata")
			cmd =		//Command sent to the server if the vote passes (ex: !splata)
			message =	//Message displayed on players screens when the vote is called.
			
		This file will be loaded everytime a map is loaded by the server.
		----------------------------------------------------
	New Admin/XPSave/UserMail/Map records system :	
		What's new ?	
		
		N!tmod 2.2 comes with a whole new SQLite database system.
		Starting from N!tmod 2.2, the usual "shrubbot.cfg" disappears!
		XPSave, Admins, Bans, Mutes, Mails (if enabled) and map records will now be saved into a SQLite database.
		A mail system has also been added in order to let users contact each other, a sort of "offline PM system".
		If enabled, users will be able to register and send mails to other registered users.
		
		Some SQLite errors will be printed in the server console and written to logs (if logging is enabled).
		These errors are needed if you report a problem on our forums !
		
		New cvars:
			"n_SQLiteDBPath"
				Absolute path to the SQLite database file.
				Must include filename (ex: C:\nitmod.sqlite) !!
				Database file will automaticly be created.
				Admin System, XPSave, Mails and Map Records will be unavailable if this cvar is not or not correctly set or if something went wrong while opening the file.
			"n_dbSync"
				0: Latched SQLite queries. Only sent when using !dbsave or when map end/restarts. 
				1 : Real time SQLite queries, to allow multiple servers using the same database.)
			"n_userMail" 
				0 : Disable N!tmod mail system.
				1 : Enable N!tmod mail system.
			
		Deleted cvars:
			"g_shrubbot"
			"g_XPSaveDirectory"
			
		New commands:
			"!userdelete"
				Deletes an user from the server database.
				Database will be automaticly saved and reloaded when used.
			"!levdelete"
				Deletes a level
					"levels.db" will be automaticly saved and reloaded when used
			"!levadd"
				Adds a level "levels.db" will be automaticly saved and reloaded when used.
				Levels order in !levlist and inside the "levels.db" file may be incorrect, but will not cause any problems
			
		N!tmod mail system commands:			
			Following commands requires "n_userMail" to be set to 1 on the server, and a valid SQLite database!
			"/register"
				Register on the server.
				This command will link an username and a password to your NGUID on the server.
			"/login"
				Login to your account to use N!tmod mail system.
				NOTE: If the login doesn't match the NGUID it is linked to, login will fail.
			"/checkmails"
				Display user's inbox.
				Requires user to be registered and logged in to his account.
			"/deletemail"
				Delete mail by ID.
				Use "/checkmails" to find the correct mail ID.
			"/mailto"
				Sends a mail to another user on the server using his login.
				Ex: "/mailto user_21 Hi there, what's up?".
		
		Config changes:
			Levels have to be defined inside a "levels.db" file, located in the "nitmod" folder of your server.
			This file uses a different structure. 
			Don't copy/paste level entries from your old "shrubbot.cfg", it will not work.
			Here's "levels.db" structure:
			
				**********	//Delimiter (10 stars "*") Must IMPERATIVELY be placed BEFORE every level.
				level =		//Level Number
				name =		//Level Name
				flags =		//Flags 
				gtext =		//Optional Greeting Text (user's greeting text overrides this value)
				gsound =	//Optional Greeting Sound (user's greeting sound overrides this value)
						
			Commands have to be defined inside a "commands.db" file, located in the "nitmod" folder of your server.
			This file uses a different structure. 
			Don't copy/paste level entries from your old "shrubbot.cfg", it will not work.
			Here's the new "commands.db" structure:
				
				**********	//Delimiter (10 stars "*") Must IMPERATIVELY be placed BEFORE every command.
				name =		//Command name (ex: "test")
				exec =		//Command sent to server (ex: chat "^3Test command")
				help =		//Text displayed in !help cmdname (ex: "Test command")
				levels =	//Levels having access to this command, delimited by spaces (ex: 0 1 2)
						
			These 2 files (levels.db, commands.db) can be reloaded using !readconfig. 
			They are also loaded everytime a map is loaded by the server.
			The "levels.db" file will be saved everytime !levedit, !levadd or !levdelete commands are used.

				
		********************************************************************************************************

		