Sourcemod
De Verywiki-FR.
| ![]() |
Présentation
Sourcemod est un plugins permettant principalement d'administrer son serveur de jeu. Il est également possible de lui adjoindre d'autre plugin pour ajouter des fonctionnalités
Sourcemod est ainsi très modulaire et permet de n'avoir que ce qui est nécessaire pour son serveur
Le projet est mené par Bailopan, qui est aussi l'auteur de Metamod Source, c'est un plugin stable et souvent mis à jour.
Vous pouvez constater le nombre important de serveur utilisant sourcemod en regardant la liste des serveurs utilisant sourcemod
Installation
Sourcemod a besoin du plugin Metamod Source pour fonctionner, assurez-vous de l'avoir bien installé.
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 "SourceMod" ainsi que sur "Installer".
Manuellement
Téléchargez la dernière version disponible sur le site officiel de sourcemod : http://www.sourcemod.net/downloads.php
Les serveurs VeryGames fonctionnant sous linux, vous devez télécharger le fichier avec l'extension tar.gz
Une fois l'archive récupérée, décompressez là (avec Winrar par exemple). Vous obtenez alors deux dossiers : un dossier addons et un dossier cfg.
Uploadez ces deux dossiers sur votre FTP à la racine du jeu. Par exemple pour CS:S, vous devez placer ces dossiers dans le répertoire cstrike
Référez-vous au tutoriel sur la structure des fichiers et dossiers de Counter Strike Source pour de plus ample détails.
Structure des fichiers de sourcemod
Les différent fichiers d'un plugin porte le même nom, seul les extensions varies.
- Répertoire "plugins":
- Utilité: Ce dossier contient tout les plugins (addons) de Sourcemod.
- Extension de type: *.smx .
- Emplacement du dossier: /addons/sourcemod/plugins/ .
- Répertoire "script":
- Utilité: Code source des plugins (fichiers modifiables).
- Extension de type: *.sp .
- Emplacement: /addons/sourcemod/scripting/ .
- Répertoire "configs"
- Utilité: Fichiers de configuration des plugins SourceMod.
- Extensions de type: *.ini ou *.cfg ou encore *.txt .
- Emplacement: /addons/sourcemod/configs/.
- Répertoire "extensions"
- Utilité: Ce dossier contient des librairies de fonctions utilisé par SourceMod mais aussi par certains plugins de la communauté.
- Extensions de type: *.so pour linux et *.dll pour Windows.
- Emplacement: "/addons/sourcemod/extensions/" .
- Répertoire "translations"
- Utilité: Ce dossier contient les fichiers de traductions de SourceMod ainsi que de certains plugins.
- Extension de type: *.txt .
- Emplacement: "/addons/sourcemod/translations" .
- Répertoire des fichiers de configuration "sourcemod"
- Utilité: Fichiers de configuration des plugins SourceMod.
- Extension de type: *.cfg
- Emplacement: /cfg/sourcemod/
Important: les fichiers de configuration du répertoire /cfg/sourcemod/ de la plupart des plugins sont créés après reboot ou fournis par l'auteur (pour éviter un reboot).
Commandes utiles en console après rcon_password ou par HLSW: sm plugins list (liste les plugins chargés sur le serveur sm plugins load plugin.smx (permet de charger un plugin sans passer par un reboot serveur) sm plugins unload plugin.smx (désactive le plugin)
Configuration
Modifier la langue de sourcemod
Par défaut sourcemod est en anglais.
Depuis la version 1.2, sourcemod est traduit en français. Pour connaitre la version installée sur votre serveur, utilisez la commande sm version
La liste des langues disponibles est visible dans le fichier /addons/sourcemod/configs/languages.cfg
Pour modifier la langue, vous devez éditer le fichier /addons/sourcemod/configs/core.cfg :
Cherchez la section correspondante au langage :
* Language that multilingual enabled plugins and extensions will use to print messages.
* Only languages listed in languages.cfg are valid.
*
* The default value is "en"
*/
"ServerLang" "en"
et modifier la variable "ServerLang" comme ceci :
"ServerLang" "fr"
Ajout d'admin
Il y a plusieurs façons d'ajouter des admins dans sourcemod :
Via un fichier texte, de manière simple
Il suffit d'ajouter les Steam Id dans le fichier /addons/sourcemod/configs/admins_simple.ini de la façon suivante :
Steam ID "droits"
par exemple
STEAM_0:0:6116561 "abcdefghijklmnopqrstu" // Tous les droits : "z"
La liste des droits est disponible dans le fichier /addons/sourcemod/configs/admin_levels.cfg Ce système de droits permet de ne donner que certains accès ou fonctionnalités aux admins.
Via un fichier texte, de manière avancée
Vous pouvez configurer de manière très précises les droits de chaque admin avec le fichier /addons/sourcemod/configs/admins.cfg Il est ainsi possible de créer des groupes et de les assigner à plusieurs personnes, les groupes sont gérés dans le fichier /addons/sourcemod/configs/admin_groups.cfg
Fichier admins.cfg
Méthode simple pour ajouter plusieurs admins:
Exemple:
Admins
{
"Pseudo admin 1"
"auth" "steam" // Authentification par steamid
"identity" "SteamID admin 1"
"flags" "z"
"immunity" "99"
"Pseudo admin 2"
"auth" "steam" // Authentification par steamid
"identity" "SteamID admin 2"
"flags" "abcdef" // Accès définit voir signification des "flags"
"immunity" "0" // Pas d'immunité
//...
}
Fichier admin_groups.cfg
Ce fichier vous permet de créer des groupes d'admins, utile si vous avez beaucoup d'admins à ajouter et qui ont les mêmes droits d'accès.
Exemple:
"Groups"
{
"Nom du groupe admin 1"
{
"flags" "z" //idem que pour admins.cfg, définissez les flags a attribuer à votre groupe
"immunity" "99"
}
"Nom du groupe admin 2"
{
"flags" "abcdef"
"immunity" "0"
}
// ...
}
Il vous reste ensuite à éditer votre fichier admins.cfg pour ajouter votre/vos groupe(s):
"Admins"
{
"Pseudo Admin 1"
{
"auth" "steam"
"identity" "SteamID"
"group" "nom de votre groupe"
}
"Pseudo Admin 2"
{
"auth" "steam"
"identity" "SteamID"
"group" "nom de votre groupe"
}
// ...
}
Via une base de données
En cours d'édition ...
Ajout des commandes RCON
Pour ajouter une section RCON sur votre menu admin SourceMod éditez le fichier adminmenu_custom.txt ( addons/sourcemod/config )
Comprendre comment fonctionne la syntaxe
"Commands"
{
"Mon menu dans SourceMod"
{
"Mon sous menu"
{
"cmd" "ma_commande #1"
"admin" "droit_nécessaire"
"execute" "qui_exec_la_cmd"
"1"
{
"type" "type"
"method" "méthode_d'affichage"
"title" "Nom_de_la_fenêtre"
}
}
}
}
cmd = Vous devez indiquer la commande suivi des arguments exprimer par #1 #2 ...
admin = Le droit (flags) minimum pour utiliser cette commande ( Facultatif ) exemple : sm_setnextmap, sm_kick, sm_ban ...
execute = Qui exécute le commande. 2 choix = player (le joueur) ou server (le serveur)
Voilà la première partie de la commande.
Les arguments
Les arguments c'est ce qui sera remplacé par #1.
1# = Pourra être une map, un joueur, un nombre, ...
type Pourra ètre :
- groupplayer = La liste des joueurs connecter et les team ( CT-T, Blu-Red, ... )
- group = Là vous avez juste le choix entre les team
- player = Juste là liste des joueurs
- list = Là c'est vous qui faites votre liste.
Exemple de liste que vous pouvez faire =
"type" "list" "title" "Changer la gravité" "1" "800" "1." "Gravite normal" "2" "250" "2." "Gravite faible" "3" "1000" "3." "Beaucoup de gravite"
-TUTO EN COURS-
Ajout de maps
Il est possible d'avoir plusieurs listes de maps pour le menu admin, le votemap, le mapcycle, etc ..
Le fichier a édité est : /addons/sourcemod/configs/maplists.cfg
Voici un aperçu de ce fichier :
"MapLists"
{
/**
* Default requests go right to the mapcyclefile.
*/
"default"
{
"target" "mapcyclefile"
}
/* Admin menu, map menu */
"sm_map menu"
{
"file" "addons/sourcemod/configs/adminmenu_maplist.ini"
}
/* Admin menu, map voting menu */
"sm_votemap menu"
{
"file" "addons/sourcemod/configs/adminmenu_maplist.ini"
}
/* For the "randomcycle" plugin */
"randomcycle"
{
"target" "default"
}
/* For the "mapchooser" plugin */
"mapchooser"
{
"target" "default"
}
/* For the "nominations" plugin */
"nominations"
{
"target" "default"
}
}
Attention, vous ne devez pas mettre l'extension ".bsp" lorsque vous ajoutez le nom d'une map !
Ajout d'un votemap
En cours d'édition ...
Ajout de plugins
Fonctionnement de plugins sourcemod
Un plugin SourceMod est un ajout (addon) qui permet d'offrir des fonctions en plus dans le jeu, corriger, bloquer des problèmes de failles, maps, etc.
SourceMod utilise pour ses scripts la programmation en Source Pawn (dérivé du Pawn). Ce langage doit être compilé pour s'exécuter et donner un fichier *.smx qui sera placé dans le dossier "plugins" de SourceMod pour être chargé.
Où trouver des plugins pour sourcemod
Voici des tutoriels de plugins sourcemod pour divers mods:
- Liste des plugins sourcemod pour cs:s
- Liste des plugins sourcemod pour dod:s
- Liste des plugins sourcemod pour L4D
La liste des plugins approuvé par la communauté est disponible ici, un moteur de recherche permet de filtrer la liste pour le plugin qui vous intéresse. Ils en existent d'autres présent sur le forum SourceMod.
Installer un plugin sourcemod
Prés-requis
Après avoir cliqué sur un plugin qui vous intéresse dans la liste, vous vous retrouvez sur un forum, l'auteur explique le fonctionnement, et accessoirement (s'il y en a) les commandes à utiliser pour son plugin.
Lisez attentivement le descriptif pour l'employer au mieux, pensez aussi à vérifier la date de sa mise en ligne ainsi que les derniers commentaires pour voir si le plugin est toujours fonctionnel.
Installation
- En bas du topic ce trouve 2 liens "Get Plugin" c'est le fichier compilé du plugin. et "Get Source", c'est le fichier contenant le code source, il ne vous sera pas utile sauf si vous voulez faire des modifications. Celui a téléchargé est donc "Get Plugin" qui contient le fichier compilé avec l'extension *.smx.
- Placez ce fichier dans le dossier "plugins" de Sourcemod (../addons/sourcemod/plugins/).
- Redémarrer ensuite votre serveur, le plugin sera automatiquement chargé
Certains plugins contiennes plusieurs fichier, l'auteur met généralement à disposition un dossier archivé contenant tout les fichiers du plugins. Suivez l'arborescence des dossiers pour placer vos fichier sur votre serveur.
Vérification
- Pour vous assurez qu'un plugin SourceMod est correctement chargé et donc fonctionnel sur votre serveur, inscrivez dans votre console ou sur HLSW la commande suivante:
sm plugins list
Rechercher si le nom du plugin installé est dans la liste et s'il n'y a pas de message d'erreur.
- Autre vérification importante, un plugin peut être chargé, mais créer des erreurs sur le serveur (qui peuvent rendre votre machine instable), non visible par un joueur mais répertorié dans le dossier logs de sourcemod (../addons/sourcemod/logs/). Si un fichier ce nomme: errors_date.log ouvrez le et vérifiez si le nom du plugin que vous avez installé est inscrit. Si oui, il faudra les corriger ou les communiquer à l'auteur.
Personnaliser le menu admin
En cours d'édition ...
Utilisation
le menu admin
Si vous êtes admin, vous pouvez ouvrir le menu admin en tappant la commande "sm_admin" dans votre console
Vous pouvez binder cette commande sur une touche pour accéder plus facilement au menu admin
par exemple :
bind "p" "sm_admin"
Il vous suffira ensuite d'appuyer sur la touche p pour faire apparaitre le menu_admin
commandes utiles
sm help : liste l'ensemble des commandes disponibles avec une aide sm plugins list : liste tous les plugins activés sm plugins refresh : met à jour les plugins ( décharge les plugins supprimés et active les plugins ajoutés dans le dossier plugins/) sm_kick <#IDJoueur|pseudo> [raison] (Kicker un joueur) sm_map <map> (Changes la map en cours) sm_rcon <commande> (Execute la commande via le rcon) sm_cvar <cvar> [valeur] (Recherche ou modifie la valeur de la cvar) sm_execcfg <nom_du_fichier> (Execute le fichier de config, le chemin n'est pas obligatoire mais l'extension oui) sm_who [#IDJoueur|pseudo] (Liste tous les joueurs et leurs droits) sm_ban <#IDJoueur|pseudo> <minutes|0> [raison] (Bannir un joueur) sm_unban <SteamID> (Débannir un steamID) sm_addban <temps> <SteamID> [raison] (Ajoute un steamID à la liste de bannis) sm_banip <temps> <IP> [raison] (Ajoute une IP à la liste de bannis) sm plugins list (liste des plugins charger) sm plugins load nom du plug.smx(charger un plugin) sm plusins load_lock (empéche un tiers de rajouter un plugin par erreur) sm plugins load_unlock (débloque la commande sm plugins load)

