AMX Mod was originally created by OLO in 2002, it has been actively developped till the 0.9.9 version (2003/2004 years), then it became in a slack state after this time.
Some programmers (BAILOPAN, SniperBeamer…), have estimated the AMX Mod state was too much problematic and uncertain (for the probable future evolutions), so they decided to create the “AMX Mod X” project.
To do so, they made that we call in the coding stuff, a “fork”. That means, they basically used all the source code of AMX Mod 0.9.9 as a base to their program. To resume, they copy/pasted the whole program…
After this, they modified and changed lot of parts of the original code to satisfy their ideas and objectives, then they have programmed lot of functions (forwards/natives…) and modules, with the main goal to purpose a large choice to the plugins coders.
But, the default base plugins, which are essential for the users in a terms of administration, and the fact they allow to easily manage the third-party plugins, haven’t been trully upgraded and so, are still “behind” the current AMX ones.
Meanwhile within the AMX Mod development, since it wasn’t totally abandonned, the developers from the past (Aleksander “OLO” Naszko, Julien “dJeyL” Laurent, KRoT@L, T(+)rget, KleeneX, m0gely, DoubleDoom), worked so much on the “famous” 2005 version. The choice to modify the version style in an “annual type” has been chosen to notify a distinction with AMX Mod X (BAILOPAN ‘n misc didn’t really used their brains to change the original name and create their own… adding a “X” at the end was probably did in order to represent the symbol of an “evolution”… at through the users’s minds).
The AMX Mod developers they had more targeted to work on the quality and the usage comfort of the default plugins provided (instead of being focused on the duplicated and huge number of functions for coders), so that’s why AMX Mod is basically (without taking into account the third-party plugins), for the users, much better and complete than AMXX (unlike lot of people is thinking…).
Because of this dead state from the past, unfortunately, this 2005 version didn’t received the success expected, because lot of users and coders had already migrated under AMXX, make them back to AMX became so hard…
After this, one developer, KRoT@L, continued alone the development, he released the 2006.1 and 2006.2 versions and the famous 2006.3 version, on the one he had implemented lot of internal optimizations available under AMXX.
This last is approximately similar as an optimization level, to AMX Mod X 1.7.5.
Afterward, he given up the “boat”, it was the end of AMX Mod.
Between 2009 ‘n 2010, some fans (including the old developer “KRoT@L”, helvat and myself), decided to make revive the project, with a different perspective, close to the old development way of the old versions, but at the same time really different than how it’s under AMXX.
The main goal is to make available to you, all the third-party plugins with a design, a stereotype and a similar quality to the ones of the basic default package. We are looking for to privilege the quality instead of quantity (avoid “all and anything piece of shit”).
All of this, is so far to be available under AMXX and never will.
The AMX Mod 2010.1 version, released at the end of this year (2010), signed the first step forward about the “AMX Mod resurrection” (step #1).
Thereafter, a very long and fastidious job has been performed on the third-party plugins, this basically explains why all of that took so long.
In 2013, May, 1st, the official website was back, complete and fully bilingual (English/French)! That was the step #2 of the come back! Finally!
Today, the forum (step #3), is back too, with a similar design to the old “djeyl.net” one. It has been rebuilded like this in order to push forward the “nostalgic” grace and also the old-school style, to remember the past to some people…
I invite you to read this topic highly detailled, where any sentence is gonna to show you all the positive points of this addon, currently, and of course, inform you about the objectives and avantages it includes (including non-Steam support, etc.). Which is not explained in this current topic.
The original AMX Mod project started in 2002 authored by Aleksander “OLO” Naszko. While the same scripting language (Small) was used as its predecessor admin tool, Admin-Mod, the style itself is very different, most likely to correct various confusing or inadequate design decisions. For example:
Focus was on modifying the game, rather than only providing admin tools
Easier native syntaxes
Easier string manipulation
Greater flexibility for hooking game events and commands
Greater flexibility for manipulating engine/game
Module support for developers to extend native language
Easier syntax in general (for example, dropping semicolon requirement)
AMX Mod was originally coupled with dJeyL’s “MetaSmall”, although this was eventually dropped and the two combined into one binary.
Around January of 2004, various high-ranking members of the AMX Mod community decided the project was in an inactive and dead state. Neither OLO nor dJeyL could be contacted, and Felix “SniperBeamer” Geyer decided to found a continuation project named AMX Mod X.
Modules are now automatically loaded by detecting plugin usage.
modules.ini is now primarily deprecated, except for SQL and unsupported libraries.
Rewrote SQLX modules (again). You can now load multiple SQL modules and toggle them per-plugin.
Added new SQL API called SQLX. DBI was kept backwards-compatible.
Added new function to thread SQL queries (which prevents lag from a bad connection).
Fixed some very small memory leaks.
Fixed binary logging building wrong on Linux.
Fixed some debugging crashes.
Fixed serious bug when creating plugin_pause/plugin_unpause forwards.
Fixed serious crash bug involving set_hudmessage and plugins using high hudchannels.
Any file in the configs folder starting with “plugins-” and ending in “.ini” will now be treated as an extended plugins file. This is useful for distributing sets of plugins separately, and easily disabling them with a name change.
Added new hookable/callable functions:
Added new natives:
Fixed various trace bugs in FakeMeta with certain natives.
Fixed some unhooking on server-deactivate problems in FakeMeta.
Added __DATE__ and __TIME__ auto-macros to the compiler.
Added many HLSDK constants and improved include organization.
Added new compiler #pragma directives for using the module autoloading system.
Added cs_get_user_mapzones (thanks VEN!).
Added IsInWorld() stock (thanks Twilight Suzuka!).
Added emessage_begin()…emessage_end() natives for advanced messaging capabilities.
Moved various natives from Engine and into Core:
Dynamic natives that are paused now also pause parent plugins (with an error).
register_plugin() now returns the plugin ID.
Fixed a corruption bug in strip_user_weapons().
Fixed a bug in set_view() (thanks jtp10181!).
Fixed is_in_viewcone() always returning 0.
Fixed is_visible causing a crash, improved accuracy.
Fixed a crash bug in get_tr2() (thanks Orangutanz!).
Fixed cs_get_user_buyzone() returning existence in other areas.
Fixed a rare floatround() bug where values ending strictly in .5 were IEEE rounded.
Fixed a bug where removing the current parent task could damage the task queue.
Fixed a bug in get_entity_visibility (thanks VEN!).
Fixed some menu item calculation bugs on single paged menus.
Fixed CreateOneForward() not working as intended.
Removed non-existant take_damage() entry.
Expanded XS Stock Library with addition of xs_vec_make2d.
Expanded usage of cs_set_user_vip().
Improved get_brush_entity_origin() and ViewContents (thanks Orangutanz!).
Added core natives:
Added amx_showrcon command to show rcon results in admincmd.sma.
Added weapon restriction compatibility for bots in CS (KWo).
Added admin identifier (asterisk which is red if colors are available) to all menus with a user list.
Upgraded admin.sma to the new SQLX API.
Fixed a bug in amx_reloadadmins not giving admins new access.
Fixed a weapon restriction exploit in restmenu.sma.
Fixed an HTML exploit in /top15 displaying player names.
Fixed various and plentiful amx_addadmin bugs.
Fixed telemenu.sma not letting you teleport yourself (thanks jtp10181!).
Fixed a bug with adminslots.sma lowering the slots by 1.
Fixed overlapping hud messages with miscstats.
Module API Changes:
Added and fixed module API for inter-module communication.
Added native overriding and replacing to module API.
Added plugin unloading/unloaded callbacks to module API.
Added MSVC8 project files to most CVS projects.
Added amx_sql_type cvar to sql.cfg.
Re-organized and simplified modules.ini.
Error logging can now be redirected to separate logs.
Fixed modules.ini parsing bugs and simplified parsing.
Fixed a double entry in cvars.ini.
Added a Bulgarian translation (thanks lubb!).
Added a leetspeak translation (thanks, I think, Twilight Suzuka!).
Improved FTP option of the graphical installer.
Updated the GeoIP library to June.
Updated PCRE from v6.1 to v6.4.
Updated sqLite from 3.3.4 to 3.3.5.
Fixed a steam account path bug in the installer.
Release Version: 1.71
Release Codename: none (bugfix)
Release Date: April 03, 2006
Added plugin optimizer tweaking to core.ini.
Added new “binary logging” feature for serious debugging. Note that this requires a “Binary Logging” compiled version of AMX Mod X (downloaded separately).
Improved HUD synchronization algorithm (both in efficiency and fluidity).
Removed “languages.dat” and “dictionary.cache” file. Language files are now parsed and cached at load in memory only. Furthermore, the files are only reparsed on changes.
Menus with no pages or one page are no longer paginated.
Added rmdir, getc, ungetc, and putc natives.
Added arrayset native (for clearing large arrays quickly).
Added “Skip HLTV” flag to get_players.
Added ClientUserInfoChanged forward to Fakemeta.
Added more string compatibility to Fakemeta.
Added advanced keyvaluedata and traceresult manipulation to Fakemeta.
Added global data retrieval to Fakemeta.
Added menu_cancel native.
Added HUD sync points to all stats scripts to avoid HUD overlapping.
Updated GEOIP library to April.
Fixed plmenu not killing players on teamswitch.
Fixed adminslots not working.
Fixed a bug where native handlers wouldn’t work in rare cases.
Fixed amxx_logging mode 2 not working.
Fixed crash bug with plugin optimizer on AMD K6 processors.
Fixed dir_exists not working in Windows.
Fixed ExecuteForward not returning results properly.
Fixed armoury entity natives on Linux (thanks AndraX2000).
Fixed many weapons in TFCX not logging hit areas at all.
Fixed stack corruption bugs in miscstats (cstrike).
Fixed hud problems in miscstats (cstrike) by adding more HUD sync points.
Fixed scrollmsg showing a “delayed movement” scroller.
Fixed a bug in the “split” stock.
Fixed a few (potentinal) bugs in studio and updated every 3rd party component
Fixed amx_addadmin having wrong access level (thanks Twisted).
Release Version: 1.70
Release Codename: “Whirled Peas”
Release Date: March 04, 2006
Heavily optimized float operations by adding float ops to the JIT.
Heavily optimized string formatting.
Heavily optimized ML translations.
Added destroyability to newmenus.
Added property editing to newmenus.
Added event/call forwarding functionality to plugins (like modules).
Added amx_mldebug cvar for logging multi-lingual failures.
Added new, much faster natives for reading/writing files.
Added new, much faster “pcvar” natives for dealing with cvars.
Added set_fail_state for plugins to disable themselves.
Added auto-channeling to HUD messages and next_hudchannel().
Added CreateHudSyncObj() and ShowSyncHudMsg().
Added core player property setting abilities for modules.
Added get_user_footsteps() to fun.
Added ns_get_hive_ability() to NS module.
Added dbi_query2() to find number of rows affected by a query.
Added player_menu_info() to get both oldmenu and newmenu information.
Added unregister_forward() to fakemeta.
Added pev_valid() as fakemeta’s version of is_valid_ent().
Added socket_send2() native for sending binary data.
Added get_time_length() stock (Brad).
Added replace_all() stock (by jtp10181).
Added split() stock (by Suicid3).
Added remove_filepath() stock.
Added Finnish language support (thanks AavikkoRotta).
Added client authorization module callbacks.
Updated NS module and include files to Natural Selection 3.1.
Updated cvarquery system to cvarquery2. This requires Metamod 1.19.
Updated GEOIP library to February.
Improved code inspector in AMXX Studio.
Improved get_user_attacker() support for 3rd party mods.
Improved strip_user_weapons() native.
Moved all base plugins to use auto-channeling.
Rewrote format() parser for re-entrancy. You can now use %L in lang files.
Rewrote language system for speed and integrity.
Rewrote adminslots.sma for simplicity * added amx_hideslots cvar (thanks Marticus).
Newmenus no longer pass back MENU_MORE or MENU_BACK.
Optimized strbreak() and improved matching.
Optimized pev()/set_pev() from Fakemeta.
Admin-chat from say_team now has a source prefix.
Installer now warns users to make sure server is not running.
Removed array size detection from debugger.
Merged TSFun and TSX back together and fixed various bugs.
Fixed throwing knife crash bug on TSX for Linux (Maddo).
Fixed bug where native filtering could report the wrong native failure.
Fixed in_view_cone() returning the wrong result.
Fixed length bugs in and optimized replace().
Fixed nvault_prune() crashing and various unpredictable things in nvault.
Fixed various serious errors with TFCX causing very random behaviour.
Fixed corrupt language files destroying ML system.
Fixed many various bugs in AMXX Studio.
Fixed various language errors throughout the language translations.
Fixed compile.sh deleting wrong temp file.
Fixed stats_logging showing disconnected players.
Fixed various run-time errors in statsx.sma.
Fixed various TSX and TSFun bugs.
Fixed autobuy being used if the restrictions where set after cl_setautobuy.
Fixed various compiler bugs and inadequacies.
Fixed amx_restrict off and related commands not working.
Fixed pausing bug in admincmd.sma.
Fixed is_str_num() not working.
Fixed bug when voting multiple maps would always fail in mapsmenu.sma.
Fixed bug in color checking for statscfg.sma.
Fixed “Cancel” button quitting on installer’s FTP page.
Fixed admin cvar change bug in admincmd.sma.
Fixed bug in set_lights() not affecting future players.
Fixed get_user_weapon() returning data after strip_user_weapons().
Fixed cs_set_user_team() not notifying core of team changes.
Fixed cs_set_user_armor() not showing a helmet with CS_ARMOR_VESTHELM.
Fixed cs_get_user_armor() not returning the armortype.
Fixed AMD64 bug where negative values were not upcasted into forwards properly.
Fixed get_players() using flags c and l.
Fixed get_user_weapon() failures on 3rd party mods.
Fixed bug where get_user_menu could return stale menu ids.
Fixed crash bugs with callfunc natives running in debug mode.
Fixed crash bugs with dynamic natives running in debug mode.
Fixed the JIT crashing on systems with strict-DEP (some Win2k3 and XPSP2 machines)
Fixed various bugs in the newmenu system.
Fixed NULL string crash bug in forward API.
Fixed strcmp() not properly detecting case sensitivity.
Fixed md5_file not using base paths.
Fixed a bug where a few fakemeta hooks were pre-only (no post).
Fixed a bug where fakemeta never cleaned AlertMessage hooks.
Fixed pfn_playbackevent() missing a parameter.
Fixed plmenu using VALVE_ID_LAN.
Release Version: 1.60
Release Codename: “Rusty Mushroom”
Release Date: September 18, 2005
Plugins can now query/retrieve client-side cvars (for example, to enforce CVAR rules).
Plugins can now use modules and natives without them being loaded. For example, plmenu will use the cstrike module only if it’s available, and no recompile is necessary.
Plugins can now handle their own errors and look at their own debug traces.
Rewrote the debugger from scratch and, in some cases, greatly improved error message output.
Numerous other warnings and compiler bugs were removed and/or fixed in this release.
Fixed many bugs in AMXx Studio (bringing it to version 1.2).
Faluco has reformatted every single original, OLOcode AMX Mod X source code file to be readable! This was a herculean task and we thank him for his time.
Made some final improvements to Linux optimization flags.
Added is_string_num() (thanks azrael!)
Added abs() (requested by Brad Jones)
Language files can now have comments with ; or //
amx_addadmin in admin.sma will now also add to the SQL database if available (thanks Lazarus Long!)
Improved parameters to amx_addadmin so more admin types can be added (thanks Lazarus Long!)
Fixed nvault_open() crashing after nvault_close was called on the same file (atambo).
Fixed Linux compiler not being able to run from any directory (Lazarus Long).
Fixed get_distance_f not being in amxmodx.inc (Greenberet).
Fixed trim() function not removing whitespace properly (karlos).
Fixed many bugs in the compiler preprocessor and macro preprocessor.
Fixed bug in compiler where array indexes were improperly tag-checked.
Fixed various array bugs in register_native default style (Lord of Destruction).
Fixed dod_get_map_info breaking after a mapchange (FireStorm)..
Fixed/rewrote find_ent_by_model in Engine.
Fixed MySQL crashing on null fields (And One).
Fixed listen servers not getting admin access (jtp10181).
Fixed crash bugs in MySQL when querying and caching field names (Striker).
Fixed more memory deallocation mismatches with plugins (Zenith77).
Fixed get_user_gravity not returning a Float (vittu).
Fixed MySQL module not conforming to DBI, causing memory leaks and crashes.
Fixed build process and various minor errors in SQLite module (thanks Lazarus Long!)
Fixed AMXXRelease releasing no config files on Linux (Gonzo).
Fixed permissions problems with AMXXRelease on Linux (hondaman, Arnold).
Fixed/reverted functionality of stopping plugins for amx_pausecfg.
Fixed plmenu (Player Menu) not swapping or displaying teams correctly after Steam update (KWo)
Fixed name clashes in TSFun and TSX modules (Twilight Suzuka).
Release Version: 1.55
Release Codename: none (bugfix)
Release Date: August 24, 2005
Changed the JIT to prevent possible crashing on pingboost/threading situations on linux (reported by hullu).
Compiled with gcc-3.4 instead of 2.95 – binaries should be smaller and faster (thanks hullu). AMX Mod X and the S/MDK will no longer compiler on gcc-2.95
Added human readable error messages to many core natives.
Added Czech language translation (thanks Fatty).
Replaced AMXX Edit with newer AMXX Studio.
Replaced ESF module with new ESF plugin from Corona-Bytes.
Fixed bug where set_task would run one extra time on “repeat” mode.
Fixed bug where plugins could not be unpaused.
Fixed bug where bots could not deal damage with Fun module.
Fixed linux compiler crashing on load.
Fixed crash bug in register_native.
Fixed alloc/dealloc mismatches in register_native.
Fixed three newmenu functions not being implemented (patched by Freecode).
Fixed a bug where CS team switching did not work with plmenu (Steam update consequence).
Fixed callfunc_push_str copying zero characters (reported by Lord of Destruction, Twilight Suzuka).
Fixed documentation errors about MF_AmxExec* (Twilight Suzuka).
Release Version: 1.50
Release Codename: “Schnappi Kitten”
Release Date: August 1, 2005
Updated Small to version 3.0. Note: ITB CompuPhase has changed the name of Small to “Pawn”. This includes an improved and more powerful compiler. You can now return arrays, simulate “structs”, and the optimizer has been improved.
Large reduce in CPU usage for non-Metamod-p users. AMX Mod X now requires Metamod 1.18 or Metamod-p. Note: this is because we have removed the internal mini-Metamod that was added in 0.20.
Added new system for automating multi-page menus.
Added module for ESF (Earth’s Special Forces), thanks to Lynx.
Rewrote installer from scratch, now a much more improved interface that actually works.
Added an official “AMX Mod X Editor”, AMXX-Edit. To be expanded as AMX Mod X Studio in the future.
Rewrote MySQL module (again) – now can be used by other modules.
Added new plugin debugging system from Small 3.0. Old plugins need to be recompiled to be debugged.
Added “register_native”, plugins can now create natives that other plugins can use. This was first conceptualized by dJeyL and added on request of T(+)rget.
Changed the plugin file format to be a tad more flexible. Old plugins will still work.
Added a module for dealing with binary vaults (nVault).
Added another The Specialists module (TSFUN).
Deprecated AMX Mod module support, which was incompatible with Small 3.0.
Require_module is deprecated. Module detection is now done automatically when you compile plugins.
Fixed a serious memory leak in set_task (reported by fysh).
Fixed a serious memory leak in entity_set_model (reported by EKS).
Fixed deallocation errors in engine and core (reported by theqizmo, OneEyed, and fysh).
Added module API changes that require a sync of the SDK. This was to make sure modules had the right Small 3.0 headers. Modules compiled with the old SDK will refuse to load.
Added inter-module communication to complement AMX Mod X’s inter-plugin communication.
Deprecated read_dir, added much faster open_dir natives.
Fixed a bug where language settings were mishandled (thanks faluco).
Fixed a good deal of language translation-related errors (thanks faluco).
Added Spanish, Brazilian translations (thanks faluco, AlucarD_fOx).
Fixed bug where repeated tasks actually repeated one less than their given amount (reported by EKS).
Fixed bug where bad language translation files could corrupt build_pathname (reported by Kamikaze).
Fixed is_user_hltv (thanks Wallslide).
Fixed mishandling of user input strings (potential security bug). Reported and diagnosed by Stan Bubrouski.
Fixed log_to_file so it logs to the right file (reported by karlos).
Fixed bug in the JIT where a lone default case would crash (reported by twistedeuphoria).
Fixed bug where client_print to console would not insert newlines (reported by azrael).
Added dir_exists (requested by twistedeuphoria).
Fixed memory leaks on plugin unload.
Deprecated most fget/fput natives (they have been removed), due to improper implementation.
Fixed problems with weapon ids in DoDX
Fixed problem with setting and retrieving strings with set_pev/pev
Updated Regex library from PCRE 4.5 to 6.1.
Updated GeoIP database to July 2005
Updated Natural-Selection module for latest NS release.
Fixed bugs and added new natives to DoDFun.
Fixed various bugs in the documentation.
Fixed potential problems in register_message, reduced memory usage a bit.
Added in_viewcone and can_see, at the request of v3x.
Fixed bug in MySQL module where a port could not be added to the connect string (reported by azrael).
Added trace_forward at the request of, and by, twistedeuphoria.
Added get_distance_f to core at the request of twistedeuphoria.
Release Version: 1.01
Release Codename: none (bugfix)
Release Date: March 09, 2005
Updated NS module for Natural Selection 3.0.
Added new package to maintain unsupported SQL/DBI modules.
Added a module for SQL Lite.
Added a tool for viewing stats (CS addon).
Added optimizations for when using Metamod-p (evilspy).
Added mkdir native.
Added callfunc_begin_i and get_func_id.
Added more client menu functionality to menufront.
Added a new MySQL module for version 4.1.
Updated get_stats to work with authids.
Updated and cleaned the funcwiki. (thanks, Avalanche).
Fixed logging bug in SDK.
Fixed bugs with bots disconnecting.
Fixed bugs with uninitialized players disconnecting.
Fixed parse bug in strbreak.
Fixed typos in config files.
Fixed installer when using Condition-Zero.
Fixed custom weapons in xmod stuff.
Fixed grenade problem in CSX.
Fixed mistakes in documentation (breaddawson).
Fixed compiling error in adminslots (Firestorm).
Fixed a hitzones problem with Fun.
Snyced language files.
Release Version: 1.00
Release Codename: “Kaiserpinguin”
Release Date: November 14, 2004
Added an installer.
Added fakemeta_stocks include file.
Added PM OnoTo’s XS Library.
Added natives to array_amxx to check lists for values.
Admin.sma will now immediately exec amxx.cfg to make plugin_cfg more useful.
Synced language files and added Dutch (thanks Devilion).
Increased write-file buffer.
Fixed a bug that caused the JIT to crash with a kernel option in 2.6.x.
Fixed many Counter-Strike native offsets in Cstrike module.
Fixed a crash bug in hooking MESSAGE_BEGIN in Fakemeta_amxx
Fixed a bug where admin_sql would not reset admins on fallback to users.ini.
Fixed range checking in set_user_hitzones.
Fixed read_data() float return method.
Fixed version and file info in some modules and core.
Release Version: 0.20-RC7
Release Codename: none (bugfix)
Release Date: October 29, 2004
Improved plugin error output and debugging greatly.
Run time errors of type 10 (AMX_ERR_NATIVE) now display the native’s name for clarity.
If debug is not enabled and an RTE occurs, instructions on enabling debug mode are printed.
Rewrote error reporting for all modules to use new debug trace API.
Added custommenuitems.cfg to standard cfg files.
Added ability for plugins to dynamically add items to amxmodmenu.
Fixed compiler generating very long file paths for debug information.
Fixed error causing amx_client_languages to reverse effects.
Fixed error causing floats passed in forwards to mess up everything.
Fixed menu mistakes in StatsX.
Fixed vote map menu.
Fixed missing weapon status in restmenu.
Fixed serious bug in forwards that use floats.
Fixed bug where message_begin could not send MSG_PAS_R and MSG_PVS_R (Damaged Soul).
Fixed crash bug in get_msg_origin (Damaged Soul).
Fixed bugs in entity_set_byte and entity_set_edict.
Fixed a small bug in mapchooser mapcycle reader (Damaged Soul).
Fixed a bug in CSX where get_weaponname was overridden incorrectly.
Fixed some bugs in pev() natives in fakemeta module.
Fixed client_built forward in NS module.
Fixed last hit being ignored in StatsX (JC Denton).
Fixed miscstats playing sounds to connecting players.
Renamed cs_get_weapon_type to cs_get_weapon_id.
Release Version: 0.20-RC6
Release Codename: none (bugfix)
Release Date: September 20, 2004
Added AMD64 support for Cstrike module.
Added TraceResult and TraceLine manipulation to fakemeta_amxx.
Added new API calls for module SDK.
Added new debug trace system to JIT and C core.
Added universal error handling API to Core (modules not yet implemented).
Removed extraneous packages from DoD, TFC, and TS packages.
Fixed a bug in get_user_astats for CSSTATS.
Fixed remaining bugs in remove_task().
Fixed bug where reloadadmins would not reset flasg (mrhunt).
Fixed bug where amxxsc failed on -o <file>.
Fixed logging typo in core.ini.
Fixed wrong kills and deaths in CSSTATS.
Fixed string formatting in mapsmenu, admincmd.
Fixed restmenu run time error.
Fixed adminslots not calculating slots immediately.
Fixed crash bug in amx_modules.
Fixed parsing bug in string trim routine.
Fixed bug where language files were not closed.
Compiler is now set to debug level 2 and compaction is disabled.
Release Version: 0.20-RC5
Release Codename: none (bugfix)
Release Date: September 12, 2004
Fixed a bug related to the JIT headers that was causing stats modules to crash.
Removed MMGR from default builds.
Removed MMGR from default SDK options.
Added optimizations to format() routines.
Added amx_debug to control plugin run levels.
Added ability for plugins to tell Core which modules are needed (requested by mahnsawce).
Added new SDK module functions MNF_GetPlayerEdict, MNF_GetPlayerFlags.
Added better support for Natural-Selection 3 Beta 5 (mahnsawce, CheesyPeteza, et al).
Fixed a bug where %c would not be recognized.
Fixed a bug where SQL connections were not disconnected on mapchange (UgLyPuNk).
Fixed a bug where MySQL connections could not have a specified port (Mugwump).
Fixed a bug where float computations were incorrect on AMD64 (UgLyPuNk).
Fixed a bug where entity validation routines in Engine/Fakemeta were incorrect (JJKiller).
Fixed a bug where the fakemeta engine could bootstrap a module twice.
Fixed a crash bug relating to forward re-registration (fsfod).
Fixed a compile bugs in some modules that prevented AMD64 compatibility (UgLyPuNk).
Fixed a memory leak related to Engine not unregistering forwards (mahnsawce).
Fixed bugs in find_ent* natives which choked on 0 indices (Pimp Daddy).
Fixed CVector assertions (fsfod).
Fixed get_keyvalue not being a valid native in Engine (Vortox).
Fixed include files so formatting Sql or Res variables won’t give a tag mismatch (Pimp Daddy).
Fixed many include files.
Fixed “amx_client_languages” cvar.
The command “amxx plugins” will now report plugin load errors that occurred (requested by mahnsawce).
The command “amxx version” will now report whether your Core build is normal, ASM, or JIT.
Admin_sql now reverts to users.ini on failure (requested by QwertyAccess).
SQL configuration CVARs are now enabled by default (Gonzo).
Changed is_jit_enabled(): now reports 1 for JIT, 0 for safe, -1 for ASM.
Added module load simulator to default linux packages.
Module names listed in modules.ini can now be loaded independently of their extension (for example _i386 will search for _amd64 on AMD64, et cetera) (requested by UgLyPuNk).
Release Version: 0.20-TP4
Release Codename: none (bugfix)
Release Date: September 2, 2004
Changed amxx_mm.* to amxmodx_mm.*
Changed “amxx” to “amxmodx” for addons folder.
Switched from 2.6.0 compiler to 2.5.1 (2.6.0 is much too buggy).
Enabled the JIT on Linux (sorry – Makefile bug showed we hadn’t been doing this).
Rewrote task system to use Forward API.
Added CVAR to multilingual plugin to disable client side options – “amx_client_languages”.
Fixed a bug in forward API where parameters would be garbage.
Fixed crash bugs in Forward API.
Fixed many string format crash bugs in amxmodx core.
Fixed other string formatting issues such as %% and % being parsed improperly. (reported by Gonzo)
Fixed a memory leak on loading amxx plugins.
Fixed a bug in the Module SDK header file where structs could be misaligned. (reported by fsfod)
Fixed many crash bugs in the MySQL module. (reported by Gonzo)
Fixed memory leaks in both Engine and MySQL.
Fixed bugs in Engine that caused crashes in DoD and prevented optimization.
Fixed message capturing in Engine so it can work with multiple plugins. (reported by fsfod)
Fixed plmenu and get_user_team bugs in DoD package and TFC package.
Fixed top15 display problems in DoD package.
Fixed bug where amx_say would use the ML system.
Fixed bug where remove_task() could cause a server crash on shutdown. (reported by Pimp_Daddy)
Fixed bug where client_command was not a blockable forward.
Fixed bug where radians were not converted properly. (malex)
Fixed buffer overflow security holes in string formatting routine (legacy code from AMX Mod)
Removed pvPrivateData functions from Engine and placed into Fakemeta_amxx.
Added NewDLL HLAPI functions to FakeMeta. (reported by mahnsawce)
Greatly improved error reporting for both MySQL and Engine.