- Автор
-
SPMod Development Team (currently only me)
- Мультиязычность
- EN
- Требования
-
ReHLDS
Metamod
SPMod is a Metamod's plugin which is intended to be used as plugin system for Half-Life 1 and its derivatives. It uses SourcePawn as scripting language and allows to change completely the rules of a game or can ease the server administration by adding commands. SPMod's abilities can be extended by writing extensions, known as modules.
Motivation
We currently have replacements for various things (HLDS -> ReHLDS, cs gamedll -> ReGameDLL_CS, Metamod -> Metamod-r and other modern addons which use ReHLDS and ReGameDLL_CS api), but when it comes to scripting we install AMX Mod X, because there's no really other alternative, except AMX Mod, but it's less complete than AMXX (for scripters). AMXX has its age, let's be honest, it's old, some parts of it has been modernized, but any big change won't be introduced, because it's mature and keeping backwards compatibility is more important. Have you ever imagined how would it be to use SourcePawn in AMXX? This is where SPMod comes in. It uses SourcePawn and its goal is to be used as scripting engine for HL. Maybe in the future even replace AMXX? It's young project and only basic functionality is implemented for now. More on wiki. SPMod uses ReHLDS api and won't work on a server which doesn't have ReHLDS installed. STL and C++17 features are used, so modern compiler is need to build SPMod.
Contributing
Everyone who can code is welcome to contribute to the project. Testers are also welcomed but there's not much to test for now. One who has introduced significant change(s) to the project will be gained commit access. The more hands to help the better. More info can be found in Contributing.md. There's also coding style section in that file, it needs to be reviewed though.
Future plans
Implement "must be" stuff like registering commands, events, menus, tasks, client natives. Then start to work on modules, game specific ones and not, like regex, mysql, sqlite etc. In the meantime there can be pushed alpha, beta releases to test a new functionality.
Supported games & mods (in future)
Example plugin
Building
Instructions to build SPMod for Linux
Instructions to build SPMod for Windows
Should you have any questions, feel free to ask.
Motivation
We currently have replacements for various things (HLDS -> ReHLDS, cs gamedll -> ReGameDLL_CS, Metamod -> Metamod-r and other modern addons which use ReHLDS and ReGameDLL_CS api), but when it comes to scripting we install AMX Mod X, because there's no really other alternative, except AMX Mod, but it's less complete than AMXX (for scripters). AMXX has its age, let's be honest, it's old, some parts of it has been modernized, but any big change won't be introduced, because it's mature and keeping backwards compatibility is more important. Have you ever imagined how would it be to use SourcePawn in AMXX? This is where SPMod comes in. It uses SourcePawn and its goal is to be used as scripting engine for HL. Maybe in the future even replace AMXX? It's young project and only basic functionality is implemented for now. More on wiki. SPMod uses ReHLDS api and won't work on a server which doesn't have ReHLDS installed. STL and C++17 features are used, so modern compiler is need to build SPMod.
Contributing
Everyone who can code is welcome to contribute to the project. Testers are also welcomed but there's not much to test for now. One who has introduced significant change(s) to the project will be gained commit access. The more hands to help the better. More info can be found in Contributing.md. There's also coding style section in that file, it needs to be reviewed though.
Future plans
Implement "must be" stuff like registering commands, events, menus, tasks, client natives. Then start to work on modules, game specific ones and not, like regex, mysql, sqlite etc. In the meantime there can be pushed alpha, beta releases to test a new functionality.
Supported games & mods (in future)
- Half-Life
- Counter-Strike
- Counter-Strike: Condition Zero
- Day of Defeat
- Team Fortress Classic
Example plugin
Код:
#include <spmod>
public PluginInfo pluginInfo =
{
name = "test",
version = "0.0.0",
author = "author",
url = "https://github.com/Amaroq7/SPMod"
};
public void pluginInit()
{
printToServer("I'm alive!\n");
}
Instructions to build SPMod for Linux
Instructions to build SPMod for Windows
Should you have any questions, feel free to ask.