Forum du serveur Computercraft FR
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-28%
Le deal à ne pas rater :
Brandt LVE127J – Lave-vaisselle encastrable 12 couverts – L60cm
279.99 € 390.99 €
Voir le deal
anipassion.com

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

2 participants

Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Kuruyia Mer 24 Aoû - 16:05

Voici un programme de sécurité qui s'allie avec le Sensor + Proximity Sensor Card d'OpenCCSensors pour regarder qui entre dans votre base.

Utilisation:

Screenshots:

Fichiers:

Changements à venir:

Ce programme à été créé pour protéger sa base, vous pouvez aussi vous en servir dans le cadre d'autre applications (Comme des statistiques d'entrées/sorties)

Le développeur de l'application ne serait tenu responsable en cas de mauvaise utilisation du produit ou d'un de ses composants, si le produit ou un de ses composants est détourné de son utilisation première, seul l'utilisateur en sera tenu responsable, en téléchargeant et utilisant ce programme, vous acceptez automatiquement cette terme.

License Creative Commons BY-NC-SA

CHANGELOG :
Version 0.9 Release Candidate 1 :
+ Changement dans la méchanique de détection d'inventaire
+ Messages dans le chat
+ APIs via events
"player_join", table playerJoined / Lancé quand un ou des joueur(s) rejoigne(nt) le rayon d'action
"player_left", table playerLeft / Lancé quand un ou des joueur(s) quitte(nt) le rayon d'action
"inventory_add", string player, table itemsAdded / Lancé quand un joueur qui quitte le rayon d'action à un ou plusieurs objet(s) en plus dans son inventaire
"inventory_remove", string player, table itemsRemoved / Lancé quand un joueur qui quitte le rayon d'action à un ou plusieurs objet(s) en moins dans son inventaire
Version 0.9 BETA 3 :
+ Passage vers la version 2.0 du modpack (Minecraft 1.7.10/Peripherals++/OpenCCSensors)
+ Les fonctionnalités ont étés migrés avec succès
- Certaines fonctionnalités (notamment celle de détection de l'inventaire) peuvent être soumises à des bugs
Anciennes versions:


Dernière édition par arc13 le Dim 9 Avr - 9:36, édité 58 fois (Raison : Passage vers la Version 0.9 RC1)
Kuruyia
Kuruyia

Messages : 83
Date d'inscription : 10/04/2016
Age : 23
Localisation : Glitch City

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par skypop Mer 24 Aoû - 17:06

Super projet, et merci de le distribuer librement. J'en installerai surement un ou deux prochainement (J'ai pas encore regardé le craft de l'entity detector, j'espère que c'est abordable)
Comme c'est un peu "espion" sur les bords, c'est bien que tu sois transparent sur ce programme.

Une idée de fonctionnalité intéressante à mon avis, c'est de consigner le différentiel d'inventaire du visiteur entre son entrée et sa sortie. En clair : enregistrer ce qui a changé dans l'inventaire du visiteur entre le moment de son entrée et son départ. Et pas enregistrer l'intégralité de son inventaire, pour un minimum de respect.
Par contre, si quelqu'un passe déposer ou prendre quelque chose, on saurait qui et on saurait quoi (et on saurait quand)

Concrètement il s'agirait à l'arrivée d'assigner la table de l'inventaire à une variable locale, et à chaque boucle comparer avec l'inventaire actuel, et enregistrer le différentiel (en écrasant la précédente comparaison)
Si le visiteur prend un truc, et le remet à sa place ensuite, ça ne devrait pas laisser de trace. La faille probable serait qu'il utilise un enderchest (mais ça pourrait faire le cas d'une surveillance plus élaborée)...
skypop
skypop

Messages : 95
Date d'inscription : 25/07/2016

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Kuruyia Mer 24 Aoû - 17:13

Oui effectivement c'est assez espion mais tant que ça reste dans un cadre d'utilisation privé il n'y a aucun problème, et merci pour l'idée de feature, ça sera intégré prochainement
Kuruyia
Kuruyia

Messages : 83
Date d'inscription : 10/04/2016
Age : 23
Localisation : Glitch City

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par skypop Mer 24 Aoû - 18:47

Petit souci avec l'api time :
time:498: attempt to concatenate nil and string
C'est la fonction time.getRealCompleteDate() qui coince...
Je le signale ici des fois que la version de l'api time qui est installée automatiquement ne soit pas celle que tu as utilisé lors de tes tests.
skypop
skypop

Messages : 95
Date d'inscription : 25/07/2016

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Kuruyia Mer 24 Aoû - 18:48

Oui je suis en train de le fixer
Kuruyia
Kuruyia

Messages : 83
Date d'inscription : 10/04/2016
Age : 23
Localisation : Glitch City

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Kuruyia Mer 24 Aoû - 19:15

Mis à jour, supprime le fichier time et re-télécharge le programme stp.
Kuruyia
Kuruyia

Messages : 83
Date d'inscription : 10/04/2016
Age : 23
Localisation : Glitch City

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Kuruyia Mer 24 Aoû - 23:07

Mise à jour vers la version 0.4.1-master qui est énormément plus rapide dans la détection grâce à l'utilisation de coroutines, malheureusement cela coutera un World Interface pour avoir la date sachant que cela peut être utile dans de futures versions.
Kuruyia
Kuruyia

Messages : 83
Date d'inscription : 10/04/2016
Age : 23
Localisation : Glitch City

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Kuruyia Ven 26 Aoû - 9:28

Je viens de sortir la 0.7.1 qui contient les mises à jours automatiques, donc je vous extrêmement de mettre à jour vers cette version, comme ça vous n'aurez plus à vous soucier des mises à jour Very Happy
Kuruyia
Kuruyia

Messages : 83
Date d'inscription : 10/04/2016
Age : 23
Localisation : Glitch City

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par skypop Ven 26 Aoû - 10:56

Si les maj seront automatique, alors il y aura un petit soucis avec ces paramètres :
Code:
-- Variables à modifier
 
local sLogFile = "probe.log"
local nRange = 16
local nX = -211
local nY = 74
local nZ = 424
 
local useChatInterface = true
local printLog = true
local disableTerminateEvent = false

Ces variables, mais également les listes (whilte lits, chat list...) Car à chaque maj elles seront écrasées par tes paramètres par défaut.
Tu peux utiliser settings pour régler ça :
Code:
-- Variables à modifier
 
local sLogFile = "probe.log"
local nRange = 16
local nX = -211
local nY = 74
local nZ = 424
 
local useChatInterface = true
local printLog = true
local disableTerminateEvent = false

--
local settingsFile = "/.settings/PlayerDetector"
if fs.exists(settingsFile) then
  settings.load(settingsFile)
end

-- (Recharge les dernières valeurs, si modifiées)
sLogFile = settings.get("PlayerDetector.sLogFile",sLogFile)
nRange = settings.get("PlayerDetector.nRange",nRange)
nX = settings.get("PlayerDetector.nX",nX)
nY = settings.get("PlayerDetector.nY",nY)
nZ = settings.get("PlayerDetector.nZ",nZ)
 
useChatInterface = settings.get("PlayerDetector.useChatInterface",useChatInterface)
printLog = settings.get("PlayerDetector.printLog",printLog)
disableTerminateEvent = settings.get("PlayerDetector.disableTerminalEvent",disableTerminalEvent)

-- (Sauvegarde les valeurs)
settings.set("PlayerDetector.sLogFile",sLogFile)
settings.set("PlayerDetector.nRange",nRange)
settings.set("PlayerDetector.nX",nX)
settings.set("PlayerDetector.nY",nY)
settings.set("PlayerDetector.nZ",nZ)
settings.set("PlayerDetector.useChatInterface",useChatInterface)
settings.set("PlayerDetector.printLog",printLog)
settings.set("PlayerDetector.disableTerminalEvent",disableTerminalEvent)
settings.save(settingsFile)

Dans cet exemple, je laisse la déclaration des variables telle quelle. C'est plus facile à repérer et à éditer pour tes utilisateurs.
Enfin après ça, si l'utilisateur veut modifier un paramètre, il faut qu'il pense à éditer ou supprimer les settings, sans quoi il pourrait croire à un bug.
Tu peux aussi consigner ces variables dans un fichier à part, ce qui en fin de compte reviens au même que d'utiliser l'api settings.

Une autre solution, plus user friendly, serait d'avoir un programme qui sert à la configuration. ça pourrait faire l'objet d'un projet parallèle, car un tel programme pourrait servir d'autres projets.
skypop
skypop

Messages : 95
Date d'inscription : 25/07/2016

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Kuruyia Ven 26 Aoû - 11:03

Effectivement, merci de le préciser, ça fera l'objet de la mise à jour 0.7.2
Kuruyia
Kuruyia

Messages : 83
Date d'inscription : 10/04/2016
Age : 23
Localisation : Glitch City

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par skypop Ven 26 Aoû - 14:30

Peut être un soucis sur :
Code:
local tWhitelist = {}
Un tableau qui contient les joueurs à ne pas logger

J'y ai ajouté mon pseudo :
Code:
local tWhitelist = {"SukaiPoppuGo",}
Ce qui me retourne cette erreur :
playerDetector:223: bad argument: table expected, got string

Edit: en fait ce n'est pas lié à la whitelist...
J'ai étendu le range à 32, et supprimé le délai que j'avais au startup (d'habitude, je met toujours un délai au startup, parce qu'il y a parfois des bugs sans ça)

Edit: je confirme, c'est en augmentant le range que ça bug

Edit: donc, si le range est limité à 20, il faudrait une sécurité pour éviter le bug :
Code:
assert(nRange<=20, "Player detector: range est limité à 20")
nRange = math.min(20, math.max(1, nRange) )
skypop
skypop

Messages : 95
Date d'inscription : 25/07/2016

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par skypop Mer 14 Sep - 0:38

J'avais l'intention de te recommander d’enregistrer les logs en les répartissant selon leur date.
Mais quitte à bien faire, j'en ai fait un tuto : http://forum.computercraft.fr/t428-stockage-de-logs-dates#1927

Car je développe également un programme qui enregistre des logs, potentiellement en quantité plus importante que les allé-venu d'un joueur. ça m'a permi de me rendre compte assez vite, que de stocker les logs dans un fichier unique est très peu pratique, ça peut même faire baisser les performances du programme.
Je précise tout ça dans le tuto, ainsi que les astuces que j'ai trouvé pour régler le problème.

Autre soucis, l'affichage sur un moniteur, qui ne s'adapte pas très bien à certaines résolutions :
Spoiler:
skypop
skypop

Messages : 95
Date d'inscription : 25/07/2016

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Kuruyia Mer 14 Sep - 16:14

Je ne sais pas pour les logs, sachant que j'utilise des coroutines l'impact sur les performances est moindre, c'est à suivre
Kuruyia
Kuruyia

Messages : 83
Date d'inscription : 10/04/2016
Age : 23
Localisation : Glitch City

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par skypop Mer 14 Sep - 21:31

L'impact sur les performances est strictement identique, l'effet est juste dilué dans les délais rajoutés (sleep, pullEvent, yield...)

Concernant l'exemple auquel je me réfère, il s'agit d'un stress-test (en local) sur un programme qui reçoit et envoi des messages via modem, en parallèle sur un autre PC je tiens à jour les logs. C'est donc bien comparable à une coroutine ou du multi-threading. Et pourtant l’exécution de ce 2e PC affecte bien les performances du 1er. Comme une boucle infinie mal tournée sur un PC du serveur peut affecter les performances de tous les programmes en cours sur le serveur.

Enfin, autre sujet.
Je pense qu'on peut rendre le rayon "range" au delà de 20m. Au lieu de recourir à la méthode getEntityList, utiliser la méthode wi.getPlayerList et vérifier pour chaque joueur sa distance dans sa table renvoyée par ed.getPlayerDetail, quitte à la calculer avec un vector si la position de l'EntityDetector n'est pas le point de référence.
skypop
skypop

Messages : 95
Date d'inscription : 25/07/2016

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Kuruyia Jeu 15 Sep - 16:26

N'ayant pas accès à un vrai pc pour le moment, j'ai modifié ça rapidement sur mon téléphone, tu pourrais le tester ?

http://pastebin.com/yB4nNM47

Et pour étendre la rayon de détection j'ai déjà fait les modifications nécessaires mais ça sera l'objet de la version pro du logiciel (en vu de l'ouverture prochaine de mon entreprise de sécurité), tu peut évidemment faire les modifications toi même mais alors n'oublie pas de désactiver les mises à jours automatiques
Kuruyia
Kuruyia

Messages : 83
Date d'inscription : 10/04/2016
Age : 23
Localisation : Glitch City

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par skypop Ven 16 Sep - 10:27

ça roule. J'ai juste modifié à la ligne 346 (Edit: et la ligne 384, sinon ça log les entrée/sorties dans 2 fichiers séparés...)
Code:
date.formatDateTime("%d%m%y")
Pour un format de date ISO Y-m-d

Un truc que j'ai oublié de signaler, et qui serait bienvenu pour la version démo du programme :
L'éventualité d'un fichier player_detector.conf absent ou erroné / corrompu est bien gérée. Mais si par hasard on a commis une erreur (faute de syntaxe par exemple), le programme continue sur son réglage d'usine (le centre du spawn). Donc on peut deviner qu'il y a un truc qui ne fonctionne pas, mais ça serait plus explicite avec un retour d'erreur du style "/!\ Invalid: player_detector.conf"


Dernière édition par skypop le Ven 16 Sep - 20:52, édité 1 fois
skypop
skypop

Messages : 95
Date d'inscription : 25/07/2016

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Kuruyia Ven 16 Sep - 18:46

Update de la bêta pour modifier le format vers Y-m-d.log, comme "20160916.log" et modification pour les petites résolutions
Kuruyia
Kuruyia

Messages : 83
Date d'inscription : 10/04/2016
Age : 23
Localisation : Glitch City

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Kuruyia Sam 8 Oct - 15:37

Mise à jour 0.8.2 : Vérification de l'intégrité du fichier de configuration.
Kuruyia
Kuruyia

Messages : 83
Date d'inscription : 10/04/2016
Age : 23
Localisation : Glitch City

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Kuruyia Mar 25 Oct - 15:46

Version 0.8.3 :
+ Meilleure prise en charge des moniteurs
+ Changements dans l'UI
Kuruyia
Kuruyia

Messages : 83
Date d'inscription : 10/04/2016
Age : 23
Localisation : Glitch City

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Kuruyia Ven 30 Déc - 0:46

[Pour les utilisateurs]
Le programme sera adapté à la saison 2 (v0.9 du programme) d'ici quelques semaines, le temps de se stuff et faire le nécessaire pour un bon environnement de développement.
Kuruyia
Kuruyia

Messages : 83
Date d'inscription : 10/04/2016
Age : 23
Localisation : Glitch City

Revenir en haut Aller en bas

[Programme] Player Detector - Solution de surveillance de base (0.9 RC1) Empty Re: [Programme] Player Detector - Solution de surveillance de base (0.9 RC1)

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum