Salut à tous,
Pour mon premier code distribué dans Showroom, je vous propose un système de bannissement.
Je ne sais pas si vous avez remarqué, mais pour dé-bannir une personne, il faut aller soit même supprimer les informations du banni mais également redémarrer le serveur.
C'est pour cela qu'est né xBanSyst !
Niveau
(http://uppix.net/b/7/6/a563605201578f91983535f3283f1.png)
Pourquoi xBanSyst ?
x -> Xartrick's
Ban -> Ban
Syst -> System
Pourquoi ne pas utiliser simplement la fonction Ban() ou BanEx() ?
Tous simplement car comme je l'ai dis plus haut, en utilisant la fonction Ban() ou BanEx(), les bannissements sont stockés dans le fichier samp.ban qui n'est relut seulement à chaque démarrage du serveur, c'est pour cela que mon système est là.
Il permet de pouvoir supprimer des bannissements directement en jeu mais aussi qu'ils prennent effet immédiatement.
Comment l'utiliser ?
Tout simplement en le compilant dans le dossier filterscripts, et en créant le dossier xBanSyst dans le dossier scriptfiles.
Il faudra également ajouter le fichier bannedplayer.ban dans le dossier xBanSyst.
Quand cela est fait, il vous suffit de rajouter le filterscript dans la liste du fichier server.cfg.
Téléchargement
Version 1.3 MySQL
Archive:
(http://solidfiles.com/info_imgs/a7f4.jpg) (http://solidfiles.com/d/a7f4/)
Code:
http://pastebin.gtaonline.fr/pastebin.php?show=970 (http://pastebin.gtaonline.fr/pastebin.php?show=970)
Base de donnée:
--
-- Structure de la table `bannedplayers`
--
CREATE TABLE IF NOT EXISTS `bannedplayers` (
`IP` text NOT NULL COMMENT 'IP des joueurs bannis',
UNIQUE KEY `index` (`IP`(256))
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Table des joueurs bannis';
- Ajout d'une fonction pour bannir un joueur par sa plage d'IP.
Version 1.2 MySQL
Archive:
(http://solidfiles.com/info_imgs/35b4.jpg) (http://solidfiles.com/d/35b4/)
Code:
http://pastebin.gtaonline.fr/pastebin.php?show=969 (http://pastebin.gtaonline.fr/pastebin.php?show=969)
Base de donnée:
--
-- Structure de la table `bannedplayers`
--
CREATE TABLE IF NOT EXISTS `bannedplayers` (
`IP` text NOT NULL COMMENT 'IP des joueurs bannis',
UNIQUE KEY `index` (`IP`(256))
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Table des joueurs bannis';
- Ajout d'une fonction pour bannir une IP.
- Ajout d'un listing des commandes présentes.
- Ajout d'une fonction pour nettoyer la base de donnée.
- Modification des noms de quelques fonctions.
- Modification de quelques messages faux.
Version 1.1 MySQL
Archive:
(http://solidfiles.com/info_imgs/8b8c.jpg) (http://solidfiles.com/d/8b8c/)
Code:
http://pastebin.gtaonline.fr/pastebin.php?show=968 (http://pastebin.gtaonline.fr/pastebin.php?show=968)
Base de donnée:
--
-- Structure de la table `bannedplayers`
--
CREATE TABLE IF NOT EXISTS `bannedplayers` (
`IP` text NOT NULL COMMENT 'IP des joueurs bannis',
UNIQUE KEY `index` (`IP`(256))
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Table des joueurs bannis';
- Ajout des bannissements sur une base de donnée MySQL.
Version 1.1
Archive:
(http://solidfiles.com/info_imgs/d0cf1.jpg) (http://solidfiles.com/d/d0cf1/)
Code:
http://pastebin.gtaonline.fr/pastebin.php?show=967 (http://pastebin.gtaonline.fr/pastebin.php?show=967)
- Ajout d'une fonction pour vérifier si une IP est valide ou non
- Ajout de vérification pour savoir si le joueur qu'on veut bannir est connecté ou non (idée de Sim)
- Modification des fonctions pour quelle soit portable (idée de Sim).
Version 1.0
Archive:
(http://solidfiles.com/info_imgs/4570b.jpg) (http://solidfiles.com/d/4570b/)
Code:
http://pastebin.gtaonline.fr/pastebin.php?show=966 (http://pastebin.gtaonline.fr/pastebin.php?show=966)
FaQ
Question: Bannir une plage d'IP ?
Réponse: Bannir une plage d'IP permet à un utilisateur de ne plus revenir même s'il possède une IP dynamique !
Si vous bannissez la plage d'IP d'un joueur avec l'indice 1, son IP sera banni comme ceci:
127.0.0.*Tandis que si vous utilisé l'indice 2, son IP sera banni comme ceci:
127.0.*.*
Question: J'aimerais bannir la plage d'IP d'un joueur grâce à l'indice 3 (127.*.*.*), pourquoi je ne peux pas ?
Réponse: Car cela bannirez trop de personne inutillement, pareil pour l'indice 4, tout le monde serait bannie (IPv4).
Question: Comment bannir la plage d'IP d'un joueur que il n'est pas connecté ?
Réponse: Simplement en bannissant le joueur normalement et en changeant l'IP avec des étoiles (*), mais attention, seulement les deux derniers nombres doivent être changé, sinon le bannissement devient obsolète !
Crédits
- G-sTyLeZzZ pour son plugin pour utiliser MySQL
Hé bien c'est déjà fini ! J'espère que ma première contribution à ce forum sera apprécié !
Bonne journée !
Cordialement,
Xartrick.