- Sourcemod
Please note, the information on this page is from the source code as well as information directly provided on the official project website. The article awaits information from the developers.
SourceMod [ [http://sourcemod.com/ SourceMod official website] ] is an
open-source , cross-compatible SourceMM (the Source engine version ofMetamod ) expandable scripting plug-in, managed by David "BAILOPAN" Anderson.Overview
SourceMod has the ability to develop plug-ins in SourcePawn (a re-write of Pawn, a typeless 32-bit language), on top of a well designed interface that allows software to access many low level components of the Source Engine (certain compatibility issues exist for the Orange Box SDK). The plug-in is currently still in beta stages, but proves to be stable, and maturing.
How it works
The plug-ins use native machine code, as well as JIT compilation that allow for cross-compatibility. More specifically, the compiler converts the code into a type of
machine code (sometimes called OP code based complication) Because of this technique, as well as certain programming habits, the benchmarking of these plugins [ [http://www.sourcemod.net/bench_es.php SourceMod versus EventScripts benchmark] ] (done versusEventScripts ) putting SourceMod's speed up with other popular low-level languages such as C/C++ and Java.Elements
SourceMod consists of different elements to allow customization and smooth operation.
Core
The core is the main build of SourceMod, which contain the back-end code, as well as any interfaces that are considered vital enough to be included as core content. Please note, just because an interface may not be included in the core build, it may very well still be packaged with the download by default.
Extensions
The second level of SourceMod is the extension system, which allows adding on to SourceMod as a C/C++ exposed plug-in. There is also the ability to expose the extension as a SourceMM plug-in as well. One of the most noted features of the extension system is the ability to expose native functions, one of the major advantages of using JIT machine code. For example, SourceMod should not have the responsibility of including a plug-in to call engine based functions by default. Creating a native wrapper around the base function is allowed, and encouraged, to expand the abilities of Source scripting.
Plug-ins
The plug-in system is what makes up SourceMod's administration system [ [http://wiki.alliedmods.net/Admin_Commands_%28SourceMod%29 A list of administrative commands for SourceMod] ] , as well as tons of plug-ins that come out for SourceMod. The compiler turns the code into machine code, and when SourceMod's core gets a hold of it, JIT complication takes its course and turns it into operating assembly. The plug-ins rely on SourcePawn's back-end as well as the native system that allow access to nearly all of SourceMod's functions.
Developers
The list of the developers directly from SourceMod's credits page [ [http://www.sourcemod.net/credits.php SourceMod credits] ] .
Name: David "BAILOPAN" Anderson
Job: Project Manager, Lead Developer
Name: Borja "faluco" Ferrer
Job: Senior Developer
Name: Scott "Damaged Soul" Ehlert
Senior Developer
Name: Michael "ferret" McKoy
Plugin Developer
Name: Phong "teame06" Dang
General DeveloperControversy
EventScripts
Due to the somewhat harsh benchmarks advertised around SourceMod and EventScripts website, there was some debate on whether they should be removed, in concern to the EventScripts community's feelings. David, as well as the rest of the developers and community, decided to keep it on the server, but keep the discussion to its technology-based advantages, rather than bragging rights. David shows interest in both plug-ins, as he is active in both SourceMod and EventScripts IRC channels.
References
[http://www.n00bsalad.net/sourcemodmirror/ N00bsalad.net Sourcemod Mirror Download]
Wikimedia Foundation. 2010.