Aller au contenu
  • 0

Skript - Contournement de sanction (CDS)


Question

Posté(e)

Version de Minecraft : 1.9.x - 1.12.x (Native : 1.12.2)
Version de Skript : 2.5.3

Addons utilisés: ExtrasSK, MundoSK, Reqn, Skellett, Sketch, Skore, SkQuery (Lime), SkRayFall, Skript-Mirror, Skript-PlaceHolder, Skript-YAML, TuSKe, Vixio et WildSkript

Type du skript : Bloquer les contournements de sanctions

Description du script :

Bonjour / Bonsoir à tous et à toutes !

J'ai créer un système de sanction 100% Skript pour mon serveur et il fonctionne extrêmement bien, cependant, j'aimerais empêcher que mes joueurs puisses contourner leurs sanctions (En particulier dans le cas d'un bannissement.) en bannissant automatiquement le nouveau compte qu'ils auraient créer.

Voici le code qui permet de sanctionner :

 

Citation

function Sanction(Sender: player, Receiver: offline player, Time: text, Reason: text, Type: text):
	if {_Type} is "PERMBAN":
		send "{@Prefix} &7Application de la sanction ..." to {_Sender}
		wait 10 ticks
		set {PermanentBan.%{_Receiver}%::State} to "Banned"
		set {PermanentBan.%{_Receiver}%::When} to now
		set {PermanentBan.%{_Receiver}%::Reason} to {_Reason}
		set {PermanentBan.%{_Receiver}%::By} to {_Sender}
		kick {_Receiver} due to "&6&m--&r&e✦&6&m---&e&m------&f&m----------&e&m------&6&m----&r&e✦&6&m-- %nl%%nl% &5&lS&d&lo&5&ll&d&ly&5&lr&d&li&5&la %nl% &cVous avez été banni du serveur ! %nl%%nl% &8&m-------------------- %nl%%nl% &3Par &f» &6%{Ban.%{_Receiver}%::By}% %nl% &3Durée &f» &cDéfinitivement %nl% &3Raison &f» &c%{Ban.%{_Receiver}%::Reason}% %nl%%nl% &8&m-------------------- %nl%%nl% &3Discord &f» &bhttps://discord.gg/tNWUNCK %nl% &3Site &f» &bhttps://solyria.cf/ %nl%%nl% &6&m--&r&e✦&6&m---&e&m------&f&m----------&e&m------&6&m----&r&e✦&6&m--"
		send "{@Prefix} &7Sanction appliquée !" to {_Sender}
	if {_Type} is "BAN":
		send "{@Prefix} &7Application de la sanction ..." to {_Sender}
		wait 10 ticks
		set {Ban.%{_Receiver}%::State} to "Banned"
		set {Ban.%{_Receiver}%::Time} to {_Time} parsed as a timespan
		set {Ban.%{_Receiver}%::When} to now
		set {Ban.%{_Receiver}%::Reason} to {_Reason}
		set {Ban.%{_Receiver}%::By} to {_Sender}
		set {_BanTime} to {Ban.%{_Receiver}%::Time}
		replace all "day" with "jour" in {_BanTime}
		replace all "hour" with "heure" in {_BanTime}
		replace all "second" with "seconde" in {_BanTime}
		kick {_Receiver} due to "&6&m--&r&e✦&6&m---&e&m------&f&m----------&e&m------&6&m----&r&e✦&6&m-- %nl%%nl% &5&lS&d&lo&5&ll&d&ly&5&lr&d&li&5&la %nl% &cVous avez été banni du serveur ! %nl%%nl% &8&m-------------------- %nl%%nl% &3Par &f» &6%{Ban.%{_Receiver}%::By}% %nl% &3Durée &f» &c%{_BanTime}% %nl% &3Raison &f» &c%{Ban.%{_Receiver}%::Reason}% %nl%%nl% &8&m-------------------- %nl%%nl% &3Discord &f» &bhttps://discord.gg/tNWUNCK %nl% &3Site &f» &bhttps://solyria.cf/ %nl%%nl% &6&m--&r&e✦&6&m---&e&m------&f&m----------&e&m------&6&m----&r&e✦&6&m--"
		send "{@Prefix} &7Sanction appliquée !" to {_Sender}
		loop all players:
			if {Rank::%loop-player%} is "Administrateur" or "Responsable":
				if {Rank::%{_Sender}%} is not "Administrateur" or "Responsable":
					send " " to loop-player
					send " &7Une sanction vient d'être effectuée par &3%{_Sender}% &7!" to loop-player
					send " &7Joueur sanctionné &8: &c%{_Receiver}%" to loop-player
					send " &7Raison &8: &c%{_Reason}%" to loop-player
					send " &7Durée &8: &c%{_Time}%" to loop-player
					send " " to loop-player
		loop {Accounts.%{_IP}%::*}:
			if loop-value is not {_Receiver}:
				set {Ban.%loop-value%::State} to "Banned"
				set {Ban.%loop-value%::Time} to {_Time} parsed as a timespan
				set {Ban.%loop-value%::When} to now
				set {Ban.%loop-value%::Reason} to {_Reason}
				set {_BanTime} to {Ban.%loop-value%::Time}
				replace all "day" with "jour" in {_BanTime}
				replace all "hour" with "heure" in {_BanTime}
				replace all "second" with "seconde" in {_BanTime}
				kick loop-value due to "&6&m--&r&e✦&6&m---&e&m------&f&m----------&e&m------&6&m----&r&e✦&6&m-- %nl%%nl% &5&lS&d&lo&5&ll&d&ly&5&lr&d&li&5&la %nl% &cVous avez été banni du serveur ! %nl%%nl% &8&m-------------------- %nl%%nl% &3Par &f» &6%{Ban.%loop-value%::By}% %nl% &3Durée &f» &c%{_BanTime}% %nl% &3Raison &f» &c%{Ban.%loop-value%::Reason}% %nl%%nl% &8&m-------------------- %nl%%nl% &3Discord &f» &bhttps://discord.gg/tNWUNCK %nl% &3Site &f» &bhttps://solyria.cf/ %nl%%nl% &6&m--&r&e✦&6&m---&e&m------&f&m----------&e&m------&6&m----&r&e✦&6&m--"
	if {_Type} is "MUTE":
		send "{@Prefix} &7Application de la sanction ..." to {_Sender}
		wait 10 ticks
		set {Mute.%{_Receiver}%::State} to "Muted"
		set {Mute.%{_Receiver}%::Time} to {_Time} parsed as a timespan
		set {Mute.%{_Receiver}%::When} to now
		set {Mute.%{_Receiver}%::Reason} to {_Reason}
		set {Mute.%{_Receiver}%::By} to {_Sender}
		send " " to {_Receiver}
		send " &cVous avez été réduit au silence !" to {_Receiver}
		send " &4Infraction &8: &c%{Mute.%{_Receiver}%::Reason}%" to {_Receiver}
		send " " to {_Receiver}
		send "{@Prefix} &7Sanction appliquée !" to {_Sender}
		loop all players:
			if {Rank::%loop-player%} is "Administrateur" or "Responsable":
				if {Rank::%{_Sender}%} is not "Administrateur" or "Responsable":
					send " " to loop-player
					send " &7Une sanction vient d'être effectuée par &3%{_Sender}% &7!" to loop-player
					send " &7Joueur sanctionné &8: &c%{_Receiver}%" to loop-player
					send " &7Raison &8: &c%{_Reason}%" to loop-player
					send " &7Durée &8: &c%{_Time}%" to loop-player
					send " " to loop-player
		loop {Accounts.%{_IP}%::*}:
			if loop-value is not {_Receiver}:
				set {Mute.%loop-value%::State} to "Muted"
				set {Mute.%loop-value%::Time} to {_Time} parsed as a timespan
				set {Mute.%loop-value%::When} to now
				set {Mute.%loop-value%::Reason} to {_Reason}
				set {Mute.%loop-value%::By} to {_Sender}
				send " " to loop-value
				send " &cVous avez été réduit au silence !" to loop-value
				send " &4Infraction &8: &c%{Mute.%loop-value%::Reason}%" to loop-value
				send " " to loop-value

 

Voici le code dès qu'on est banni :
 

Citation

on join:
	set join message to ""
	if {Accounts.%player's ip%::*} doesn't contain player:
		add player to {Accounts.%player's ip%::*}

	if {PermanentBan.%player%::State} is set:
		kick player due to "&6&m--&r&e✦&6&m---&e&m------&f&m----------&e&m------&6&m----&r&e✦&6&m-- %nl%%nl% &5&lS&d&lo&5&ll&d&ly&5&lr&d&li&5&la %nl% &cVous avez été banni du serveur ! %nl%%nl% &8&m-------------------- %nl%%nl% &3Par &f» &6%{Ban.%player%::By}% %nl% &3Durée &f» &cDéfinitivement %nl% &3Raison &f» &c%{Ban.%player%::Reason}% %nl%%nl% &8&m-------------------- %nl%%nl% &3Discord &f» &bhttps://discord.gg/tNWUNCK %nl% &3Site &f» &bhttps://solyria.cf/ %nl%%nl% &6&m--&r&e✦&6&m---&e&m------&f&m----------&e&m------&6&m----&r&e✦&6&m--"
		stop

	if {Ban.%player%::State} is set:
		if difference between {Ban.%player%::When} and now is less than {Ban.%player%::Time}:
			set {_BanTime} to "%{Ban.%player%::Time}%"
			replace all "day" with "jour" in {_BanTime}
			replace all "hour" with "heure" in {_BanTime}
			replace all "second" with "seconde" in {_BanTime}
			kick player due to "&6&m--&r&e✦&6&m---&e&m------&f&m----------&e&m------&6&m----&r&e✦&6&m-- %nl%%nl% &5&lS&d&lo&5&ll&d&ly&5&lr&d&li&5&la %nl% &cVous avez été banni du serveur ! %nl%%nl% &8&m-------------------- %nl%%nl% &3Par &f» &6%{Ban.%player%::By}% %nl% &3Durée &f» &c%{_BanTime}% %nl% &3Raison &f» &c%{Ban.%player%::Reason}% %nl%%nl% &8&m-------------------- %nl%%nl% &3Discord &f» &bhttps://discord.gg/tNWUNCK %nl% &3Site &f» &bhttps://solyria.cf/ %nl%%nl% &6&m--&r&e✦&6&m---&e&m------&f&m----------&e&m------&6&m----&r&e✦&6&m--"
			stop
		else:
			delete {Ban.%player%::*}

 

 

Comme vous pouvez le constater, il y a déjà une variable qui enregistre les comptes de chaque joueur sur son adresse IP, cependant, comme les VPN ne sont pas bloquer (Si vous avez la solution pour cela aussi, ce serait génial.), il peuvent contourner même après un bannissement IP.

Variable : {Accounts.%player's ip%::*}

Merci grandement à ceux qui arriveront à m'aider,

Bonne journée / soirée à tous et à toutes !

 

Cordialement,

Shykuzo.

2 réponses à cette question

Messages recommandés

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.