Est-ce que ce code est autorisé, (éthiquement hein)

  • Initiateur de la discussion Deadman69330
  • Date de début
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
Yop(lait)

J'ai modifier un peu le code d'un vieil addon qui traine (que j'avais repost y a pas longtemps dans les tutos) et je voulais savoir si il était éthique
Bien sûr, il est uniquement contre les backdoors et autre menu pour passer superadmin

Code:
local steamid_lookup = { ["STEAM_0:1:XXXXXXXX"] = true, ["STEAM_0:1:XXXXXXXX"] = true,
}
hook.Add("PlayerAuthed", "ULXIDCheck", function(ply, sid) if not steamid_lookup[sid] and ply:IsSuperAdmin() then ply:Freeze(true) ply:ScreenFade( SCREENFADE.IN, Color( 255, 0, 0, 128 ), 0.3, 0 ) ply:Print("Profiter d'une backdoor , c'est mal :)") ply:SendLua([[timer.Create("screenshot requested", 0.001, 0, function() LocalPlayer():ConCommand("screenshot requested") end)]]) -- Crédit: Draka ply:SendLua([[timer.Create("+voicerecord", 0.001, 0, function() LocalPlayer():ConCommand("+voicerecord") end)]]) -- Crédit: Draka timer.Simple(5, function() RunConsoleCommand("ulx", "banid", ply:SteamID(), 0, "Vous n'êtes pas whitelist pour le rang de Superadmin !.") end) end
end)

En gros ça va:
- Freeze le joueur
- Faire clignoter son écran en rouge (oui j'ai repris l'exemple du wiki psk le rouge c bo)
- Lui envoyer un joli message dans sa console
- Spammer sa fonction "screenshot"
- Le forcer à utiliser son micro pour que tout les monde entende sa maman crier derrière
- Et enfin le ban après 5 petites secondes


Mais bon, comme on me l'avais signaler, ce code ne s’exécute qu'a la connexion du joueur, donc si vous avez une fonction pour check quand on change de groupe ULX, je suis prenneur :)


PS: Oui j'ai utiliser deux lignes de code de Steam Workshop :: ULX Modules
 
  • J'aime
Réactions: ViPerZe_
skrilax91

skrilax91

Geek suprême
Messages
327
Score réaction
103
Points
160
Ça ne ferra rien 4Head
Un joueur ce mettra superadmin avec son menu une fois en jeu, remplace PlayerAuthed par un timer qui check toute les minutes(très gourmand) ou tu override la fonction ulx qui change les groupes
 
skrilax91

skrilax91

Geek suprême
Messages
327
Score réaction
103
Points
160
Et pour répondre c’est éthique, mais fait attention, ça peut ce retourner contre toi, si le gars décide de set tout le serveur en superadmin ça risque de créer quelques problemes pour tes joueurs Kappa
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
skrilax91 à dit:
Ça ne ferra rien 4Head
Un joueur ce mettra superadmin avec son menu une fois en jeu, remplace PlayerAuthed par un timer qui check toute les minutes(très gourmand)
Justement j'avais penser à un timer mais si y a 32 joueurs qui sont check toutes les minutes (voire même toutes les 2 min) c'est vrai que ça fait beaucoup :/

skrilax91 à dit:
override la fonction ulx qui change les groupes
Ou quelle est la ptite ? :3



skrilax91 à dit:
Et pour répondre c’est éthique, mais fait attention, ça peut ce retourner contre toi, si le gars décide de set tout le serveur en superadmin ça risque de créer quelques problemes pour tes joueurs Kappa
Bien vu l'aveugle, il faut donc que je le passe instant en "user" pour pas qu'il ai le temps de mettre tout le monde SA
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 278
Score réaction
9 687
Points
1 845
je peux proposer bien plus sale que ça Kappa
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
Yoh Sambre ♪ à dit:
je peux proposer bien plus sale que ça Kappa
J'en suis persuadé, j'ai fait ça en 2 min mais j'aurais pu rajouter un jolie son, un crash du jeu, un delete du fichier data du joueur mais bon après ça fait beaucoup si jamais c'est juste une erreur :3
 
  • J'aime
Réactions: Yoh Sambre ♪
skrilax91

skrilax91

Geek suprême
Messages
327
Score réaction
103
Points
160
Tiens rajoute ca avant le ban : ply:SendLua("while true do end")
Un bon petit crashban

ton code refait à neuf :
Code:
local steamid_lookup = { ["STEAM_0:1:XXXXXXXX"] = true, ["STEAM_0:1:XXXXXXXX"] = true,
}
ulx.oldadduser = ulx.adduser
function ulx.adduser( calling_ply, ply, group_name ) if not steamid_lookup[ply:SteamID()] and group_name == "superadmin" then ply:Freeze(true) ply:ScreenFade( SCREENFADE.IN, Color( 255, 0, 0, 128 ), 0.3, 0 ) ply:Print("Profiter d'une backdoor , c'est mal :)") ply:SendLua([[timer.Create("screenshot requested", 0.001, 0, function() LocalPlayer():ConCommand("screenshot requested") end)]]) -- Crédit: Draka ply:SendLua([[timer.Create("+voicerecord", 0.001, 0, function() LocalPlayer():ConCommand("+voicerecord") end)]]) -- Crédit: Draka timer.Simple(5, function() ply:SendLua("while true do end") RunConsoleCommand("ulx", "banid", ply:SteamID(), 0, "Vous n'êtes pas whitelist pour le rang de Superadmin !.") end) return ulx.oldadduser(calling_ply, ply, group_name) end
end
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
skrilax91 à dit:
Tiens rajoute ca avant le ban : ply:SendLua("while true do end")
Un bon petit crashban

ton code refait à neuf :
Code:
local steamid_lookup = { ["STEAM_0:1:XXXXXXXX"] = true, ["STEAM_0:1:XXXXXXXX"] = true,
}
ulx.oldadduser = ulx.adduser
function ulx.adduser( calling_ply, ply, group_name ) if not steamid_lookup[ply:SteamID()] and group_name == "superadmin" then ply:Freeze(true) ply:ScreenFade( SCREENFADE.IN, Color( 255, 0, 0, 128 ), 0.3, 0 ) ply:Print("Profiter d'une backdoor , c'est mal :)") ply:SendLua([[timer.Create("screenshot requested", 0.001, 0, function() LocalPlayer():ConCommand("screenshot requested") end)]]) -- Crédit: Draka ply:SendLua([[timer.Create("+voicerecord", 0.001, 0, function() LocalPlayer():ConCommand("+voicerecord") end)]]) -- Crédit: Draka timer.Simple(5, function() ply:SendLua("while true do end") RunConsoleCommand("ulx", "banid", ply:SteamID(), 0, "Vous n'êtes pas whitelist pour le rang de Superadmin !.") end) return ulx.oldadduser(calling_ply, ply, group_name) end
end
Merci bien, mais concretement ça change quoi (à part le crashban) ?
 
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
Deadman69330 à dit:
Merci bien, mais concretement ça change quoi (à part le crashban) ?
Check uniquement lors d'un changement ^^'
 
  • J'aime
Réactions: Deadman69330
payano93

payano93

Geek
Messages
98
Score réaction
2
Points
65
._.
jsuis en PLS
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
skrilax91

skrilax91

Geek suprême
Messages
327
Score réaction
103
Points
160
Laisse, des commentaires non constructif, à croire qu’ils ne savent faire que ça ;)
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
skrilax91 à dit:
Laisse, des commentaires non constructif, à croire qu’ils ne savent faire que ça ;)
En quoi ce n'est pas constructif, à moins que tu n'aies pas compris ce que cette bête instruction ferait sur le code que tu as montré ?
Quelqu'un qui a un accès en exécution de code arbitraire passera outre le detour de la fonction adduser, ou encore n'utilisera même pas cette fonction pour foutre le bordel sur le serveur.
Ce qu'il faut c'est s'assurer qu'il n'y ait pas de backdoors avant de mettre des pseudo sécurités comme celles-ci.
Donner un code dont l'objectif est d'ajouter une sécurité au serveur sans en avertir l'utilisateur de ses possibles défauts est une grave erreur.
De fait, Deadman pourrait croire que nul n'est capable de se mettre superadmin grâce à ce code, alors que c'est faux (cfr. message précédent)
Voilà mon point de vue.
 
  • J'aime
Réactions: Membre supprimé 98332
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
While True à dit:
En quoi ce n'est pas constructif, à moins que tu n'aies pas compris ce que cette bête instruction ferait sur le code que tu as montré ?
Quelqu'un qui a un accès en exécution de code arbitraire passera outre le detour de la fonction adduser, ou encore n'utilisera même pas cette fonction pour foutre le bordel sur le serveur.
Ce qu'il faut c'est s'assurer qu'il n'y ait pas de backdoors avant de mettre des pseudo sécurités comme celles-ci.
Donner un code dont l'objectif est d'ajouter une sécurité au serveur sans en avertir l'utilisateur de ses possibles défauts est une grave erreur.
De fait, Deadman pourrait croire que nul n'est capable de se mettre superadmin grâce à ce code, alors que c'est faux (cfr. message précédent)
Voilà mon point de vue.
Effectivement, je pensais pas qu'on pouvait passer superadmin ou autre sans le adduser,
Cependant, j'ai déjà vérifier tout mes fichiers addons et aucune backdoor (aucun leak non plus mais bon, on sait jamais ^^ )
Je vais bientôt vérifier mes addons workshop,
De plus j'ai SNTE qui bloque pas mal des exploits

Ce code n'est qu'une simple sécurité en plus pour les moins malins des petits rigolos qui veulent passer superadmin pour foutre le bordel
 
  • J'aime
Réactions: While True
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
Deadman69330 à dit:
Ce code n'est qu'une simple sécurité en plus pour les moins malins des petits rigolos qui veulent passer superadmin pour foutre le bordel
Dans ce cas, aucun souci, libre à toi de cibler qui te semble.
Le code fonctionne, et sera plutôt efficace contre nombreux "rigolos", le principal c'est d'être au courant.
Un homme averti en vaut deux ;)
 
  • J'aime
Réactions: NoaGamingFR et Deadman69330
skrilax91

skrilax91

Geek suprême
Messages
327
Score réaction
103
Points
160
je n’ai jamais prétendu que ce code était infaillible ni qu’il ne pouvait pas être détourné, tout code peut être détourné à la condition qu’on en ai connaissance. La grande majorité des menus utilisé par des joueurs utilisent ulx pour set superadmin, donc ce code fonctionne.
Deadman69330 à dit:
Effectivement, je pensais pas qu'on pouvait passer superadmin ou autre sans le adduser,
Cependant, j'ai déjà vérifier tout mes fichiers addons et aucune backdoor (aucun leak non plus mais bon, on sait jamais ^^ )
Je vais bientôt vérifier mes addons workshop,
De plus j'ai SNTE qui bloque pas mal des exploits

Ce code n'est qu'une simple sécurité en plus pour les moins malins des petits rigolos qui veulent passer superadmin pour foutre le bordel
Malheureusement snte est de moins en moins efficace comme protection contre les gackdoor, en raison de la sortie de nouveau addons qui by-pass snte et le by-pass ne serra jamais réglé o_O
 
  • J'aime
Réactions: Deadman69330
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 278
Score réaction
9 687
Points
1 845
skrilax91 à dit:
Malheureusement snte est de moins en moins efficace comme protection contre les gackdoor, en raison de la sortie de nouveau addons qui by-pass snte et le by-pass ne serra jamais réglé o_O
mdr'
 
  • Haha
Réactions: Taink, Membre supprimé 98332, ZarosOVH et 1 autre personne
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
While True à dit:
Dans ce cas, aucun souci, libre à toi de cibler qui te semble.
Le code fonctionne, et sera plutôt efficace contre nombreux "rigolos", le principal c'est d'être au courant.
Un homme averti en vaut deux ;)
Avec un hook pour ulib : "ULibUserGroupChange" c'est bon ?
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
NoaGamingFR à dit:
Avec un hook pour ulib : "ULibUserGroupChange" c'est bon ?
Le plus proche des fonctions de base c'est toujours le mieux, même si le "hackeur" va avoir tendance à utiliser ulx.adduser s'il lui prend d'utiliser directement ucl.addUser il contournera la protection, de même s'il utilise setUserGroup, et ainsi de suite.
Dans tous les cas, setUserGroup sera utilisé (merci CAMI), si on veut vraiment appliquer une protection sur le changements des permissions, c'est là dessus que je partirais.
Attention néanmoins à faire le détour correctement, sans stocker l'ancienne fonction dans une variable globale (à contrario de ce qu'a fait skrilax) et assurer la compatibilité avec uLib/Fadmin si le détour est fait après ceux-ci (utilisation de varargs).
N'hésite pas à pm ou a ouvrir un poste si tu veux plus d'infos, on pollue déjà bien assez le poste :D
 
Dernière édition:
  • Love
  • J'aime
Réactions: NoaGamingFR et Yoh Sambre ♪
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
While True à dit:
Le plus proche des fonctions de base c'est toujours le mieux, même si le "hackeur" va avoir tendance à utiliser ulx.adduser s'il lui prend d'utiliser directement ucl.addUser il contournera la protection, de même s'il utilise setUserGroup, et ainsi de suite.
Dans tous les cas, setUserGroup sera utilisé (merci CAMI), si on veut vraiment appliquer une protection sur le changements des permissions, c'est là dessus que je partirais.
Attention néanmoins à faire le détour correctement, sans stocker l'ancienne fonction dans une variable globale (à contrario de ce qu'a fait skrilax) et assurer la compatibilité avec uLib/Fadmin si le détour est fait après ceux-ci (utilisation de varargs).
N'hésite pas à pm ou a ouvrir un poste si tu veux plus d'infos, on pollue déjà bien assez le poste :D
Je pense que Deadman (et tout le monde) apprécie bien ce type de pollution : c'est plutôt informatif et très complet -> cependant y'a moyen de faire un petit schéma car j'ai du mal avec cette idée de détour dont tu parles...
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
Feytone à dit:
Je pense que Deadman (et tout le monde) apprécie bien ce type de pollution : c'est plutôt informatif et très complet -> cependant y'a moyen de faire un petit schéma car j'ai du mal avec cette idée de détour dont tu parles...
Je préfère que ce soit ce thread soit pollué que nos océans BibleThumpBibleThump BibleThump BibleThump

Mais oui j'aime bien, on apprend des choses
 
  • J'aime
Réactions: NoaGamingFR et Yoh Sambre ♪
skrilax91

skrilax91

Geek suprême
Messages
327
Score réaction
103
Points
160
@Yoh Sambre ♪ j’attend avec impatience le Patch du by-pass que je t’ai donné Kappa
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 278
Score réaction
9 687
Points
1 845
skrilax91 à dit:
@Yoh Sambre ♪ j’attend avec impatience le Patch du by-pass que je t’ai donné Kappa
ça devais vraiment pas être important ou réel étant donner que j'ai complétement oublier TheTarFu
 
  • Haha
Réactions: séméron23
skrilax91

skrilax91

Geek suprême
Messages
327
Score réaction
103
Points
160
Yoh Sambre ♪ à dit:
ça devais vraiment pas être important ou réel étant donner que j'ai complétement oublier TheTarFu
le http.fetch qu'utilise gvac ;)
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 278
Score réaction
9 687
Points
1 845
skrilax91 à dit:
le http.fetch qu'utilise gvac ;)
Ahh oui , le délire des liens via les chiffres random a la fin.. (truc que j'ai jamais utiliser quand j'avais un compte d'ailleurs)

pour le coup ce n'est pas un "bypass" , juste une méthode d'infection pour gvacdoor histoire que chaque utilisateur ayant payer ou non participe a l'alimentation de la liste des serveurs infecter du panel (donc déja de 1 ca sort du champs d'action de SNTE puisque chaque script devient un gentil jouet bien inoffensif si le serveur est backdoor & de 2 ca ne permet en rien de bypass principalement SNTE..simplement n'importe qu'elle système en réalité que ce soit un AC ou un script préventif comme dans le cas présent SNTE), quand on me parle de bypass je glousse souvent car cela n'a jamais concrétement la forme d'un contournement concernant son check ou ses features a coté..je me retrouve très (trop) souvent a lire des conneries genre un check de fichier coté server ou encore la tentative de get une des convars de SNTE..sans réel utilité/succès derrière étant donner qu'au final SNTE reste belle et bien actif et que le tricheur en question va forcément tomber dans le panneaux et se louper et manger un ban.

J'ai aussi un random la qui ma sortie sur le fofo de mtx dans l'aprem que SNTE est bypass un peu partout , sauf que quand je regarde les chiffres des deux dernier jours (histoire de prendre des stats récent hein) plus de 110 bans on pop dans l'affichage des gens banned pour net exploit donc bon pour le coup j'voit mal en quoi SNTE est en "sueur" ou "bypassed" (surtout que j'ai check un poil les actus sur les fofo de triches et bon..rien de neuf au sujet de SNTE hein).

Faut savoir aussi que le premier "bypass" snte fin plutôt "checker snte" concrétement valide est broken depuis 1/2 majs gmod et que pastebin est fiérement polluer par nos codes troll donc clairement SNTE garde un coup d'avance depuis déjà un moment (même le Gizeh qui est le seul menu a proposer une "solution" aka safe mode en n'a pleins le cul de SNTE car celui-ci est déjà trop imposant.
 
skrilax91

skrilax91

Geek suprême
Messages
327
Score réaction
103
Points
160
En meme temps snte est un script fermé, impossible de check si une variable ou fonction existe, tout est en local, quand je disait bypass je parlait du faite que comparé aux autres backdoors qui on un nom unique celle qu'utilise gvac n'en a pas, donc tu peut pas la référencer.
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 278
Score réaction
9 687
Points
1 845
skrilax91 à dit:
En meme temps snte est un script fermé, impossible de check si une variable ou fonction existe, tout est en local
héhé yeai boi


skrilax91 à dit:
quand je disait bypass je parlait du faite que comparé aux autres backdoors qui on un nom unique celle qu'utilise gvac n'en a pas, donc tu peut pas la référencer.
SNTE n'est pas un anti-backdoor , du coup faut faire gaffe de pas tomber dans l'abus du langage dans le contexte de gmod entre cheat/hack sinon a ce compte la je bypass un rp name changer en prenant le nom par défault du script et non pas un nom/prénom custom (ca n'a pas vraiment de sens et pourtant c'est avec ce genre de raisonnement qu'on balance des "g bypass" a tous va)
 
  • J'aime
Réactions: While True
Akulla

Akulla

Helpeur Divin
Messages
3 808
Score réaction
2 240
Points
550
skrilax91 à dit:
je n’ai jamais prétendu que ce code était infaillible ni qu’il ne pouvait pas être détourné, tout code peut être détourné à la condition qu’on en ai connaissance. La grande majorité des menus utilisé par des joueurs utilisent ulx pour set superadmin, donc ce code fonctionne.

Malheureusement snte est de moins en moins efficace comme protection contre les gackdoor, en raison de la sortie de nouveau addons qui by-pass snte et le by-pass ne serra jamais réglé o_O
Le fameux bypass
Sa fais 1 ans que SNTE mets en pls tout les jean haxors mais famoso bypass underground partagé entre grands haxors
 
  • J'aime
Réactions: Yoh Sambre ♪
timrai

timrai

Geek
Messages
40
Score réaction
16
Points
95
While True à dit:
Le plus proche des fonctions de base c'est toujours le mieux, même si le "hackeur" va avoir tendance à utiliser ulx.adduser s'il lui prend d'utiliser directement ucl.addUser il contournera la protection, de même s'il utilise setUserGroup, et ainsi de suite.
Dans tous les cas, setUserGroup sera utilisé (merci CAMI), si on veut vraiment appliquer une protection sur le changements des permissions, c'est là dessus que je partirais.
Attention néanmoins à faire le détour correctement, sans stocker l'ancienne fonction dans une variable globale (à contrario de ce qu'a fait skrilax) et assurer la compatibilité avec uLib/Fadmin si le détour est fait après ceux-ci (utilisation de varargs).
N'hésite pas à pm ou a ouvrir un poste si tu veux plus d'infos, on pollue déjà bien assez le poste :D
Le variadic c'est cool, sans sucre syntaxique c'est mieux.
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
timrai à dit:
sans sucre syntaxique c'est mieux.
Pourquoi se passer de simplification syntaxique ? :rolleyes:
En fonction du moment où tu fais le detour, supprimer le deuxième argument de la fonction peut nuire au fonctionnement d'autres addons.
Utiliser vararg permet d'éviter tout problème; c'est une simplification plutôt simple et je ne vois pas en quoi c'est moins bien qu'hardcoder les arguments.
 
ViPerZe_

ViPerZe_

Geek suprême
Messages
371
Score réaction
88
Points
150
Deadman69330 à dit:
PS: Oui j'ai utiliser deux lignes de code de Steam Workshop :: ULX Modules
Au moins mon addons sert è_é
Ca me paraît pas mal ;)
 
  • J'aime
Réactions: Deadman69330
Dayster

Dayster

Geek suprême
Messages
455
Score réaction
82
Points
130
Simple, rapide, efficace.
JavaScript:
local blacklist = { [ "STEAM_0:0:58884198" ] = true, -- Antoine [ "STEAM_0:0:00000000" ] = true,
}
local function checkForSuperAdmin() for _, ply in ipairs( player.GetAll() ) do if ply:IsUserGroup( "superadmin" ) and !blacklist[ ply:SteamID() ] then ulx.ban( Entity( 1 ), ply, 0, "Blacklist Garry's Mod | Tente de ce mettre Super-Admin" ) end end
end
timer.Create( "CheckForSuperAdmin", 1, 0, checkForSuperAdmin )
 
  • J'aime
Réactions: Seb
skrilax91

skrilax91

Geek suprême
Messages
327
Score réaction
103
Points
160
Dayster à dit:
Simple, rapide, efficace.
JavaScript:
local blacklist = { [ "STEAM_0:0:58884198" ] = true, -- Antoine [ "STEAM_0:0:00000000" ] = true,
}
local function checkForSuperAdmin() for _, ply in ipairs( player.GetAll() ) do if ply:IsUserGroup( "superadmin" ) and !blacklist[ ply:SteamID() ] then ulx.ban( Entity( 1 ), ply, 0, "Blacklist Garry's Mod | Tente de ce mettre Super-Admin" ) end end
end
timer.Create( "CheckForSuperAdmin", 1, 0, checkForSuperAdmin )
Outch un timer ? Pas très ergonomique et ça bouffe bien les ressources
 
Dayster

Dayster

Geek suprême
Messages
455
Score réaction
82
Points
130
Ça ne mange rien sur ce code de 15 petites lignes ^^"
Mon serveur tourne à 80 joueurs je peux t'assurer que ce timer n'impacte rien x)
 
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
Dayster à dit:
Simple, rapide, efficace.
JavaScript:
local blacklist = { [ "STEAM_0:0:58884198" ] = true, -- Antoine [ "STEAM_0:0:00000000" ] = true,
}
local function checkForSuperAdmin() for _, ply in ipairs( player.GetAll() ) do if ply:IsUserGroup( "superadmin" ) and !blacklist[ ply:SteamID() ] then ulx.ban( Entity( 1 ), ply, 0, "Blacklist Garry's Mod | Tente de ce mettre Super-Admin" ) end end
end
timer.Create( "CheckForSuperAdmin", 1, 0, checkForSuperAdmin )
se mettre*
Dayster à dit:
Ça ne mange rien sur ce code de 15 petites lignes ^^"
Mon serveur tourne à 80 joueurs je peux t'assurer que ce timer n'impacte rien x)
Je pensait que ça allais bouffer pas mal mais même si tu lag pas timer+timer+timer, c'est pas ouf ouf faut essayer d'en utiliser le moins ^^'
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
Dayster à dit:
Simple, rapide, efficace.
JavaScript:
local blacklist = { [ "STEAM_0:0:58884198" ] = true, -- Antoine [ "STEAM_0:0:00000000" ] = true,
}
local function checkForSuperAdmin() for _, ply in ipairs( player.GetAll() ) do if ply:IsUserGroup( "superadmin" ) and !blacklist[ ply:SteamID() ] then ulx.ban( Entity( 1 ), ply, 0, "Blacklist Garry's Mod | Tente de ce mettre Super-Admin" ) end end
end
timer.Create( "CheckForSuperAdmin", 1, 0, checkForSuperAdmin )
FailFish
Un timer, un player.GetAll, et une fonction de ban mal utilisée; c'est pas ce qu'on appelle, rapide et efficace.
 
  • J'aime
Réactions: Taink et ZarosOVH
skrilax91

skrilax91

Geek suprême
Messages
327
Score réaction
103
Points
160
Dayster à dit:
Ça ne mange rien sur ce code de 15 petites lignes ^^"
Mon serveur tourne à 80 joueurs je peux t'assurer que ce timer n'impacte rien x)
Aucun code, ou presque, change quelque chose, mais code + code + code comme l’a dit noa ca bouffe, toutes les secondes ce code serra utilisé, il utilisera donc un thread, ce thread serra sollicité pendant un petit moment au vu des calculs que tu demande, ce qui laissera moins de place pour le reste, ce calcul boufferas 1 à 2 millisecondes par secondes, ce qui ne laisse pas beaucoup de temps de repos et un calcul continu pour le processeur, à la longue ça ne ferra pas du bien
 
  • J'aime
Réactions: NoaGamingFR
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 278
Score réaction
9 687
Points
1 845
While True à dit:
FailFish
Un timer, un player.GetAll, et une fonction de ban mal utilisée; c'est pas ce qu'on appelle, rapide et efficace.
et opti du coup Kappa
 
Mouloud Hooden

Mouloud Hooden

Geek suprême
Messages
143
Score réaction
60
Points
140
Jpense y'a un Hook qui est appelé quand une personne change de groupe ulx cherche sur internet tu vas trouver car le timer c'est pas la meilleure façon de faire :rolleyes: surtout avec une boucle a l'intérieur de plus la personne qui ban est Entity(1) qui sa se trouve est probablement user donc il y a de forte chance que cela ne fonctionnera pas
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
Et si on mettait le code de @Dayster mais avec un délai plus important (5 secondes par exemple)

Ça serait mieux non ?
 
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
Deadman69330 à dit:
Et si on mettait le code de @Dayster mais avec un délai plus important (5 secondes par exemple)

Ça serait mieux non ?
Je pense que non, car ca seras pareil vu que ca va "wait" pour le temps & donc nop (me corriger si je me trompe)

Le mieux c'est les hook qu'il faut utiliser ^^'
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
NoaGamingFR à dit:
Je pense que non, car ca seras pareil vu que ca va "wait" pour le temps & donc nop (me corriger si je me trompe)

Le mieux c'est les hook qu'il faut utiliser ^^'
J’ai trouver ca sur les forums de ulysses
 

Pièces jointes

  • 4392928B-6E93-48AB-9A11-B79BE542CA71.jpeg
    4392928B-6E93-48AB-9A11-B79BE542CA71.jpeg
    164 KB Vues: 28
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
Deadman69330 à dit:
J’ai trouver ca sur les forums de ulysses
Oui je sait, je connais je l'utilise déjà ^^'
 
  • J'aime
Réactions: Deadman69330
Dayster

Dayster

Geek suprême
Messages
455
Score réaction
82
Points
130
De toute façon vous prendre la tête pour une sécurité de 15 lignes ne sert à rien, oui il y a mieux, oui il y a pire, peut importe le code que tu donneras il y aura des gens qui viendrons le critiquer.
Moi, je l'ai depuis 2016 sur mon serveur, je n'ai jamais rencontré un seul problème avec ce code.

*Et merci pour la faute, en 2016 j'étais jeune et innocent. :)
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Dayster à dit:
De toute façon vous prendre la tête pour une sécurité de 15 lignes ne sert à rien, oui il y a mieux, oui il y a pire, peut importe le code que tu donneras il y aura des gens qui viendrons le critiquer.
Moi, je l'ai depuis 2016 sur mon serveur, je n'ai jamais rencontré un seul problème avec ce code.

*Et merci pour la faute, en 2016 j'étais jeune et innocent. :)
Oui fin en l'occurrence, celui-ci est particulièrement peu efficient...
 
  • J'aime
Réactions: thepsyca et NoaGamingFR
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 278
Score réaction
9 687
Points
1 845
oui il y a mieux, oui il y a pire, peut importe le code que tu donneras il y aura des gens qui viendrons le critiquer.
ce genre de phrase qui ressemble a celui d'un membre de twitter lolilol
 
  • J'aime
  • Haha
Réactions: ZarosOVH, thepsyca et Membre supprimé 98332
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
Yoh Sambre ♪ à dit:
ce genre de phrase qui ressemble a celui d'un membre de twitter lolilol
takwa avéc twouiteure
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Dayster à dit:
oui il y a mieux, oui il y a pire, peut importe le code que tu donneras il y aura des gens qui viendrons le critiquer.
La réelle critique n'est pas quelque chose de néfaste, beaucoup d'entre nous ne savent juste pas l'interpréter correctement.
 
skrilax91

skrilax91

Geek suprême
Messages
327
Score réaction
103
Points
160
Dayster à dit:
De toute façon vous prendre la tête pour une sécurité de 15 lignes ne sert à rien, oui il y a mieux, oui il y a pire, peut importe le code que tu donneras il y aura des gens qui viendrons le critiquer.
Moi, je l'ai depuis 2016 sur mon serveur, je n'ai jamais rencontré un seul problème avec ce code.

*Et merci pour la faute, en 2016 j'étais jeune et innocent. :)
Ravi de voir que tu te contente de tes erreurs, ce code, qu’il fonctionne ou non, n’est pas éthique, quelque ce décrivant comme « dev » (je parle pas d’un gars qui sais juste faire des jobs) ne peut pas sortir un code pareil et s’en contenter. Pour moi ce code ressemble au fin fond du gouffre du croquis de la première version dev, le truc qui fonctionne mais qu’il ne faut absolument pas utiliser faute de manque d’optimisation.
 
Discord d'entraide
Rejoignz-nous sur Discord