Installer SourceMod

A lire avant de poursuivre : Structure & agencement.

Prérequis : Installer Metamod:Source

N'installez pas SourceMod et Mani Admin Plugin sur le même serveur de jeu.

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. SourceMod a besoin du plugin Metamod:Source pour fonctionner.

​La manipulation consiste à se déplacer dans le dossier du mod (../cstrike), télécharger l'archive sourcemod-1.4.4-linux.tar.gz puis décompresser et supprimer l'archive.

Nous allons nous déplacer dans le dossier du mod (../cstrike) et télécharger la dernière version de SourceMod, puis nous décompressons l'archive.

cd ~/hlds/srcds/css/cstrike
wget http://sourcemod.gameconnect.net/files/sourcemod-1.4.4-linux.tar.gz

une fois l'archive téléchargé, il faut la décompresser.

tar zxvf sourcemod-1.4.4-linux.tar.gz

Deux nouveaux dossiers « ../cfg/sourcemod » et « ../addons/sourcemod » et un nouveaux fichier « ../addons/metamod/sourcemod.vdf » viennent de se créer. Nous pouvons supprimer l'archive sourcemod-1.4.4-linux.tar.gz.

rm sourcemod-1.4.4-linux.tar.gz

​Pour vérifier si SourceMod est bien activé il nous suffit de taper "meta list" dans la console.

Pour avoir la liste des commandes de SourceMod, il nous suffit de taper "sm" dans la console.

La plus importante est "sm plugins list" qui permet de voir les plugins chargés.

Nous avons ainsi le numéro attribué au plugin, son nom, sa version, son auteur et son status. Pour désactiver un plugin il faut utiliser la commande "sm plugins unload", par exemple : sm plugins 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).

​La manipulation consiste à modifier la langue de SourceMod, ajouter un admin, ajouter des commandes RCON, ajouter des maps, ajouter des plugins.

  • 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 notre serveur, utilisons la commande "sm version".

Pour modifier la langue, nous devons éditer le fichier « core.cfg » (../addons/sourcemod/configs/core.cfg).

nano ~/hlds/srcds/css/cstrike/addons/sourcemod/configs/core.cfg

Modifions la variable "ServerLang" comme ceci :

"ServerLang" "fr"

  • Ajouter un admin

Il y a plusieurs façons d'ajouter des admins dans SourceMod, via un fichier texte de manière simple (admins_simple.ini), via un fichier texte de manière avancée (admins.cfg), via deux fichiers texte de manière avancée (admins.cfg et admin_groups.cfg).

  • Via un fichier texte de manière simple

Il suffit d'ajouter les Steam Id dans le fichier « admins_simple.ini » (../addons/sourcemod/configs/admins_simple.ini) de la façon suivante : "Steam ID" "droits".

Fichier « admins_simple.ini » (Méthode simple pour ajouter plusieurs admins).

nano ~/hlds/srcds/css/cstrike/addons/sourcemod/configs/admins_simple.ini

Exemple :

Authentification par steamid :

"STEAM_0:0:6116561" "99:z" // Tous les droits : "abcdefghijklmnopqrstu" ou "z"

Authentification par adresse IP :

"!192.168.0.1" "99:z"

Authentification par nom et mot de passe :

"SUPER-MAN" "99:z" "Gab3n"

  • Via un fichier texte de manière avancée

Nous pouvons configurer de manière très précises les droits de chaque admin avec le fichier « admins.cfg » (../addons/sourcemod/configs/admins.cfg).

Fichier « admins.cfg » (Méthode simple pour ajouter plusieurs admins).

nano ~/hlds/srcds/css/cstrike/addons/sourcemod/configs/admins.cfg

Exemple :

Admins
{
"SUPER-MAN"
"auth" "steam"
"identity" "STEAM_0:0:6116561"
"flags" "z"
"immunity" "99"

"BATMAN" // Pseudo
"auth" "steam"
// Authentification par steamid
"identity" "STEAM_0:0:9738723"
// SteamID
"flags" "abcdef"
// Accès définit voir signification des "flags"
"immunity" "0"
// Pas d'immunité

//...
}

  • Via deux fichiers texte de manière avancée

Il est ainsi possible de créer des groupes et de les assigner à plusieurs personnes, les groupes sont gérés dans le fichier « admin_groups.cfg » (../addons/sourcemod/configs/admin_groups.cfg).

Fichier « admin_groups.cfg » (Ce fichier nous permet de créer des groupes d'admins, utile si nous avons beaucoup d'admins à ajouter et qui ont les mêmes droits d'accès).

nano ~/hlds/srcds/css/cstrike/addons/sourcemod/configs/admin_groups.cfg

Exemple :

"Groups"
{
"administrateur"
{
"flags" "z"
"immunity" "99"
}
"vip" // Nom du groupe
{

"flags" "abcdef"
// idem que pour admins.cfg, définissez les flags a attribuer à votre groupe
"immunity" "0"
}

// ...
}

Il nous reste ensuite à éditer notre fichier « admins.cfg » pour ajouter nos groupes.

nano ~/hlds/srcds/css/cstrike/addons/sourcemod/configs/admins.cfg

"Admins"
{
"SUPER-MAN"
{
"auth" "steam"
"identity" "STEAM_0:0:6116561"
"group" "administrateur"
}

"BATMAN"
// Pseudo
{
"auth" "steam"
// Authentification par steamid
"identity" "STEAM_0:0:9738723"
// SteamID
"group" "vip"
// nom de votre groupe
}

// ...
}

yes Astuce :

La liste des droits est disponible dans le fichier « admin_levels.cfg » (../addons/sourcemod/configs/admin_levels.cfg). Ce système de droits permet de ne donner que certains accès ou fonctionnalités aux admins.

  • Ajouter des commandes RCON

Pour ajouter une section RCON sur notre menu admin SourceMod éditons le fichier « adminmenu_custom.txt » (../addons/sourcemod/config/adminmenu_custom.txt).

Fichier « adminmenu_custom.txt ».

nano ~/hlds/srcds/css/cstrike/addons/sourcemod/configs/adminmenu_custom.txt

Exemple :

"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)

Les arguments sont 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 nous pouvons faire :

"type" "list"
"title" "Changer la gravité"
"1" "800"
"1." "Gravite normal"
"2" "250"
"2." "Gravite faible"
"3" "1000"
"3." "Beaucoup de gravite"

yes Astuce :

Voici un exemple de fichier adminmenu_custom.txt.

  • Ajouter des maps

Il est possible d'avoir plusieurs listes de maps pour le menu admin, le votemap, le mapcycle, etc ...

Le fichier a édité est « maplists.cfg » (../addons/sourcemod/configs/maplists.cfg)

Voici un aperçu de ce fichier :

nano ~/hlds/srcds/css/cstrike/addons/sourcemod/configs/maplists.cfg

"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"
}
}

yes Astuce :

Attention, nous ne devons pas mettre l'extension .bsp lorsque nous ajoutons le nom d'une map !

  • Ajouter des plugins

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 » (../addons/sourcemod/plugins) de SourceMod pour être chargé.

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 nous intéresse dans la liste, nous nous retrouvons 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 nous sera pas utile sauf si nous voulons faire des modifications. Celui a téléchargé est donc "Get Plugin", qui contient le fichier compilé avec l'extension *.smx.
Plaçons ce fichier dans le dossier « ../plugins » de SourceMod (../addons/sourcemod/plugins). Redémarrons ensuite notre serveur, le plugin sera automatiquement chargé.

Vérification :

Pour nous assurer qu'un plugin SourceMod est correctement chargé et donc fonctionnel sur notre serveur, inscrivons dans notre console la commande suivante "sm plugins list", recherchons 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 » ouvrons le et vérifions si le nom du plugin que nous avons installé est inscrit. Si oui, il faudra les corriger ou les communiquer à l'auteur.

yes Astuce :

Si vous déplacez un plugin dans le sous répertoire « ../disabled » (../addons/sourcemod/plugins/disabled), celui ci sera désactivé automatiquement.
Les fichiers de configuration de la plupart des plugins du répertoire « ../cfg/sourcemod » sont créés après reboot ou fournis par l'auteur (pour éviter un reboot).

​Etre admin de son serveur signifie avoir un certain nombre de droits permettant d'agir sur le fonctionnement du serveur. Cela peut être pratique pour changer de map, expulser un joueur... et modifier de nombreuses autres variables. Il est utile de pouvoir modifier certaines variables directement depuis le jeu et sans faire de modification via l'accès FTP.

Si vous êtes admin, vous pouvez ouvrir le menu admin en tappant la commande :

Via le chat :

!admin // sera visible dans le chat
/admin
// ne sera pas visible dans le chat

Via la console :

sm_admin

Via une touche dédiée à la fonction d’administrateur, tapez dans la console :

bind "MA_TOUCHE" "sm_admin"

Il vous suffira ensuite d'appuyer sur la touche "MA_TOUCHE" pour faire apparaitre le menu admin.

Voila, amusez-vous bien, et n'hésitez pas à poser vos questions.

Propulsé par Drupal