Jump to content

MTA:DayZ Anti Cheat


Recommended Posts

Bonjour,

J'ai publié hier la première version de mon anti-cheat pour MTA:DayZ. Celui-ci permet de détecter l'utilisation d'un cheat permettant de :

- Rendre son personnage invincible

- Empêcher l'écoulement correct de la faim et de la soif

C'est un code simple mais que aucun serveur sur MTA:DayZ ne dispose.. C'est maintenant plus le cas depuis hier. Vous pouvez télécharger la ressource en cliquant ici ou y contribuer sur GitHub en cliquant ici.

Rémi

Link to comment
  • Moderators

A part le fait que cet "anti-dépassement" soit vraiment basique, pourquoi avoir fait 3 timers qui vont faire un trigger toutes les secondes alors que faire un seul timer qui va appeler une fonction qui elle appellera tes 3 fonctions de check serait 10x (nombre pris au hasard) plus performant !

Trouves tu ça normal de générer 60 triggers par secondes si tu as 20 joueurs sur ton serveur ?! (3 triggers x 20 joueurs).

C'est déjà énorme alors imagine en comptant aussi ceux générer par le mod de base (que je ne connais pas, faudrait regarder le code ou utiliser le panel web de performance des ressources)

Alors qu'avec le système que je viens de t'exposer, le script va générer non pas 60 triggers par secondes mais 0 !

Tu ne te retrouveras plus qu'avec un script côté serveur.

J'y connais rien en cheat sur MTA mais si un joueur cheat ça vie pour être toujours à 12000 ou légèrement inférieur, ton checkHealth devient totalement inefficace contre ce joueur.

Link to comment
A part le fait que cet "anti-dépassement" soit vraiment basique, pourquoi avoir fait 3 timers qui vont faire un trigger toutes les secondes alors que faire un seul timer qui va appeler une fonction qui elle appellera tes 3 fonctions de check serait 10x (nombre pris au hasard) plus performant !

Trouves tu ça normal de générer 60 triggers par secondes si tu as 20 joueurs sur ton serveur ?! (3 triggers x 20 joueurs).

C'est déjà énorme alors imagine en comptant aussi ceux générer par le mod de base (que je ne connais pas, faudrait regarder le code ou utiliser le panel web de performance des ressources)

Alors qu'avec le système que je viens de t'exposer, le script va générer non pas 60 triggers par secondes mais 0 !

Tu ne te retrouveras plus qu'avec un script côté serveur.

J'y connais rien en cheat sur MTA mais si un joueur cheat ça vie pour être toujours à 12000 ou légèrement inférieur, ton checkHealth devient totalement inefficace contre ce joueur.

Effectivement de ce côté, il va falloir sérieusement revoir la chose.. Par contre pour la vie, il s'agit d'un système de vie propre à MTA:DayZ et le maximum de point de vie sur le mods est de 12000 donc dès qu'un joueur à un nombre supérieur ou égale à 12001 celui-ci ce fait kicker. Par contre, si le cheat du joueur permet d'ajouter 12000 en continue sans augmenter la valeur en effet l'anti-cheat est totalement inefficace mais il n'existe pas de cheat sur MTA:DayZ avec se comportement la plupart ajoute plus de 12000 points de vie.

Par contre, je suis totalement d'accord avec toi sur le fait que c'est vraiment très basique.. Mais pourtant aucun serveur ne prend la peine de faire un script pour vérifier ce genre d'informations et pourtant ça permet de réduire énormément le problème du cheat sur MTA:DayZ.

EDIT : Je viens de mettre à jour le script en conséquence : https://github.com/PicardRemi/mdayz-ant ... heat_c.lua

Rémi

Link to comment
  • Moderators
EDIT : Je viens de mettre à jour le script en conséquence : https://github.com/PicardRemi/mdayz-ant ... heat_c.lua

Toujours 60 triggers mais toutes les 5 secondes cette fois-ci (et toujours sur la base de 20 joueurs).

En terme de temps d'éxecution les triggers font partis des fonctions les plus gourmandes.

Si tu avais compris ma proposition d'amélioration comme il faut, tu aurais dû te retrouver avec ceci:

Pull request: https://github.com/PicardRemi/mdayz-anticheat/pull/1

Link to comment
EDIT : Je viens de mettre à jour le script en conséquence : https://github.com/PicardRemi/mdayz-ant ... heat_c.lua

Toujours 60 triggers mais toutes les 5 secondes cette fois-ci (et toujours sur la base de 20 joueurs).

En terme de temps d'éxecution les triggers font partis des fonctions les plus gourmandes.

Si tu avais compris ma proposition d'amélioration comme il faut, tu aurais dû te retrouver avec ceci:

Pull request: https://github.com/PicardRemi/mdayz-anticheat/pull/1

Ah d'accord.. Je comprend mieux maintenant. Ça me servira pour mes futurs scripts, merci à toi de l'aide et de la participation.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...