Un guide expliquant comment compiler des plugins SourceMod.
Les plugins SourceMod sont des scripts ou addons personnalisés créés pour améliorer et modifier les fonctionnalités des serveurs de jeu tournant sous le moteur Source.
Le langage de programmation associé au code source des plugins SourceMod est SourcePawn. L'extension de fichier de SourcePawn est sp.
Compiler des plugins SourceMod est plutôt simple et sera expliqué ci-dessous.
Télécharger SourceMod
Consultez le guide suivant pour savoir comment télécharger et extraire SourceMod. Vous n'avez pas besoin d'installer SourceMod sur votre serveur pour compiler des plugins.
https://moddingcommunity.com/blog/how-to-install-update-sourcemod-metamod/
Après avoir extrait les fichiers de SourceMod, rendez-vous dans le répertoire addons/sourcemod/scripting sous Linux (ou le dossier addons\sourcemod\scripting sous Windows).
Compiler des plugins SourceMod
Compiler des plugins SourceMod est généralement assez simple, en particulier sous Windows.
Windows
Explorateur de fichiers Windows
Si vous souhaitez compiler rapidement des plugins, vous pouvez glisser-déposer le fichier de code source du plugin sur l'exécutable compile.exe situé dans le dossier scripting. Une fenêtre d'invite de commandes s'ouvrira et vous verrez la sortie de la compilation. Si la compilation a réussi, vous trouverez les plugins compilés dans le dossier compiled. Les plugins SourceMod compilés portent généralement l'extension de fichier smx.

Bien que cette méthode soit rapide et facile, la méthode en ligne de commande expliquée ci-dessous propose davantage d'options que vous pouvez définir.
Ligne de commande
Si vous souhaitez compiler des plugins via la ligne de commande avec l'invite de commandes ou PowerShell, vous devrez d'abord lancer un terminal et vous placer dans le dossier scripting.
Ensuite, vous utiliserez les exécutables spcomp.exe ou spcomp64.exe (pour la prise en charge du 64 bits) afin de compiler les plugins.
Voici une commande de base qui compile un plugin.
.\spcomp.exe <Plugin File Name With Extension>
Par exemple, si nous voulons compiler le plugin basechat inclus, nous utiliserions la commande suivante.
.\spcomp.exe basechat.sp
Linux
Pour compiler des plugins SourceMod depuis un terminal Linux, vous pouvez suivre un processus similaire à la méthode en ligne de commande sous Windows expliquée ci-dessus. Vous devrez utiliser soit l'exécutable spcomp, soit spcomp64 (pour la prise en charge du 64 bits) afin de compiler les plugins.
Voici une commande de base qui compile un plugin.
./spcomp <Plugin File Name With Extension>
Par exemple, si nous voulons compiler le plugin basechat inclus, nous utiliserions la commande suivante.
./spcomp basechat.sp
Si la compilation a réussi, vous verrez le nouveau fichier du plugin compilé dans le même répertoire que le code source (scripting/).
Options supplémentaires en ligne de commande
Comme indiqué ci-dessus, compiler des plugins via la ligne de commande vous permet de définir des options supplémentaires. Voici la sortie du menu d'aide qui fournit la liste des flags et arguments que vous pouvez définir.
SourcePawn Compiler 1.11.0.6969
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2021 AlliedModders LLC
Usage: ./spcomp [options] <filename> [filename...]
optional arguments:
--show-stats Show compiler statistics on exit.
-D Active directory path
--active-dir=ACTIVE_DIR
-e Error file path
--error-file=ERROR_FILE
-E, --warnings-as-errors Treat warnings as errors
-h, --show-includes Show included file paths
-z
--compress-level=COMPRESS_LEVEL
Compression level, default 9 (0=none, 1=worst,
9=best)
-t, --tabsize=TABSIZE TAB indent size (in character positions,
default=8)
-v, --verbose=VERBOSE Verbosity level; 0=quiet, 1=normal, 2=verbose
-p, --prefix=PREFIX Set name of "prefix" file
-o, --output=OUTPUT Set base name of (P-code) output file
-O, --opt-level=OPT_LEVEL
Deprecated; has no effect
-i, --include=INCLUDE Path for include files
-w, --warning=WARNING Disable a specific warning by its number.
-;, --require-semicolons Require a semicolon to end each statement.
--syntax-only Perform a dry-run (No file output) on the input
--use-stderr Use stderr instead of stdout for error messages.
--no-verify Disable opcode verification (for debugging).
sym=val Define constant "sym" with value "val".
sym= Define constant "sym" with value 0.
Par exemple, sous Linux, si nous voulons que le plugin basechat compilé avec succès soit placé dans le répertoire compiled/, nous utiliserions la ou les commandes suivantes.
# Make sure compiled directory is made.
mkdir -p compiled
# Output: compiled/basechat.smx
./spcomp -o compiled/basechat basechat.sp
Fichiers include
De nombreux plugins SourceMod publiés contiennent des fichiers include portant l'extension inc. Ces fichiers doivent être placés dans le répertoire/dossier include/. Sinon, la compilation des plugins échouera probablement.
De plus, vous pouvez utiliser le flag -i lors de la compilation en ligne de commande pour inclure des répertoires et dossiers situés en dehors du répertoire et dossier include par défaut.
Conclusion
C'est tout ! Vous devriez désormais connaître toutes les méthodes pour compiler des plugins SourceMod.
Si vous avez des questions ou des retours concernant ce guide, veuillez répondre à son sujet sur le forum ici ! Ce guide sera retravaillé et amélioré au fil du temps.
Rejoignez notre serveur Discord !
