Sourcemm
De Verywiki-FR.
Sommaire |
Présentation
Metamod Source, aussi appelé Sourcemm, est un gestionnaire d'API et un gestionnaire d'interception d'évènements qui ce trouvent entre le moteur Source d'Half-Life 2 et la modification d'un jeu (appelé MOD). Il fournit un mécanisme appelé Sourcehook, une bibliothèque très puissante qui permet d'intercepter, passer outre, remplacer les appels des fonctions virtuelles.
Bien que Valve fournit son propre plugin d'environnement, Metamod S. a été développé pour 2 raisons:
- Si chaque plugin utilise leurs propres mécanisme d'Hook, il y aurait des conflits. SourceHook résout ces problèmes en fournissant une passerelle ("porte") unifié.
- Le plugin de Valve a la particularité de ne pas décharger complètement sa mémoire, une console pauvre et un contrôle par programmation. Metamod Source est explicite, flexible et Open Source
Écrit en C++, il est indispensable pour pouvoir lancer de nombreux plugins. Comme SourceMod, Mani Admin Plugin (il existe aussi une version Stand Alone), CSS:DM, etc.
Guide d'installation de Metamode Source
Avec l'autoplugins de VeryGames
Il vous suffit de vous rendre dans la section "Personnaliser mon serveur" et ensuite "Plugins" de votre panel VeryGames et de cliquez sur le bouton "Metamod Source" ainsi que sur "Installer".
Manuellement
- Downloadez la dernière version de Metamod: Source (http://www.sourcemm.net/) . Dans le cas où Metamod est installé, vous pouvez sauter cette section !
- Dezippez l'archive et vous trouverez un dossier addons
- Cherchez votre dossier de "Mod" sur votre serveur "cstrike", "tf", "dod", ...
- Uploadez le dossier addons, dans ce dossier. Si ce dossier existe déjà, uploadez le dossier "metamod" dans addons
- Copiez les fichiers sur votre serveur:
- Attention, ne supprimez pas les fichiers server.dll/server_i486.so du Mod que vous trouverez dans "<mod>\bin"). Le cas échéant, votre serveur ne fonctionnerait plus.
Lancement de MetaMod:Source
- Rendez vous a cette page http://www.metamodsource.net/vdf
- Dans le menu déroulant Game sélectionnez votre jeu.
- Pour Game Folder laissez le vide à par si votre jeu n'est pas dans la liste. Si c'est le cas, écrivez le nom du mode de jeu (Exemple : CS:S = cstrike, TF2 = tf, ...).
- Cliquez sur Generate metamod.vdf, enregistrez le sur votre PC.
- Il vous reste à envoyer le fichier metamod.vdf sur votre serveur dans le dossier /addons/
- Relancez votre serveur pour terminer l'installation et charger le plugin.
Liste des commandes
Pour avoir la liste des commandes de metamod, il vous suffit de taper "meta" dans la console (HLSW ou loggué en rcon). Cela vous permet aussi de vérifier si metamod source est bien activé. Voici ce que vous obtenez :
usage: meta <command> [arguments]
alias - List or set an alias
clear - Unload all plugins forcefully
cmds - Show plugin commands
cvars - Show plugin cvars
credits - About Metamod:Source
force_unload - Forcefully unload a plugin
game - Information about GameDLL
info - Information about a plugin
list - List plugins
load - Load a plugin
pause - Pause a running plugin
refresh - Reparse plugins file
retry - Attempt to reload a plugin
unload - Unload a loaded plugin
unpause - Unpause a paused plugin
version - Version information
La plus importante est "meta list" qui permet de voir les plugins chargés, par exemple :
[01] Mani Admin Plugin 1.2BetaP Mani RUN
[02] Jetpack 1.0.6 L. Duke RUN
[03] ZombieMod 1.2.2 c0ldfyr3 RUN
[04] GlitterMod 1.2.0.16 Roger Devil RUN
[05] VIP mod 1.0.F L. Duke RUN
[06] CS:S DM 0.96c BAILOPAN RUN
[07] Stripper 1.1a BAILOPAN RUN
Vous avez ainsi le numéro attribué au plugin, son nom, sa version, son auteur et son status. Un plugin déclaré dans le metaplugins.ini mais dont le binaire n'est pas dans le bon répertoire ou absent donner l'erreur NO FILE. Un plugin défectueux ou non à jour donnera l'erreur FAIL. En cas d'erreur il est intéressant d'utiliser la commande "meta refresh" pour avoir plus d'informations sur l'origine du problème.
Pour désactiver un plugin il faut utiliser la commande "meta unload", par exemple : meta unload 01 Il est préférable d'utiliser, si elle existe, la variable inclue dans le plugin pour le désactiver, par exemple pour le plugin cssdm : cssdm_disable
