Installer SourceBans

A lire avant de poursuivre : Structure & agencement.

Prérequis : Installer SourceMod

Sourcebans est un plugin de gestion des bans via une interface web, lorsque vous bannissez quelqu'un de votre serveur, le banni se retrouve ajouté sur la partie web avec le détail de son ban, le banni peut protester son ban. Des joueurs peuvent faire une demande de ban via la partie web avec vidéo etc. Si vous possédez plusieurs serveurs et que vous bannissez quelqu'un, il sera banni de tout vos serveurs. Avec Sourcebans vous pouvez également créer plusieurs groupes et attribuer des droits différents pour chaque groupe.

La manipulation consiste à télécharger l'archive SourceBans-1.4.10.zip puis décompresser et supprimer l'archive.

Nous allons nous déplacer dans le dossier « ../hlds » (~/hlds) et télécharger la dernière version de SourceBans. puis nous décompressons l'archive.

cd ~/hlds
wget http://sourcebans.googlecode.com/files/SourceBans-1.4.10.zip

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

unzip SourceBans-1.4.10.zip

Deux nouveaux dossiers « ../hlds/game_upload » et « ../hlds/web_upload » et deux nouveaux fichier « changelog.txt » et « readme.txt » viennent de se créer. Nous pouvons supprimer l'archive SourceBans-1.4.10.zip (changelog.txt & readme.txt aussi).

rm SourceBans-1.4.10.zip
rm changelog.txt readme.txt

SourceBans est découpée en deux morceaux, d’un coté le code PHP/HTML qui sera utilisé pour l’interface web de gestion des bans. De l’autre, un plugin SourceMod (sourcebans.smx) qui s’occupera d'interagir avec l’interface web.

Déplaçons le dossier « ../web_upload » vers le dossier « ../sourcebans » que nous allons créer dans le dossier du serveur web (ex : ~/www/ligfy.net).

mv ~/hlds/web_upload ~/www/ligfy.net/sourcebans

Copions le contenue du dossier « ../game_upload » vers le dossier « ../cstrike » de notre serveur de jeu (il faut copier le contenue du dossier « ../game_upload » (../game_upload/addons) sur chaque serveur de jeu).

cp -R ~/hlds/game_upload/addons ~/hlds/srcds/css/cstrike

Puis nous pouvons supprimer « ../game_upload ».

rm -rf ~/hlds/game_upload

Nous allons maintenant crée une base de données SQL avec phpMyAdmin pour l’utilisation de SourceBans.

http://localhost/phpmyadmin // localhost = IP du serveur web

Nous allons configurer SourceBans en manipulent divers fichiers.

Nous allons renommer le fichier « config.php.template » (../www/ligfy.net/sourcebans/config.php.template) en « config.php ».

cd ~/www/ligfy.net/sourcebans
mv config.php.template config.php

Nous allons maintenant changer les permissions d'accès de certains dossiers et fichiers (chmod 777) du dossier « ../sourcebans » (../www/ligfy.net/sourcebans).

chmod 777 config.php demos images/games images/maps themes_c

Maintenant nous allons sur notre site pour découvrir l'interface de SourceBans.

http://localhost/sourcebans/install // localhost = IP du serveur web

Nous voilà dans l'interface d'installation de SourceBans.

Nous allons cocher la case "I have read, and accept the license", puis sur "OK".

Sur la page suivante il faut rentrer nos informations de base de donnée (précédemment créée).

« Server hostname » serveur de la base de donnée (ex: localhost)
« Server port » port du serveur de la base de donnée (par défaut 3306)
« Username » nom d'utilisateur
« Password » mot de passe
« Database » nom de la base de donnée (ex: sourcebans)
« Table prefix » prefix que vous voulez donner a votre base de donnée (vous pouvez laisser par défaut ou modifier par ce que vous voulez).

Une fois terminé, nous arrivons sur l'étape 3 de l'installation qui consiste a une vérification générale de Sourcebans et du serveur web. Normalement tout devrait être au vert sur la colonne de droite. Si tout est bon cliquez sur "OK" Sur l'étape 4, une petite fenêtre s'ouvre en nous indiquant que les tables ont été crée avec succès sur notre base de donnée donc tout est bon cliquons ensuite sur "OK".

A l'étape 5 nous allons devoir rentrer nos informations pour le compte admin de SourceBans.

« Admin username » votre pseudo
« Admin password » votre mot de passe
« Confirm password » confirmation du mot de passe
« Steamid » votre steamid en jeu
« Email » entrez votre adresse email

Nous cliquons sur "OK".

Nous arrivons sur une page avec une config a ajouté dans « databases.cfg » (../addons/sourcemod/configs/databases.cfg).

Il faut éditer le fichier « databases.cfg ».

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

Le fichier ressemble a ceci :

"Databases"
{
"driver_default" "mysql"

// When specifying "host", you may use an IP address, a hostname, or a socket file path

"default"
{
"driver" "default"
"host" "localhost"
"database" "sourcemod"
"user" "root"
"pass" ""
//"timeout" "0"
//"port" "0"
}

"storage-local"
{
"driver" "sqlite"
"database" "sourcemod-local"
}

"clientprefs"
{
"driver" "sqlite"
"host" "localhost"
"database" "clientprefs-sqlite"
"user" "root"
"pass" ""
//"timeout" "0"
//"port" "0"
}
}

Nous allons ajouter le code émis comme ceci :

"Databases"
{
"driver_default" "mysql"

"sourcebans"
{
"driver" "default"
"host" "localhost"
"database" "sourcebans"
"user" "user"
"pass" "pass"
//"timeout" "0"
"port" "3306"
}

// When specifying "host", you may use an IP address, a hostname, or a socket file path

"default"
{
"driver" "default"
"host" "localhost"
"database" "sourcemod"
"user" "root"
"pass" ""
//"timeout" "0"
//"port" "0"
}

"storage-local"
{
"driver" "sqlite"
"database" "sourcemod-local"
}

"clientprefs"
{
"driver" "sqlite"
"host" "localhost"
"database" "clientprefs-sqlite"
"user" "root"
"pass" ""
//"timeout" "0"
//"port" "0"
}
}

Maintenant nous allons supprimer les dossiers « /install » et « /updater » (../www/ligfy.net/sourcebans/install et ../www/ligfy.net/sourcebans/updater)

cd ~/www/ligfy.net/sourcebans
rm -rf install updater

Nous allons éditer le fichier « sourcebans.cfg » (../addons/sourcemod/configs/sourcebans/sourcebans.cfg)

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

Voici un exemple du fichier « sourcebans.cfg ».

/**
* sourcebans.cfg
*
* This file contains settings for the SourceBans Source Server Plugin
* @author SteamFriends Development Team
* @version 0.0.0.$Rev: 74 $
* @copyright SteamFriends (
http://www.steamfriends.com)
* @package SourceBans
*/

"SourceBans"
{
"Config"
{
// Website address to tell where the player to go for unban, etc
"Website" "http://www.ligfy.net/sourcebans/"

// Allow or disallow admins access to addban command
"Addban" "1"

// Allow or disallow admins access to unban command
"Unban" "1"

// The Tableprefix you set while installing the webpanel. (default: "sb")
"DatabasePrefix" "sb"

// How many seconds to wait before retrying when a players ban fails to be checked. Min = 15.0 Max = 60.0
"RetryTime" "45.0"

// How often should we process the failed ban queue in minutes
"ProcessQueueTime" "5"

// Should the plugin automaticaly add the server to sourcebans
// (servers without -ip being set on startup need this set to 0)
"AutoAddServer" "1"

// Enable backing up config files after getting admins from database (1 = enabled, 0 = disabled)
"BackupConfigs" "1"

// Enable admin part of the plugin (1 = enabled, 0 = disabled)
"EnableAdmins" "1"

// Require the admin to login once into website
"RequireSiteLogin" "0"

// This is the ID of this server (Check in the admin panel -> servers to find the ID of this server)
"ServerID" "1"
}

/*
* Generic menu options for if a reason isn't supplied in a ban
* Without a supplied reason the ban will never be written to the database
*/
"BanReasons"
{
"Hacking" "Hack"
"Exploit" "Exploit map/serveur"
"TK" "TK"
"TF" "Flash Team"
"CommSpam" "Spam Mic/Chat"
"BadSpray" "Spray interdit"
"BadLang" "Language interdit"
"BadName" "Pseudo interdit"
"IgnoreAdmin" "Ignore conseils admin"
"Stacking" "empilement joueurs"
"Own Reason" "Autre raison"
}

/*
* Submenu options for when "Hacking" is selected
* If "Hacking" is removed from the menu above this will not be accessable
*/
"HackingReasons"
{
"Aimbot" "Aimbot"
"Antirecoil" "Anti Recul"
"Wallhack" "Wallhack"
"Spinhack" "Spinhack"
"Speedhack" "Speedhack"
"Multi-Hack" "Multi-Hack"
"No Smoke" "travers fumi"
"No Flash" "Anti-flash"
}
}

« Website » Quand un joueur est banni, montre cette adresse de site Web pour le joueur banni avec le message qui leur est donné sur l'interdiction.
« Addban » Permet aux administrateurs d'ajouter une interdiction a la base de données sans que le joueur soi dans le serveur actuel, et sans l'aide de l'interface Web.
« Unban » Permet aux administrateurs de supprimer l'interdiction de la base de données sans avoir à utiliser l'interface web.
« DatabasePrefix » C'est le préfixe donné à vos tables dans votre base de données MySQL (ce qui devrait être mis en place au cours de l'installation de l'interface Web)
« RetryTime » C'est le temps après qu'un contrôle d'interdiction a échoué (généralement due à des problèmes de connexion) pour le plugin de vérifier à nouveau.
« ProcessQueueTime » Combien de fois devez sauvegarder la file d'attente interdiction est traitée en quelques minutes. Cette file d'attente est un fichier local qui est utilisé pour stocker les interdictions quand vous perdez la connexion au serveur mysql.
« AutoAddServer » Automatiquement ajouter le serveur à la WebPanel si elle n'est pas ajoutée encore.
ServerIP - L'adresse IP du serveur. Nécessaire lorsque AutoAddServer est activée.
ServerPort - numéro de port du serveur. Nécessaire lorsque AutoAddServer est activée.
« BackupConfigs » Conserver les admins et les groupes sur le gameserver pour quand la base de données est en panne. Écrasera admins.cfg et admin_groups.cfg.
« EnableAdmins » Activer la partie admins de SourceBans.
« ServerID » Définissez l'ID serveur affecté par SourceBans ici. Vous pouvez trouver cet ID dans le WebPanel, admin panel -> servers.
« BanReasons » Ce sont des options génériques qui sont affichés dans un menu si aucune raison n'est donnée quand la commande console à l'interdiction.
« HackingReasons » Ce sont des options génériques qui sont affichés dans un menu si le piratage est sélectionné dans le menu interdiction.

Nous allons configurer SourceBans avec l'interface web. 

Avec notre navigateur, rendons-nous à l'adresse suivante.

http://localhost/sourcebans // localhost = IP du serveur web

Il faut se loguer pour faire apparaître le menu admin (bleu la partie public et rouge le menu admin)

Nous allons ajouter notre serveur a SourceBans, dans le menu admin, nous cliquons sur "Servers" >> "Add new server". Et la vous allez vous trouver face a ceci.

Nous allons devoir rentrer les informations de notre serveur de jeu Counter-Strike:Source.

« Server IP/Domain » Adresse IP du serveur
« Server Port » le port du serveur (ex: 27015)
« RCON Password » mot de passe rcon
« RCON Password (Confirm) » confirmez le mot de passe rcon
« Server MOD » Choisissez le jeu sous lequel tourne votre serveur (ex: Counter-Strike:Source)
« Enabled » activé ou non, cochez la case
« Server Groups » Si vous souhaitez ajouter votre serveur a un groupe, mais le groupe est a créer avant.

Ensuite validons en cliquant sur "Add server" Votre serveur apparait ensuite dans la liste. 

Maintenant que notre serveur est ajouté a SourceBans, nous allons créer un groupe pour nos admins/modérateurs/VIP ou autre. Dans le menu admin nous allons cliquer sur "Groups" >> "Add a group" Vous entrez le nom que vous désirez donner au groupe (ex: admin), en dessous vous avez le type de groupe a déterminer via un menu déroulant. 

« Web admin group » ce sera un groupe ayant accès a la partie admin de sourcebans côté web uniquement. Ce qui permettra de gérer les bans via la partie web.
« Server admin group » ce type de groupe vous permet de créer des droits spécifique aux différents groupe que vous créer pour votre serveur de jeux. Par exemple admin, modo, VIP etc. Ce type ne gère que les droits sur serveur.
« Server group » Si vous souhaitez ajouter votre serveur a un groupe de serveur.

Nous allons voir le web admin group et le server admin group

Web admin group : Pour créer un groupe admin côté web, vous déterminez un nom de groupe a créer, par exemple admin-web Vous sélectionnez via le menu déroulant web admin group et la fenêtre s'agrandit avec les différentes options a déterminer pour ce groupe. Vu que c'est le groupe admin-web je lui donne un accès totale donc je coche la 1ère case "Root Admin (Full Admin Access)" Je valide en cliquant sur "Save changes" Votre groupe apparait ensuite dans la liste sur la partie web. Vous pouvez créer autant de groupe que vous désirez. 
Server admin group : Vous entrez donc un nom de groupe par exemple admin-serv Puis sélectionnez en dessous "Server admin group" La fenêtre s'agrandit avec les différents droits a donner a votre groupe. Comme pour le web, comme c'est le groupe admin je lui donne un accès total aux droits sur serveur. Je coche donc la 1ère case "Root Admin (Full Admin Access)" Ensuite plus bas dans la partie "Immunity" je lui met une valeur de 99 et je valide tout ça en cliquant en bas sur "Save Changes" Vous verrez qu'aucune n'est coché sauf la 1ère mais c'est normal contrairement a la partie web ou tout se coche d'un coup. Votre groupe est donc ensuite ajouté a sourcebans. Procédez de la même façon pour créer d'autres groupes. Concernant le "Immunity", si vous créez un groupe avec une valeur de 80, le groupe ne pourra rien faire contre un groupe avec une valeur de 99. 
Par contre si vous avez un groupe avec une valeur de 20 et une autre de 80, le groupe avec 80 pourra agir sur le groupe a 20. Vos groupes sont donc créer, nous allons voir pour ajouter des joueurs a ces groupes. 

Pour ajouter un joueur a un groupe nous allons cliquer sur le menu admin dans "Admins" >> "Add new admin", nous voici face a ceci.

Admin Details :

« Admin login » entrez le pseudo du joueur, pas obligé qu'il ait exactement celui du jeu et évitez les charmap, un pseudo simple suffit c'est juste pour que vous sachiez qui fait quoi.
« Admin Steam ID / Community ID » entrez son steamID
« Admin Email » son adresse email
« Admin Password » donnez-lui un mot de passe
« Admin Password (confirm) » confirmez le mot de passe
« Server Password (more) » l'admin devra entrer un mot de passe une fois sur le serveur pour jouir de ses droits (Il est conseillé de ne pas cocher cette case).

Admin Access :

« Server Access » cochez les serveurs sur lesquels votre admin aura les droits

Admin persmissions :

« Server Admin Group » sélectionnez le groupe sur lequel votre admin aura des droits sur le serveur
« Web Admin Group » sélectionnez le groupe sur lequel votre admin aura des droits sur la partie web

Si vous désirez ne donner que des droits sur l'un ou l'autre, pour celui que vous ne voulez pas lui attribuer de droits sélectionnez "No permissions" Cliquez ensuite sur "Add admin" Votre admin est maintenant ajouté au système. 
Effectuez un changement de map et votre admin devrait avoir les droits. Si ce n'est pas le cas, tentez un reboot. Si sa ne fonctionne toujours pas, vérifiez votre config.

  • Bannir via l'interface web  

Vous pouvez également bannir quelqu'un via l'interface web de SourceBans. Pour se faire vous allez vous loguer sur SourceBans avec votre compte admin puis vous allez dans le menu admin "Bans" Sur la page vous n'avez plus qu'a remplir les informations 

« Nickname » pseudo, même approximatif ce n'est pas grave.
« Ban type » soit par IP soit par steamID, je vous conseil par steamID
« Steam ID / Community ID » son steamID
« IP Address » son adresse IP si vous voulez le ban par IP uniquement.
« Ban reason » la raison du ban
« Ban Length » la durée du ban
« Upload Demo » envoyer une démo du cheateur ou insulte etc. (pas obligatoire)

Cliquez ensuite sur "Add ban" et le joueur sera banni de tout vos serveurs. Les joueurs peuvent également soumettre une demande de ban, pour se faire ils s'inscrivent sur Sourcebans puis ils cliquent sur "Submit a ban". Vous en tant qu'admin vous pouvez vérifier si une demande a été faite en allant dans le menu admin "Bans" Ensuite dans le menu de gauche dans "Ban submissions". 

  • Protester un ban 

Le banni peut venir protester son ban et en s'inscrivant sur votre SourceBans il va aller dans le menu public "Protest a ban" Ensuite il va indiquer les détails suivant.

« Ban type » steamID ou adresse IP
« Your SteamID* » son steamID (obligatoire)
« name * » son pseudo (obligatoire)
« Reason ...* » invoquer une raison pour le déban (obligatoire)
« Your Email* » son adresse email (obligatoire)

Ensuite il cliquera sur "Submit" pour envoyer sa demande de déban Vous en tant qu'admin vous allez recevoir sa demande dans le menu admin "Bans" puis dans "Ban protests" vous étudierez sa demande et prendrez une décision. 

  • Importer une liste de ban 

Vous pouvez importer une liste de banni comme par exemple si vous voulez importer les bannis qui sont dans votre fichier « banned_user.cfg » il vous suffit via le menu admin "Bans" d'aller ensuite dans "Import Bans" et d'aller chercher votre fichier et de l'importer. 

  • Editer/supprimer un admin 

Lorsque vous avez ajouter un joueur a votre système il vous est possible ensuite de l'éditer pour par exemple le changer de groupe ou éditer ses accès aux serveurs ou encore le retirer du système via la suppression de son compte admin. Pour se faire c'est très simple, il vous suffit de vous connecter a votre compte admin puis d'aller dans le menu admin "Admins".
Ensuite vous allez avoir la liste des admins, il vous suffira de cliquer sur l'admin que vous désirez éditer et vous aurez ceci a l'écran.

Sur la colonne de gauche vous pouvez voir ses droits sur serveur et colonne de droite ses droits sur le web. Ce sont les droits attribuer aux groupes crées au début. Vous pouvez donc via la partie rouge.

« Edit details » éditer les informations de l'admin, son pseudo, son mot de passe, son email ou encore son steamID
« Edit permissions » éditer les permissions, pour le web comme pour les serveurs donc attention a ne pas vous tromper. Mais si vous passez par la pour modifier ses droits retirez le du groupe dans lequel vous l'aviez mis
« Edit server access » éditer les accès aux différents serveur, pour retirer l'accès a un serveur il vous suffira de décocher le serveur
« Edit groups » éditer le groupe de l'admin, vous pourrez le changer de groupe via ce bouton
« Delete admin » supprimer son compte admin de Sourcebans

  • Configuration générale 

Il vous ai possible d'éditer votre pas d'accueil et de la personnaliser. Pour cela vous aller vous connecter a votre compte admin et vous allez dans le menu admin "Settings" Diverses options s'offrent a vous pour éditer l'accueil. Voici quelques détails.

« Title » le titre de votre Sourcebans
« Path to logo » le lien de l'image si vous en mettez une sinon laissez vide
« Min password length » nombre de caractère a mettre obligatoirement dans son mot de passe

  • Dashboard settings 

« Intro title » titre du texte d'introduction
« Intro Text » le texte dans votre intro

Vous avez ensuite d'autres options de configuration de SourceBans a configurer a votre guise

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

Propulsé par Drupal