Totoro 3 563 Опубликовано: 12 сентября, 2014 (изменено) Как известно, жить у нас на сервере бывает опасно. Убийцы в плащах невидимках рыскают в поисках жертв, а табуны гриферов разоряют дома прямо на глазах у офигевающих владельцев.Моя программа не сможет предотвратить злодеяние, но запомнит негодяя и запишет его имя, дабы пострадавший знал, на кого направить свой гнев (кроме админа и модераторов, конечно).СутьСистема защиты SpiderEye - это сеть motion sensor'ов в стратегически важных местах, которые соединены кабелями с компьютером. Помните, что сенсор - не радар. Он срабатывает только на существ в области прямой видимости. Сектор должен просматриваться и простреливаться, не создавайте укрытий гриферу! =)Сборка железаКонкретные параметры системы сильно зависят от того, сколько именно сенсоров вы присобачите к компьютеру. Процессор может обработать ограниченное количество компонентов. А именно: 1 уровень - 8 компонентов 2 уровень - 12 компонентов 3 уровень - 16 компонентов Сюда кроме сенсоров входит: монитор, клавиатура (?), красная плата/красный контроллер, видеокарта.Если вам потребуется больше компонентов - переносите программу на сервер (Server Rack и Server). Туда можно установить сразу несколько процессоров.Моя машина: Корпус 3 lvl. Процессор 3 lvl. Красная плата Видеокарта 2 lvl Две планки памяти 2 lvl Жесткий диск 1 lvl Монитор 2 lvl Клавиатура а также Датчики движения и Кабели Вы можете установить красную плату в компьютер, или подключить красный контроллер к сети. Тогда при сигнале тревоги компьютер (или контроллер) будет испускать сигнал редстоуна (примерно 10 секунд).Устанавливаем, подключаем, подаем питание и включаем.СофтПервым делом - установите на жесткий диск операционную систему (кто не знает как это сделать, тут есть инструкция: ссылка)Теперь программа.Ссылка на SpiderEye Terminal:pastebin.com/bTc7tJKvСохраняем программу на жесткий под именем terminal.Настройка программы на владельца производится методом пилы и лома - открываем исходники и смотрим на первые строчки: -- Parameters -- owner = "Totoro" monsterlist = {"Spider", "Zombie", "Creeper", "Skeleton", "Enderman", "Sheep", "Cow", "Chicken"} howlerside = sides.back cooldown = 100 -- Colors -- backcolor = 0x000000 forecolor = 0xFFFFFF infocolor = 0x0066FF errorcolor = 0xFF0000 truecolor = 0x00FF00 -- **** -- Параметр owner - это ник владельца. Поменяйте на свой.Параметр monsterlist - это список животных, ради которых вы не хотите подрываться и бежать на улицу с мечом в руке. Я внес в него основную живность, которая шатается вокруг моего дома. В зависимости от области своего обитания, добавьте свои названия (гастов, например, или спрутов).Параметр howlerside - это сторона, на которую по тревоге компьютер начинает давать сигнал редстоуна. Если у вас плата - сторона дается относительно передней стороны компьютера. Если у вас блок-контроллер - сторона дается относительно сторон света. Если у вас нет ничего - забейте.Параметр cooldown - продолжительность тревоги в десятых секунды (примерно). По дефолту - десять секунд.Ниже - таблица цветов, которая хранит цветовую гамму программы. Вы можете поменять их на свои по желанию.Сохраняем и закрываем (Ctrl+S, затем Ctrl+W).Запускаем программу, набрав в консоли ее название.ИспользованиеПрограмма управляется с клавиатуры.Хоткеи: H - открывает/закрывает окно справки. В справке - кратко перечислены эти хоткеи.L - открывает/закрывает лог событий. В логе указаны дата, время и место засеченных движений.W - открывает/закрывает вайтлист. Вайтлист - список тех, на кого система не реагирует. По дефолту в этом списке только хозяин.A - добавляет новый сенсор или нового пользователя в вайтлист. Это зависит от того, какой именно список вы открыли.D - удаляет сенсор из таблицы или пользователя из вайтлиста. Тоже зависит от того, какой список вы смотрите.R - обновляет таблицу сенсоров. Если вы меняли сенсоры (они при этом сменяют адрес) или просто поудаляли половину сети слежения - обновите таблицу, нажав R. Программа автоматически удалит из таблицы все недействительные адреса. Также обновление происходит при перезапуске программы.М - включает/выключает обнаружение монстров. Когда включено - в левом-нижнем углу нарисована маленькая буква "M". Если вас достал паук, скребущий лапами по крыше, вы можете включить этот режим, и система начнет реагировать на монстров из списка тоже. По дефолту - отключено.Q - культурный выход из программы. В отличии от некультурного - например если питание вырубится, или вы нажмете Alt+Ctrl+C, все изменения в списках сохраняются, и вам не придется править их при следующем запуске.К логам это не относится. Они сохраняются всегда. Добавление сенсоровВ начале экран терминала пуст. Все срабатывания сенсоров отмечены как Unknown и не записываются в логи.Вам необходимо добавить в таблицу все сенсоры, и подписать их. Нажмите "A".Сначала необходимо внести адрес сенсора. Его можно узнать с помощью анализатора - ПКМ на сенсоре. Впишите первые четыре буквы-цифры адреса. Например - "5bec"Затем программа потребует ввести навание. Обозначьте сенсор так, чтобы было понятно, где он.Например - "Secret Diamond Storage", или "Neighbor House".ИтогУ вас есть система, способная обнаружить живое существо (теоретически работает и на роботах) на подступах к вашей территории (и внутри нее). При обнаружении существа не внесенного в вайт лист или список монстров - подается сигнал редстоуна, на экран выводится мессейдж и делается запись в файл с логами на диске.Файлы логов расположены в той же папке, что и сама программа SpiderEye, в подкаталоге logs. Каждое событие хранится в файле помеченым датой, когда оно произошло. Например: "05_17_85.log".P.S. Это бета-версия программы. При обнаружении глюков, багов или шпионских закладок - сразу сообщайте мне! Спасибо за внимание. Изменено 24 ноября, 2014 пользователем Totoro 9 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 12 сентября, 2014 Смотрю и не нарадуюсь на качество исполнения программы и оформления работы. Очень понравилось. Молодец! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
1Ridav 1 049 Опубликовано: 12 сентября, 2014 Необходимо сделать возможность добавления нескольких жильцов в доме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 12 сентября, 2014 Всех, кому разрешен доступ, просто надо добавить в вайт лист. Кнопка W чтобы окрыть его, и кнопка A чтобы добавить нового игрока в список. Система игнорирует тех, кто обозначен в этом списке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Syabro 81 Опубликовано: 25 сентября, 2014 ЗБС слушай!!! А если поставить серверную стойку на 4серва*4проц*16компонентов получится огромная територия для защиты! А вместо подачи реда можно посылать сигнал на главный комп! Прям база... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 25 сентября, 2014 ЗБС слушай!!! А если поставить серверную стойку на 4серва*4проц*16компонентов получится огромная територия для защиты! А вместо подачи реда можно посылать сигнал на главный комп! Прям база...Ред убирать не буду - удобно чтобы локально включить сирену, или красные лампы зажечь.Добавлю отправку тревожного пакета broadcast'ом по заданному порту. К слову, обдумывал еще такую мысль - удаленное подключение датчиков движения к SpiderEye. Например через связную плату, или через существующую глобальную сеть. Например - качаешь лаву в аду. Привата нет, как отследить возможного вандала? Можно часть лавы отвести на двиг, поставить компьютер и датчик. Пусть посылает данные. Если ограбят - знаешь кто. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Syabro 81 Опубликовано: 25 сентября, 2014 ... Если ограбят - знаешь кто.и что сделаешь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Syabro 81 Опубликовано: 25 сентября, 2014 Самое прикольное это роботы - охранники! Например если какимто образом передавать данные с OpenCCSensors (или че там стоит) на робота и активировать его при проникновении неприятеля можно нападения мобов по крайней мере предотвращать... А если их целая бригада будет то ваще клас и с луками на перевес Но это уже фантазия... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 25 сентября, 2014 Но это уже фантазия...Датчики передают относительные координаты движения.В принципе, если повести некоторую калибровку, чтобы можно было соотнести координатные системы датчиков и роботов, можно сделать роботов, которые будут стоять на пусковых площадках с подзарядкой и вылетать по сигналу. Вооружить луками (такое вполне возможно) или лазерами/бластерами. Проблема я думаю в маленькой скорости и маневренности роботов. Если их много, они могут организовать что-то вроде "сетки огня", на опережение. Это уже не тривиальный алгоритм , но интересный. Кроме того сигнал датчика дискретен. Передает движения не постоянно а фрагментами, насколько я понял, пока писал систему. Есть шанс упустить жертву. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Syabro 81 Опубликовано: 25 сентября, 2014 На сколько датчики действуют? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 25 сентября, 2014 Опытным путем выяснил - радиус действия около 8 блоков (в области прямой видимости). В конфигах вроде нет этого параметра. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TheScientist 100 Опубликовано: 8 января, 2015 Мне нравиться. Построить огромную лабораторию, с такой системой и роботами охраны из комментариев выше - будет здорово! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ov3rwrite 26 Опубликовано: 2 февраля, 2019 Можно ли сделать так, чтобы и была не мигающим сигналом,а полноценным? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 2 февраля, 2019 12.09.2014 в 06:34, Totoro сказал: @Totoro, как ты такую красивую картинку сгенерировал? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro Автор темы 3 563 Опубликовано: 2 февраля, 2019 1 минуту назад, eu_tomat сказал: @Totoro, как ты такую красивую картинку сгенерировал? 😃 Надрал картинок блоков откудато (то ли в Blender отрендерил, то ли тупо с википедии содрал) и сложил из них основу. Потом немного допилил в Inkscape. Короче чудо тулзы не было, а просто немного свободного времени чтобы этой хренью заняться. 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
men_epto 0 Опубликовано: 3 апреля, 2022 Выдаёт вот такую ошибку, по какой-то причине Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
men_epto 0 Опубликовано: 3 апреля, 2022 (изменено) Код скопировал, всё подключил, осталась Изменено 3 апреля, 2022 пользователем men_epto Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ProgramCrafter 544 Опубликовано: 3 апреля, 2022 51 минуту назад, men_epto сказал: Код скопировал В OpenComputers есть ограничение по количеству копируемых строк - максимум 256 строк копируется за один раз. (Это происходит из-за того, что ограничен размер очереди событий.) Поэтому придётся скопировать вторую половину кода отдельно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
men_epto 0 Опубликовано: 3 апреля, 2022 18 минут назад, ProgramCrafter сказал: В OpenComputers есть ограничение по количеству копируемых строк - максимум 256 строк копируется за один раз. (Это происходит из-за того, что ограничен размер очереди событий.) Поэтому придётся скопировать вторую половину кода отдельно. Окей, спасибо, помогло, но появилась вторая ошибка, при логировании игроков, появляется ошибка: https://ibb.co/cwG3KqQ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах