AMX Mod X

From AlliedModders Wiki
Revision as of 04:07, 14 January 2006 by BAILOPAN (talk | contribs)
Jump to: navigation, search
Comment
This project is owned by the Consortium that controls this wiki. Changes to this main page are allowed but patrolled.

Introduction

AMX Mod X is a Metamod plugin for Half-Life 1. It provides comprehensive scripting for the game engine and its mods. Scripts can intercept network messages, log events, commands, client commands, set cvars, modify entities, and more. AMX Mod X also has a system for extending native scripting through modules, leading to outside support for things like MySQL and Sockets. The AMX Mod X scripting language is called Pawn (formerly "Small"), and is officially maintained by ITB CompuPhase.

Feature List

  • Creating client and servr-side commands and variables
  • Default and customizable server administration tools
    • Kicking/Banning
    • Slot Reservation
    • Text file or MySQL enabled admin system
    • Voting
    • Management Commands (chat, map changing, cvar changing, etc)
    • Flood Protection
    • Weapon Restriction
    • Statistics
  • Scriptability through large function library
    • Inter-plugin communication
    • Event listening
    • Network message hooking
    • Entity and engine modification
    • Gamedll and engine function call hooking
    • Sockets
    • Mod-specific extra support for:
      • Counter-Strike, Condition Zero
      • Day of Defeat
      • Natural Selection
      • Team Fortress Classic
      • The Specialists
      • Earth's Special Forces
    • Regular Expressions
    • Menu Creation
    • Debugger
  • Modularity
    • Comprehensive M/DK for interacting with scripts
    • Easily attach and use Metamod
    • Plug 'n Use - MDK requires almost no modification to compile
    • Written in C/C++ - total flexibility

History

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.

Milestones

For a full list of AMX Mod X and AMX Mod changes, see the AMX Mod X Changelog.

0.10-alpha

The first release of AMX Mod X presented the core new features and organization policies of the overall package, native library, and forums.

0.16-beta

This was the first and most widely used version of AMX Mod X considered to be stable. It contained cleaned up code, inter-plugin communication, a rewritten internal events system, and more.

1.00

Jumped from 0.20, AMX Mod X became a truly different product with a new, advanced module API and many code rewrites, as well as the first Metamod plugin with AMD64 support. AMX Mod X also became the project to port Small to AMD64. It also gained a very powerful subsystem and module for engine hacking called Fakemeta.

1.50

AMX Mod X followed the renaming of Small to Pawn by CompuPhase. It also added dynamic natives and featured a new debugger.

Development Team

Original

The AMX Mod X development team, founded by SniperBeamer, was:

Current

After 1.0 (Nov 15, 2004), the AMX Mod X development team informally disbanded. On January 4, 2006, the development team was officially restructured to continue to maintain and improve AMX Mod X.