EventScripts
Encyclopedia
EventScripts is a free game scripting plugin for Valve Corporation
Valve Corporation
Valve Corporation is an American video game development and digital distribution company based in Bellevue, Washington, United States...

's Source engine
Source engine
Source is a 3D game engine developed by Valve Corporation. It debuted in June 2004 with Counter-Strike: Source and shortly thereafter Half-Life 2, and has been in active development ever since...

. Aimed at first-time scripters, EventScripts has grown to be one of the most popular Source scripting engines, running on more than 5,000 dedicated game servers worldwide as of December 2010.
http://www.game-monitor.com/search.php?search=eventscripts_ver&type=variable

Overview

EventScripts is a plugin for Valve's Source engine that allow custom scripts to execute on the server. The engine is heavily event-driven, as the name implies, allowing a scripter or game server administrator to take action whenever an event occurs in the game. It also allows scripts to register server console commands themselves http://www.eventscripts.com/pages/Es_regcmd and interact heavily with the Source engine to create effects http://www.eventscripts.com/pages/Es_effect and interact with players/entities.

Over time the goals of the project have evolved into maintain backwards compatibility, providing a simple interface for non-experts, and delivering active support and help via forums. In this way, EventScripts continues to be an important factor in the Source gaming community, particularly for Counter-Strike Source.

The scripting engine of EventScripts supports two different scripting styles.

EventScripts Classic

EventScripts Classic is not unlike a command-line shell (like bash) built on top of the Source engine's console. It was designed to be simple to use for administrators since experienced coders have access to creating Source plugins via Valve's Source SDK in C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

.

EventScripts Python

As of EventScripts 2.0, the plugin includes full Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 scripting support as an alternative language to EventScripts Classic. The focus again is on providing libraries and wrappers that make it easy to script against, while still providing access to all the power of the existing Python language and standard library.

How it works

At its core, EventScripts is just a Valve Source Plugin which passes information it receives from the Source engine to loaded scripts. When an administrator loads a script (typically through a configuration file via "es_load