AMX Mod X




Often we get the question, "Why switch to AMX Mod X?" Isn't it the same thing as AMX Mod?" Well, in order to show people the difference, and to convince them to switch, we made this pretty page, complete with colors and tables. Find out why the vast majority of major plugin developers, game server providers, and CS community at large, have already switched to AMX Mod X! Click on an entry to see more information.

General

AMX Mod X AMX Mod
Optimized Yes No
JIT Yes Yes
Open Development Yes No
Mod Support Yes No
Installer Yes No
AMD64 Support Yes/No No
Multilingual Support Yes Yes

For Developers

AMX Mod X AMX Mod
Plugin Editor Yes No
Plugin IPC Yes No
Event Creation Yes No
FakeMeta Yes No
Flexible Module SDK Yes No
Dynamic Natives Yes No
Client CVAR Querying Yes No
Flexible SQL Yes No
Seamless Debugging Yes No
Module Control Yes No

General

Optimized - AMX Mod X features advanced optimization techniques, such as a plugin optimizer which greatly enhances floating point math, and vast speed improvements to common plugin functions. For game server providers/owners, that means less CPU usage, and more servers per CPU/machine! Don't believe us? See the benchmarks!.

JIT - Both AMX Mod X and AMX Mod use a "Just-In-Time" compiler, which rewrites plugins as native machine code for extra speed. The JIT is provided by ITB CompuPhase, and the AMX Mod X Development Team has done significant work on making the JIT as stable and fast as possible.

Open Development - AMX Mod X is an Open Source project. Anyone can contribute or obtain the source code at no cost. Furthermore, AMX Mod X features highly open development policies. Changes are always committed to a public CVS repository, and users are free to post Bug Reports, Feature Requests, and patches for the development team. AMX Mod does not seem to have any active CVS maintained, and the current source code is unavailable on the forums. There is no formal method to provide bug reports or talk with developers, and many issues simply go unresolved and even unanswered.

Mod Support - AMX Mod X features a base/generic install with "addon packages" for a variety of mods, including Counter-Strike (and Condition Zero), Day of Defeat, TFC, Natural Selection, Earth's Special Forces, The Specialists, and coming with 1.80, Sven-Coop and BrainBread. AMX Mod is still fairly harcoded to Counter-Strike, and does not come with features for an extensive selection of mods.

Installer - AMX Mod X is shipped with a fully automated graphical installer. It installs AMX Mod X Studio, our official text editor, and the installer tool. The installer tool can upload, configure, and install AMX Mod X to any server - Dedicated, Steam, Listen Server, it will even upload your files over FTP for you! AMX Mod has no equivalent official tool.

AMD64 Support - One of AMX Mod X's biggest contributions was a 64bit port of the Pawn/Small compiler and virtual machine. In fact, AMX Mod X was the first Metamod plugin to achieve AMD64 compatibility. AMX Mod does not run in 64bit mode.

However, Valve has stopped maintaining their AMD64 support -- the latest AMD64 engine is missing client cvar querying and VAC2. Furthermore, the JIT is not available on AMD64, meaning a great deal of potential speed is lost. Running HLDS on AMD64 in 64bit mode is unadvised except for debugging/developer purposes.


Multilingual Support - Both AMX Mod X and AMX Mod have multilingual support built into the default plugins. AMX Mod supports English, German, and French. AMX Mod X supports, on top of this, Portuguese, Czech, Danish, Dutch, English, Finnish, French, German, Polish, Serbian, Spanish, Swedish, and Turkish.

For Developers

Plugin Editor - AMX Mod X comes with a free Studio for editing plugins. It has auto-completion, code generators, syntax highlighting, a code browser/explorer, and more. You can even write plugins for the editor! Believe it or not, it can also compile your plugins and upload them to your server. AMX Mod has no official plugin editor.

Inter-Plugin Communication - With AMX Mod X, your plugins can easily communicate with other plugins with simple natives. Not only is this faster than registering server commands, but it lets you write clean, modular code for multi-plugin interaction. AMX Mod has no equivalent.

Events - AMX Mod X lets you create "forwards", or events that can be intercepted by other plugins. This is very useful for plugins which wish to notify other plugins of something happening - say a variable being changed or something happening within gameplay (like a round restart). AMX Mod has no equivalent.

FakeMeta - AMX Mod X's most powerful module is FakeMeta. It allows for almost total control over the Half-Life 1 engine. Any function can be intercepted or called, just as if you were using Metamod and coding in C++! AMX Mod has no equivalent.

Flexible Module SDK - AMX Mod X's Module SDK (M/DK) is a fully backwards compatible kit for rapidly developing Metamod and/or AMX Mod X compatible modules. Just copy the files, edit a few lines, and you're good to go! Furthermore, the Module API features common functions for interacting with Core, such as getting player information and creating events inside scripts. AMX Mod's equivalent is highly outdated, relying on backwards incompatible headers, a non-abstracted set of API, poor error control (failed modules cause core to crash), and are largely undocumented. AMX Mod modules also lack an extensive set of functionality, such as creating plugin events/forwards.

Dynamic Natives - AMX Mod X lets you create "dynamic natives", or natives which are implemented inside plugins. This innovative system lets developers create plugins which provide API. For example, the official AMX Mod X "GabenMod" plugin lets other plugins register in-game classes. It does this by creating new natives that other plugins can use as if it were a module. AMX Mod has nothing equivalent.

Client CVAR Querying - Did you know that the Half-Life engine can retrieve the value of CVARs on a client? AMX Mod X has built-in support for taking advantage of this functionality. AMX Mod does not.

Flexible SQL - Not only is AMX Mod X's SQL API abstracted to work with multiple SQL types, but it's also far more flexible. With AMX Mod, you can't even do nested queries!

Seamless Debugging - AMX Mod X takes great advantage of Pawn 3.0's new debugging API. When your plugin creates an error, you get a complete trace of your code flow, including accurate lines of code, function calls, informative diagnostic errors, and more. Furthermore, your plugin has the complete ability to catch errors, extract the available information, and handle it as chosen. AMX Mod doesn't even correctly support dumping native names, much less give a full trace of what went wrong.

Module Control - Imagine the situation where your plugin has three options - Vault, MySQL, or Binary Vault, for data storage. However, you don't want users to have to enable all three. AMX Mod X solves this problem by letting plugins dynamically filter out exactly which modules and natives they will choose to use. This powerful and flexible level of control lets your plugin bypass individual natives if necessary. AMX Mod has nothing equivalent.

© Copyright 2003-2024 AMX Mod X Dev Team