Wiki & documentation
Guide rapide pour installer, configurer et comprendre Lunamys Anti-Cheat sur ton serveur GMod.

Lunamys Anti-Cheat : Vue d’ensemble

Lunamys Anti-Cheat est un systĂšme d’anti-cheat Lua + API Node.js conçu pour les serveurs Garry’s Mod. Il collecte des dĂ©tections cĂŽtĂ© serveur/clients, les envoie Ă  une API, puis les affiche dans un panel web moderne.

L’architecture repose sur :

  • Une API Express sur https://anticheat.lunamys.fr.
  • Des modules Lua bhop / anti-aim / cvar cĂŽtĂ© GMod.
  • Un panel web pour visualiser les joueurs, dĂ©tections et statistiques.
Important : en dev, laisse l’auto-ban dĂ©sactivĂ© et teste les modules en mode “log seulement” pour Ă©viter les faux positifs.

Installation cÎté serveur GMod

1. Fichiers Ă  placer

Place les fichiers Lua Lunamys dans ton dossier lua/lunamys/ :

  • sv_lunamysac_bhop.lua
  • sv_lunamysac_antiaim.lua
  • sv_lunamysac_cvar.lua
  • sv_lunamysac_config.lua
  • sh_lunamysac_common.lua
  • cl_lunamysac_cvar.lua

2. Chargement automatique

Dans ton core serveur (par exemple lua/autorun/server/sv_core.lua), assure-toi d’inclure :

  • include("lunamys/modules/sv_lunamysac_config.lua")
  • include("lunamys/modules/sv_lunamysac_bhop.lua")
  • include("lunamys/modules/sv_lunamysac_antiaim.lua")
  • include("lunamys/modules/sv_lunamysac_cvar.lua")
  • AddCSLuaFile("lunamys/modules/cl_lunamysac_cvar.lua")

CÎté client, ajoute un include("lunamys/modules/cl_lunamysac_cvar.lua") dans un fichier autorun client.

Heartbeats & communication API

Lunamys utilise plusieurs appels rĂ©guliers entre GMod et l’API pour tenir le panel Ă  jour :

  • /api/status_heartbeat : indique que le serveur est en ligne.
  • /api/update_players : envoie la liste des joueurs connectĂ©s.
  • /api/actions/poll : rĂ©cupĂšre les kicks / bans en attente depuis le panel.

Les intervalles de ces heartbeats sont configurables dans ParamĂštres → FrĂ©quences & Heartbeats dans le panel.

Module Bhop Serveur

Le module bhop détecte les bunnyhops automatisés en surveillant la cadence des sauts et la vitesse horizontale du joueur.

ParamĂštres principaux

  • enabled : active/dĂ©sactive le module.
  • speedThreshold : vitesse minimale suspecte.
  • jumpInterval : temps max entre deux sauts consĂ©cutifs.
  • jumpCountMax : nombre de sauts rapides avant flag.
  • cooldown : temps avant de pouvoir re-flag le mĂȘme joueur.

Ces valeurs sont éditables dans le panel (onglet ParamÚtres), section Modules Lunamys.

Module Anti-Aim Serveur

Le module Anti-Aim surveille les EyeAngles pour dĂ©tecter des angles impossibles (pitch extrĂȘme) ou des changements de yaw trĂšs brutaux typiques des anti-aim / spinbots.

ParamĂštres principaux

  • enabled : active/dĂ©sactive l’anti-aim.
  • yawDelta : delta de yaw considĂ©rĂ© comme suspect.
  • pitchHigh : bornes hautes/basses du pitch autorisĂ©.
  • suspicionAdd : score ajoutĂ© par tick suspect.
  • suspicionDecay : score retirĂ© par tick normal.
  • suspicionThreshold : score Ă  partir duquel on dĂ©clenche une dĂ©tection.
  • cooldown : cooldown entre deux flags pour un mĂȘme joueur.

Module Anti-CVar Client + Serveur

Le module Anti-CVar vérifie réguliÚrement les valeurs de cvars sensibles cÎté client (comme sv_allowcslua ou mat_wireframe) et signale toute différence avec la valeur attendue cÎté serveur.

Principe

  • Le client lit les cvars via GetConVar.
  • Il envoie un rapport pĂ©riodique au serveur via un net message.
  • Le serveur compare avec EXPECTED_CVARS et crĂ©e une dĂ©tection cvar_tamper en cas de mismatch.

ParamĂštres principaux

  • enabled : active le module cĂŽtĂ© client.
  • reportInterval : secondes entre deux reports cvars.
Note : la liste des cvars surveillĂ©es est dĂ©finie dans cl_lunamysac_cvar.lua et peut ĂȘtre Ă©tendue selon tes besoins.

ParamĂštres & Settings du panel Panel

L’onglet Paramùtres centralise la configuration de l’anti-cheat :

  • Activation des bans automatiques.
  • SensibilitĂ© globale des dĂ©tections.
  • Politique par dĂ©faut sur les flags critiques (log / kick / ban).
  • FrĂ©quences des heartbeats et des polls d’actions.
  • Configuration des modules (bhop / anti-aim / cvar).

Toute modification est envoyĂ©e Ă  l’API via POST /api/settings et rĂ©cupĂ©rĂ©e cĂŽtĂ© GMod par /api/modules pour les modules Lua.

DĂ©tections & types d’évĂ©nements

Les dĂ©tections apparaissent dans l’onglet DĂ©tections du panel. Chaque entrĂ©e contient le serveur, le joueur, le type de dĂ©tection et une description.

Type Origine Description
bhop_suspicious Serveur Patron de sauts rapides + vitesse Ă©levĂ©e, typique d’un bunnyhop scriptĂ©.
antiaim_suspicious Serveur Angles de vue impossibles ou changements de yaw extrĂȘmes, suggĂ©rant un anti-aim.
cvar_tamper Client/Serveur CVar cliente ne correspondant pas à la valeur attendue cÎté serveur.

Tu peux ajouter de nouveaux types en envoyant d’autres valeurs dans payload.type depuis tes modules Lua, et les afficher de la mĂȘme maniĂšre dans le panel.