BrisingrAerowing 12 Posted December 1, 2016 Share Posted December 1, 2016 (edited) This program is a service/daemon that automatically opens doors based on input from motion sensors. Features: Any arbitrary number of doors, each with its own configuration Events on entity allowed/denied Logging of access attempts Plugin support Installation: wget -f https://github.com/BrisingrAerowing/OC-Programs/raw/master/gryphonlib/gryphonlib.lua /lib/gryphonlib.lua wget -f https://github.com/BrisingrAerowing/OC-Programs/raw/master/inifile/inifile.lua /lib/inifile.lua mkdir /etc/proxdoor.d wget -f https://github.com/BrisingrAerowing/OC-Programs/raw/master/proxdoord/proxdoord.lua /etc/rc.d/proxdoord.lua wget -f https://github.com/BrisingrAerowing/OC-Programs/raw/master/proxdoord/proxdoor.cfg /etc/proxdoor.cfg wget -f https://github.com/BrisingrAerowing/OC-Programs/raw/master/proxdoord/proxdoor.d/example.cfg.noload /etc/proxdoor.d/example.config.noload mkdir /lib/proxdoor/plugins wget -f https://github.com/BrisingrAerowing/OC-Programs/raw/master/proxdoord/plugins/example_plugin.lua /lib/proxdoor/plugins/example_plugin.lua The last two files are an example door configuration and an example plugin. Configuration file outline: Main Configuration File: [general] config_dir = /etc/proxdoor.d # Door Configuration Directory plugin_dir = /lib/proxdoor/plugins # Plugin directory event_on_entity_denied = true # Fire an event (proxdoor_access) on denying an entity event_on_entity_allowed = true # Fire an event (proxdoor_access) on allowing an entity [logging] log_file_path = /var/log/proxdoord # The directory log files are written to general_log_file_name = general.log # The name of the general log file (Initialization stuff) general_log_enabled = true # Whether the general log is enabled access_log_file_name = access.log # The name of the access log file (access attempts) access_log_enabled = true # Whether the access log is enabled Door Configuration File: [general] name = Proxdoor 1 # The name of the door. Used to identity it in events and access logs range = 3 # The range used to detect entities side = top # The side to output the redstone on open_time = 3 # The time (in seconds) the door stays open inverted = false # Whether to initially power the redstone [addresses] motion_sensor = # The address of the motion sensor for this door. Required. redstone = # The address for the redstone IO for this door. Required. [users] user_list = # A space-separated list of entity names is_blacklist = false # Whether the above list is a blacklist allow_all = false # Whether to allow all entities. Overrides the above user configuration. The configuration files MUST have the extension .cfg, otherwise they won't be loaded. Changelog: 1/11/2017 Added plugin support Edited January 11, 2017 by BrisingrAerowing Updated with new features Quote Link to post Share on other sites