GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Showroom SA:MP => Discussion démarrée par: » Lukubi™ le 22 Juillet 2011, 00:13:07

Titre: [FS] Lukubi's WhiteList System
Posté par: » Lukubi™ le 22 Juillet 2011, 00:13:07

Lukubi's WhiteList System


Presentation


○ C'est quoi ?
• Ce filterscript c'est en quelque sorte une banlist inversée, seul les joueur listé peuvent se connecter sur le serveur.

○ Comment sa marche ?
• Il y a deux metode utilisé dans ce FS, la première consiste a récupérer le pseudo du joueur et le comparé a la white liste, si il n'est pas listé il sera kick.
La seconde consiste elle a récupérer l'adresse IP du joueur et a la comparé a une seconde white liste, si il n'est pas listé il sera aussi kick.
NB : Il est impossible d'utiliser les deux méthode a la fois pour le moment.

○ Comment on l'installe ?
• Il suffit d'ouvrir le .pwn, de configurer la variable #define Whiteliste_Type sur 1 pour une utilisation de la vérification de pseudo ou bien sur 0 pour une utilisation de la verification de l'adresse IP.
Si vous utiliser la verification de pseudo, vous devrez lister les pseudo dans la variable WhitelistePseudo.
Si vous utiliser la verification d'adresse IP, vous devrez lister les adresse ip dans la variable WhitelisteIP.
• Ensuite comme tout FS, il vous suffit de le compiler et d'ajouter LWLS dans votre server.cfg apres avoir placer le .amx dans votre dossier Filterscripts.

○ Ou on le télécharge ?
• Pastebin : http://pastebin.gtaonline.fr/pastebin.php?show=1138 (http://pastebin.gtaonline.fr/pastebin.php?show=1138)
• Megaupload : http://www.megaupload.com/?d=U4WAXVW5 (http://www.megaupload.com/?d=U4WAXVW5)
• Lukubi's Miror : http://lukubi.rd-h.fr/telechargement/LWLS.pwn (http://lukubi.rd-h.fr/telechargement/LWLS.pwn)
• D'autres lien a suivre.

○ Des questions ?
• Postez sur ce topic
• Envoyer un mail à lukubicontact[at]gmail.com

Une idée originale de Gzsume.
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: Azz45 le 22 Juillet 2011, 00:19:32
Yo' ,

Bien vu le petit FS sympa  :)
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: » Lukubi™ le 22 Juillet 2011, 00:28:56
Merci gros. Si y'a des suggestion hesitez pas hein.
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: Watash le 22 Juillet 2011, 00:39:37
Good job mec. :)
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: » Lukubi™ le 22 Juillet 2011, 01:03:21
Merci watash :).
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: Xartrick le 22 Juillet 2011, 04:31:17
La vérification du pseudo est une protection inefficace, tous le monde peut changer de pseudo à volonté.
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: » Lukubi™ le 22 Juillet 2011, 04:45:26
Je n'ai jamais parlé d'efficacité a propos de la vérification de pseudo, cela va de sois qu'il est impossible de vérifier si c'est bien la personne que l'on souhaite derrière le pseudo, c'est aussi pour sa que j'ai codé la vérification IP.
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: Xartrick le 22 Juillet 2011, 06:13:09
À la place d'utiliser un simple tableau, utilise un système de stockage comme SQLite, MySQL ou encore les fichiers pour stocker toutes les IP. qui sont dans la liste blanche, et pourquoi pas, au début du code, les charger dans un tableau.
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: Ssk le 22 Juillet 2011, 11:55:29
Salut bonne idée de Filterscript mais il ne fonctionne pas vraiment.

Dans OnPlayerConnect je vois cette ligne de code

if(strcmp(PlayerName, WhitelistePseudo[GetPlayerName(playerid, PlayerName, sizeof(PlayerName))], true))

et GetPlayerName retourne toujours 0 si mes souvenirs sont bons donc ce code en va tester que le premier pseudo dans le tableau.

Pour régler ce problème tu devrai plutôt faire

    new WhitelistePseudo[][MAX_PLAYER_NAME] = // On defini une liste de pseudo autorisé a entrer sur le seuveur.
        {
                "Lukubi", // Premier pseudo.
                "Test" // Second pseudo.
        };
new PlayerName[ MAX_PLAYER_NAME ] ="";
GetPlayerName( playerid, PlayerName, sizeof( PlayerName ) );
for( new i = 0; i < WhitelistePseudo; i++ )
{
        if(strcmp(PlayerName, WhitelistePseudo[ i ], true)) // Si le PSEUDO du joueur n'apparais pas dans la liste.
        {
                format(String,sizeof(String), "[LWLS] Vous n'etes pas sur la liste des joueurs autorisé a jouer ici %s.",PlayerName); // On crée la chaine pour lui envoyé un message lui expliquant pourquoi il n'as pas acces au seveur.
SendClientMessage(playerid, ORANGE, String); // On envoie le message au joueur concerné.
                Kick(playerid); // On le kick du serveur.
        }
}

et pour le tableau qui stock les pseudo tu dois utiliser un tableau bi-dimensionnel.
Good luck pour la suite ;)

( J'ai pas look tout le code vu que je suis occupé mais j'ai au moins jeté un coup d’œil ^^ )
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: Xartrick le 22 Juillet 2011, 13:56:58
GetPlayerName retourne la longueur du pseudo.
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: Xolokos le 22 Juillet 2011, 15:00:51
Jolie FS vive Minecraft hein ?  :D
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: ApocKalipsS le 22 Juillet 2011, 15:29:14
Citer
• Il suffit d'ouvrir le .pwn, de configurer la variable #define Whiteliste_Type sur 1 pour une utilisation de la vérification de pseudo ou bien sur 0 pour une utilisation de la verification de l'adresse IP.

Pourquoi pas 2 : Vérification IP et Pseudo ?
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: Eloctro le 22 Juillet 2011, 15:35:36
ça ne servirait pas à grand chose vue que la majorité des joueurs on surement une ip dynamique .
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: Xartrick le 22 Juillet 2011, 19:08:43
Vérification de la plage d'IP dans ce cas.
Titre: Re : [FS] Lukubi's WhiteList System
Posté par: » Lukubi™ le 22 Juillet 2011, 19:59:18
@ Sasuke : Pourtant j'ai testé de me connecté sous lukubi sa passe, et sous Test sa passe aussi.
@ Xartrick : Le sql je desteste sa donc j'coderais jamais avec, pour ce qui est du système de fichier j'y ai pensé pour une prochaine version.
@ ApocKalipsS : Tout simplement parce que je voulais pas m'attarder sur le code, je l'ai fait en une petite demi heure durant la nuit. Peut-être pour une prochaine version.
@ Eloctro : Comme la dit Xartrick, verification de la plage. Exemple : " 127.0.*.* "