Перейти к содержимому

Totoro

Гуру
  • Публикации

    1 950
  • Зарегистрирован

  • Посещение

  • Победитель дней

    289

Сообщения, опубликованные пользователем Totoro


  1. ...Так что асинхронное шифрование имеет смысл. что бы хакерам было интереснее - можно ключ особо не прятать - пусть вычисляют алгоритм шифрования. что бы узнать, как подменить данные.

    Можно сделать и то - и то. Пусть хакеры развлекаются :D

    Теоретически - удачливый хакер получает доступ к командному блоку. Ого-го стимул.

     

    Хорошо вроде выглядит, пусть будет на ОС. Просто он пока вроде не всегда поддерживает все периферию толком из аддонов КК. Плюс багулек очень много, провода отпадают, крашат чарджеры сервер и прочее. Мне пока из ОС только роботы нравятся. Долго будет городить эти схемы из ОС, блоки питания, винчестеры и прочее, плюс еще и АЕ. Целая лаборатория под каждым телепортом получиться:)...

    Согласен, я слегка увлекся =)

    С OC телепорты придется снабжать энергией. Получится, что содержать телепорт может позволить себе достаточно крупный клан/поселение, который может круглосуточно его поддерживать. Тогда часть оплаты может уходить на его поддержку, тем кто генерит энергию. Суровый реализм (капитализм, и частное предпринимательство =))

     

    В принципе действительно достаточно трубы и гейта. А если поставить флаг в файле конфигурации OpenComponents, который позволит адаптеру работать с ID блоков в инвентарях - можно сократить все до воронки и пустотной трубы.

     

    Мне показалась интересной система, когда платные телепорты имеют разную стоимость. Телепортироваться на дачу к админу, или на соседнюю улицу - совсем разные вещи. Для этого нужен был более тонкий контроль.

    В принципе, можно (если поставить вышеупомянутый флаг) подсчитывать предметы прямо в воронке, а затем (после телепортации, пока идет cooldown) врубать сигнал редстоуна на деревянную трубу и редстоун-двиг из BuildCraft'а и вынимать предметы в ту же пустотную трубу.

    Однако может появиться проблема переполнения, когда злоумышленник вывалит over9000 булыжника в приемник. Это тоже придется отслеживать и включать процедуру очистки (телепорт будет уходить в cooldown).

     

    P.S. Насчет того, что снимается - я предположил =) У меня еще не снимали, а я сам не пробовал.


  2. Я тоже за первый вариант. Дополнительные офисы и коммуникации на сервере будут выглядеть прикольно. Плюс, система будет более надежна - от ДДОС даже ebay падал.

    Кстати, забыл сказать, что терминал телепорта выглядит шикарно. Черный матрасик, огромный понятный текст на мониторе и цветные буковки. У тебя очень хорошо получается.Like

    Спасибо :D

     

    Адреса длинные только, вводить долго. Зато безопасно. Уже делаю. Программа-менеджер телепортов пока будет консольной. Она будет слушать эфир и передавать команды подконтрольным телепортам. В новых версиях OpenComputers должен появиться компьютер-планшетник (будет собираться из запчастей в ассемблере). Тогда и офис строить не надо - ходи себе с планшетом и обновляй данные =)

     

    А во втором варианте мне особенно нравятся криптографические блоки от Immibis (на скриншоте сверху - похожие на стойки дата-центра).


  3. У меня вопрос, по удаленному администрированию телепортов. А точнее по безопасности.

    Я придумал два варианта, обеспечивающих безопасность данный от перехвата и подделки:

     

    1) Сделать таблицу адресов всех телепортов, и передавать не broadcast'ом, а точными сигналами по адресам. Тогда хакер просто не сможет получить данные. (Если конечно не будет пытать администратора, и вызнавать таблицу адресов. Перебором адреса получить нереально)

     

    Проблема: радиус беспроводной связи ограничен. Надо делать либо несколько "офисов" для управления, на локальную группу телепортов. И менять таблицы поочереди в каждом "офисе". Либо, сделать сеть ретрансляторов, каждый из которых будет знать только адреса ретрансляторов более низкого уровня. Тогда можно будет дать сигнал с "главного" ретраснлятора, и он разбежится по дереву передающих станций, и дойдет до каждого телепорта.

     

    Безопасно, но требует точной ручной настройки.

     

    2) Шифровать передаваемые данные асинхронным шифрованием. Администратор посылает вызов, телепорт его принимает и высылает одноразовый ключ для шифрования. Администратор шифрует данные и посылает телепорту. Тот принимает данные и выполняет действия.

     

    Проблема: хакер может перехватить первоначальный вызов и начать "ДДОС-атаку" посылая вызов снова и снова. Формата необходимой команды он не знает, поэтому послать свои данные не сможет. Однако телепорт будет вынужден постоянно генерировать ключи и посылать их в ответ.

    Можно сделать ограничение и проверять сигнал только раз в секунду, к примеру. Но хакер все-равно может забить эфир и помешать настоящему администратору передать данные.

    И опять стоит вопрос централизации управления.

     

     

    Я склоняюсь к первому варианту. Что думаете по этому поводу?

     

    https://lh3.googleusercontent.com/WUtrSIdSnGOQ8oq2YjmABHOmrz6BjuNiPJZWFk1FUyE=w925-h530-no

    • Нравится 1

  4. Спустя некоторе время, можно будет писать специального робота-мародера, который будет собирать зависших, сбившихся с пути и разрядившихся роботов и черепах снаружи и приносить хозяину, вместе с добытыми ими ресурсами.

    А кто-то вообще будет делать робота, который караулит других у шлюза снаружи и в последний момент срубает их киркой. :D

     

    Кстати, общаться с роботом можно через связанные платы. Тогда робот после добычи подойдет к шлюзу и вызовет хозяина сам. Или сообщит свои координаты в случае аварии, чтобы робот-спасатель смог его снаружи забрать =)

    • Нравится 1

  5. ... Просто не на всех серверах стоят ЭндерСтореджи и т.п., а точнее почти нигде их нет, например на новый сервер я его не ставил.

    Я уверен, что и с ванильным сундуком робот будет работать аналогично.

     

    Обновил программу для горизонтального копания:

    http://pastebin.com/NQe6P6NR

     

    Теперь формат вызова выглядит так:

    mine <length> [width] [return]

     

    Где return принимает значение true или false.

    Если true - робот после работы возвращается в исходную точку.

    По умолчнию - не возвращается.


  6. Круто! То есть, как я понял, робот проверяет с каждой новой выкопанной позиции все 5 новых направлений, и если там ничего нет, возвращается на предыдущую позицию - и так, пока не завершит все цепочки проверок по всем возможным ветвлениям и направлениям жилы? А дальше едет по основному направлению копания. Единственное, возможно, что некоторые не полезные блоки проверяются повторно с разных сторон или это учитывается в массиве?

    Именно так.

    А один и тот же блок он не проверяет detect()'ом дважды. Если от пометил блок как false - пустая руда, то, когда он подойдет к нему с другой стороны, и начнет проверку сначала по массиву - блок, отмеченный false (пустая порода) или true (уже выкопан), отсеется сразу.

    Потому робот не будет тратить время и поворачиваться к блоку, который он уже обследовал. Он повернется к первому неизвестному (который в таблицу не занесен - nil).

     

    ... А что за сундук, обычный ванильный эндеровский, робот умеет в него класть вещи уже, а то черепашки его не видели? В лаве еще остается? Нет фунции возврата еще что ли на начальную стартовую точку работы? Если не использовать карту, может тогда ввести просто локальные программные координаты, и вернуть робота в начало по окончании работы?...

    На обычном не пробовал, т.к. я обкатывал программу у нас на сервере. Он возит с собой сундук из Ender Storage, настроенный на одну цветовую комбинацию с другим сундуком, из которого выкачивает ресурсы ME Import Bus.

    Что касается лавы - он у меня сейчас остается в точке, пригодной для того, чтобы сразу продолжить копать. А если там (случайно) лавовое озеро, его это естественно не смущает. Локальные координаты от сохраняет (блок NAVIGATION). В принципе - можно сделать чтобы он проверял окрестности на жидкость. А если вокруг лава (или вода) - пятился бы назад до сухого места =)

     

    ...Плюс сундук, чанклоадер, навигация, расширение инвентаря(кстати, какой сейчас максимально возможный инвентарь у робота, 24 слота?) Черепах можно будет использовать на начальной стадии развития.

    Каждый апгрейд на инвентарь - плюс 16 ячеек. Мой робот-дровосек имеет четыре апгрейда - инвентарь на 64 ячейки (хотя ему столько не нужно =))

    В коде 24 я написал, чтобы оставить небольшой буфер, на случай, если проверку пройдет слишком поздно и часть добытого начнет высыпаться. Вообще у робота-шахтера - 32 ячейки.


  7. Это очень просто. OpenComponents позволяет через адаптер обращаться к ME Controller'у. Я при запуске запрашиваю количество алмазов в сети и сохраняю его.

    Раз в секунду происходит обновление программы. Она проверяет количество алмазов в ME сети. Если значение изменилось - вычисляет разницу. Если разницы хватает на выбранный телепорт - хватает игрока и телепортирует. :D


  8. У меня сделано очень похоже на это.

     

    Я делал так:

    1) Завел переменную MAX, куда записал максимальный размер стороны куба, который может содержать жилу. У меня это 1024 блока. Размер просто нереальный, даже для черного гранита =)

    2) При обнаружении чего-то интересного - вызывается функция go(). Она записывает, куда смотрел мордой робот, чтобы вернуть его в правильное положение, когда он закончит выкапывать жилу. Затем объявляется пустая таблица lode (жила). Элемент с любым индексом в новой таблице будет всегда nil. Этим и пользуюсь. Элемент nil означает, что этот блок робот еще не исследовал. И наконец - вызов рекурсивной функции mine. Ей передается сторона, с которой надо начать.

    3) Первая часть mine: функция получила параметр - сторону, которую надо копать. Она ее копает (добавлены циклы, на случай гравия. И все равно ведь где-то сбивается :confused:)

    4) Вторая часть: команда lode[loc.x*MAX*MAX + loc.y*MAX + loc.z] = true

    Чтобы не заморачиваться с 3D массивом, я генерирую на основе трех координат уникальный индекс. И делаю запись в таблице - true: значит текущий блок пройден.

    5) Третья часть. Робот начинает проверять соседние блоки. Он вычисляет их координаты (прибавляет или отнимает от нужной оси по 1) и смотрит массив lode. Если в ячейке - nil, значит робот еще не был в этом блоке, и не проверял его.

    Если там пустая порода, робот записывает false в таблицу и проверяет следующий блок. Если там руда - вызывает функцию mine с параметром - стороной где обнаружена руда. Получается - функция mine вызывает сама себя. (Рекурсия. Откуда название программы =))

    6) Завершающая часть. Робот вспоминает, какую сторону ему передали в начале, и делает движение обратно. Если он копал вниз - он поднимается. Если копал вперед - разворачиваеся назад и делает шаг.

     

    Таким образом, вложенные вызовы mine завершаются поочереди, начиная с самого последнего, и получается, что робот возвращается точно по своим следам в исходную точку.

     

    Там к работе возвращается функция go(), которая поворачивает робот в исходное положение.

    • Нравится 2

  9. 1.8? Я думал, что 1.7... Вот что значит год ждать 1.8. Я разочарован.

    :D Точно, 1.8. Вот пруф: ссылка.

     

    Русифицировать кстати реально. Я просто ленюсь раскладку туда-сюда переключать, когда код пишу. Машинально все на своем "пиджин-инглишь" пишу.


  10. Вау! Звучит здорово! :)

     

    В АЕ 2 добавили систему безопасности. Теперь там нужно будет в терминале биологическую карту вставить, чтобы настроить игроку доступ. Но на 1.7.10 переходить Дэн200 не собирается, так что придётся обходиться без новых плюшек :(. Кстати, воронки принимают предметы через полублоки, так что можно над хоппером поставить плиты из Абиссального камня — получится такая же красивая штука. А если поиграться с командой Партиклес, то вообще будет зашибенчик:).

    OpenComputers зато обновляется, можно программу и на 1.7.10 запустить. =) Хотя без ComputerCraft будет печально.

    А команда /particles же совсем недавно добавлена. В версии 1.8, вроде. Под нее еще даже Forge исходные коды не расковыряли =)


  11. Вчера читал форум, и внезапно меня посетила мысль написать менеджер телепортов для нового сервера на OpenComputers.

    Так появилась программа Quantum Link.

     

    Фичи (+ - готово, - - в планах):

    + Терминал с интерфейсом выбора телепорта.

    + Возможность телепортироваться в выбранное место.

    + Бесплатные и платные телепорты. Платные телепорты могут иметь разную стоимость. Оплата наличными (пока - алмазами).

    + Промежуток между телепортами - 30 сек. При этом телепорт на экране меняется на рандомный (анти-шпион =)

    + Возможность временной блокировка телепортов (тех обслуживание и т.д.)

    + Добавление/обновление списка телепортов через удаленный доступ (беспроводная сеть).

    - Безналичный расчет через RFID карту игрока.

    - "Избранная" станция телепорта. Если игрок из этой локации часто перемещается в одну определенную, он может телепортироваться не выбирая ее из списка, просто одним кликом. (Либо вообще просто встав на платформу телепорта. При этом пригодится безналичный расчет.)

     

    Изображение

     

    Изображение

     

    Изображение

     

    Изображение

     

    Изображение

     

    Техническая часть - это компьютер OC с алмазным экраном на два блока (можно и золотой) и два адаптера, на командный блок и ME Controller. Платные телепорты принимают валюту через площадку из Transition Plane. Во первых, это быстрее чем через воронку, во вторых эстетичнее и со спецэффектами =) (В принципе - можно сделать и воронку. Или вообще - сундук.) В-третьих, такую систему будет трудно сломать, к примеру набив приемник до отказа булыжником. Да и инкассатору удобно - забрал картридж (диск из ME Drive), вставил новый, пошел дальше. Или вообще дистанцинно переслать все добытое.

     

    Я знаю, что сеть AE не приватится, и эти плейны можно будет свернуть и унести. Но. Во-первых - сервер хардкорный. Скоммуниздили телепорт - летайте бесплатными маршрутами =) Во-вторых, можно изменить конструкцию и сделать ее безопаснее.

     

     

    В планах - сделать безналичный рассчет. Дополнение Immibis добавляет такую интересную штуку, как RFID карты. Карта хранит 80 символов. Запись - одноразовая. Если записать на нее уникальный ключ, и хранить в базе пары "Ник игрока" - "Ключ карты", получится удобная система идентификационных карт. Осталось только сделать сеть, где хранится количество финансов для каждой карты и автоматы, которые материальные ценности меняют на виртуальные.

    Карточки читаются прямо из инвентаря игрока, на расстоянии 5 блоков от ридера. Игрок кликает платный телепорт, система отправляет запрос в банк и снимает со счета стоимость телепорта.

     

    P.S. Исходники не выкладываю, могу скинуть, кому интересно. Они еще не дописаны, с ошибками и багами, комплект фич - не полон.

    • Нравится 3

  12. Небольшая (90 строк =)) программа, написанная развлечения ради.

     

    К примеру, вы ждете новую партию стали. Загрузили домну углем и железом - делать временно нечего. Моя программа выводит на экран компьютера случайные цитаты с Баша. Понравившиеся цитаты можно распечатать на листке бумаги, с помощью принтера из ComputerCraft.

     

    http://pastebin.com/PFFeXqP8

     

    Для работы нужен компьютер OC с интернет-платой, адаптер и принтер из CC. В принтер положите краситель (в левый слот) и стопку бумаги (в верхние слоты).

     

    P.S. Не работал раньше с интернетом. Возможно в Lua есть более человеческий способ вытащить из JavaScript текст, но я его не знаю. Поэтому просто поотрезал лишнее gsub'ами =)

    • Нравится 1

  13. Тоторо, хорошая идея и реализация. Понравилась простота кода. Даже нет строчек больше 30-40 символов.

    Спасибо =)

     

    Сделал версию с горизонтальным "срезом". Программа стала проще и короче (теперь умещается в 256 строк - как раз один буфер обмена OC). Робот работает быстрее, при той же эффективности. Правда "шахта" выглядит немного странно :)

     

    Исходный код:

    http://pastebin.com/NQe6P6NR

     

    Робота необходимо ставить в правый угол предполагаемого тоннеля, передней стороной - на левый угол. (Сэкономил на навигации =))

    Остальное (образцы пустой породы, ender chest) - так же как и в первом варианте.

    • Нравится 2

  14. Сделал тестовый "заезд" с Супер Киркой. Задал тоннель 100х10. Робот выкопал 1387 блоков, из них - 451 блок полезный. Совершил 1411 движений.

     

    Я тут подумал - моя программа делает тоннель в вертикальной плоскости. А что если перенести этот процесс в горизонтальную?

    При это должна увеличиться скорость - отпадают лишние повороты.

     

    Тогда получится, что мой алгоритм спопоставим по скорости с копанием "через два на третий". Только в "разложенном" в одну длинную ленту виде.

    Жилу мой алгоритм довольно шустро выбирает.

     

    Где будет больше руды - в кубе или в вытянутом горизонтальном слое такого же объема?

    • Нравится 1

  15. В глубине шахтерского мира, у самых лавовых озер можно часто встретить параллельно идущие узкие тоннели - игроки фармят алмазы и редкую руду. Моя программа реализует тот же принцип добычи - минимум булыжника, максимум руды.

    Программа копает узкий длинный тоннель. Каждую найденную жилу руды, робот выбирает полностью, используя специальный рекурсивный алгоритм. После того, как жила выработана полностью, робот возвращается обратно, и продолжает копать тоннель.
    Робот использует для подзарядки добытый уголь. Когда инвентарь переполняется - он ставит Ender Chest и складывает добытое в него. Затем забирает его и двигается дальше.

    2014-09-11_23.49.58.png

    Использование
    Totoro Recursive Miner:
    http://pastebin.com/sN8hJBFH (версия 0.2)

    http://pastebin.com/L21VMm7S (версия 0.5H, последняя на текущий момент. Обновленные инструкции по установке и использованию тут)

    Робот должен иметь чанклодер, генератор и хотя бы один (лучше два или три) апгрейд на инвентарь. Также желательно иметь большой объем оперативной памяти.

    В начале программы записаны две константы:

    INV_SIZE = 24
    TECH_SLOTS = 8

    INV_SIZE - общее количество слотов в инвентаре
    TECH_SLOTS - технические слоты (от начала инвентаря)

    В технические слоты кладутся образцы пустой породы, которую не надо добывать. Слотов 8, так как GregTech добавляет цветной гранит, а RailCraft - abyssal stone. Обычно в первых слотах лежит: камень, земля, гравий, булыжник, красный гранит, черный гранит, abyssal stone.
    В последний, восьмой слот, кладется Ender Chest.

    Программа принимает два параметра:


    mine [len] [height]

    len - длина тоннеля (по умолчанию - 10)
    height - высота (по умолчанию - 4)

    P.S. Бета версия. =) Может сбиваться гравием, может закончить работу на дне лавового озера. Если не положите образец земли с травой, а робот будет копать близко к поверхности - есть риск что он поедет обдирать дерн со всего "майнерс"-мира.

    • Нравится 5

  16. Как известно, жить у нас на сервере бывает опасно. Убийцы в плащах невидимках рыскают в поисках жертв, а табуны гриферов разоряют дома прямо на глазах у офигевающих владельцев.
    Моя программа не сможет предотвратить злодеяние, но запомнит негодяя и запишет его имя, дабы пострадавший знал, на кого направить свой гнев (кроме админа и модераторов, конечно).

    Суть
    Система защиты SpiderEye - это сеть motion sensor'ов в стратегически важных местах, которые соединены кабелями с компьютером.
     

    scene.png


    Помните, что сенсор - не радар. Он срабатывает только на существ в области прямой видимости. Сектор должен просматриваться и простреливаться, не создавайте укрытий гриферу! =)

    Сборка железа
    Конкретные параметры системы сильно зависят от того, сколько именно сенсоров вы присобачите к компьютеру. Процессор может обработать ограниченное количество компонентов. А именно:


    • 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".

    2014-09-12_03.46.42.png

    Итог
    У вас есть система, способная обнаружить живое существо (теоретически работает и на роботах) на подступах к вашей территории (и внутри нее). При обнаружении существа не внесенного в вайт лист или список монстров - подается сигнал редстоуна, на экран выводится мессейдж и делается запись в файл с логами на диске.
    Файлы логов расположены в той же папке, что и сама программа SpiderEye, в подкаталоге logs. Каждое событие хранится в файле помеченым датой, когда оно произошло. Например: "05_17_85.log".

    P.S. Это бета-версия программы. При обнаружении глюков, багов или шпионских закладок - сразу сообщайте мне! Спасибо за внимание.

    • Нравится 9

  17. Предлагаю обновить версию OpenComputers в сборке до 1.3.4.

    https://github.com/MightyPirates/OpenComputers/releases/

     

    Список изменений:

    • Новое: кабели теперь можно красить. Кабели разных цветов не соединяются, светло-серые (цвет по-умолчанию) соединяются со всеми.
    • Новое: голографические проекторы теперь можно поворачивать в вертикальной оси (Y) гаечным ключем.
    • Новое: подсветка в интерфейсе механизмов, которая показывает, какой предмет в какой слот можно поставить.
    • Изменено: максимальная сложность конструкции робота теперь определяется уровнем его корпуса и процессора.
    • Изменено: немного улучшена "пропускная способность" монитора при обновлении изображения.
    • Изменено: немного изменились рецепты красного контроллера (стал дороже) и апгрейда-навигации (стал дешевле).
    • Фикс: порча мира при покидании игры в сингл-плеер.
    • Фикс: поведение адаптера в некоторых особых случаях.
    • Фикс: утечки памяти OpenOS внутри игрового компьютера.
    • Фикс: некоторые рецепты не совместимы с ore dictionary (часть Forge, которая в частности отвечает за совместимость руд из разных модов).
    • Фикс: еще множество мелочей.
    • Нравится 1

  18. Программа позволяет осуществлять удаленный контроль. Где бы ни находился хозяин - он знает кто к нему пришел и может его впустить.

    Плюс программа работает независимо от привата. Если человек добавлен в белый список - он может пройти. Если не добавлен - на усмотрение хозяина.

    • Нравится 2

  19. Замок - сенсорный экран. Он посылает ник того кто "звонит в дверь" на терминал, а тот присылает ответную команду, если звонивший - хозяин, или есть в вайтлисте.

     

    Короче - очки нужны только чтобы редактировать списки и видеть лог событий.

    А входить/выходить можно и без них.

    Команда open нужна в том случае, если звонит кто-то неизвестный. Или отсутствующий с списке доступа. Тогда хозяин решает - впускать или не впускать и дает команду.


  20. Если потерял очки - не беда. Замок впустит в дом и без очков, просто не будет видно приветствие =)

    Можно будет скрафтить новые очки, синхронизировать с Google Bridge и пользоваться дальше.

    А вот если сопрут - беда. Придется блок Google Bridge наверное сломать/поставить, чтобы прервать связь злоумышленника с "сервером" =)


  21. * * *


    Новая версия SmartLock 0.4 в этом посте: ссылка.


    * * *


    Простая реализация дверного замка на Google Glass из OpenPeripherals и компьютерах из OpenComputers. Образец торчит в дверях моего дома на сервере Computer&Science. Наверняка некоторые уже подходили (знаю всех поименно ;)) и пытались понять, работает мой замок или он просто завис.

    Так вот, замок работает. Для того чтобы в дом вошел посторонний человек, хозяин должен находиться на сервере и дать соответствующую команду (при этом он может быть где угодно, хоть в Аду). Кроме того программа ведет два списка: черный и белый. Тем, кто занесен в белый список разрешение на вход не нужно. Они могут войти в любое время, даже если хозяин отсутствует (даже если они не добавлены в приват). Тем, кто внесен в черный список программа мигнет красным сигналом, и отправит уведомление хозяину.

    Интерфейс замка выводится на очки "Google Glass" хозяина дома. Его можно упростить, я оставил место под другие фичи. Основной элемент - лог. Программа выводит туда сообщения и предупреждения.
    Управление идет командами в чат.

    Программа клиент:
    http://pastebin.com/9X3u2Z9g
    Программа терминал:
    http://pastebin.com/KbSmQrcH

    Терминал - программа, которая работает с блоком Google Glass Bridge. Она запускается на отдельном компьютере, к которому подключен вышеуказанный блок.

    Клиент - программа которая работает на небольшом компьютере дверного замка. Он управляет дисплеем (который по совместительству служит кнопкой звонка) и блоком красного контроллера, который отпирает дверь. Одновременно может быть запущено несколько компьютеров клиентов (если в дом ведет несколько дверей/люков), каждый клиент идентифицируется номером порта (по дефолту - 27) в первой строке кода.

    Команды управления (пишутся в чат):
    $$show - показать интерфейс замка
    $$hide - скрыть интерфейс (он будет показан автоматически, если произойдет какое-нибудь событие)
    $$open [port] - команда отпирает дверь. Если указан параметр port - она отопрет указанную дверь. Если не указан - ту дверь с которой связано последнее событие (кто-то позвонил, например в нее).
    $$deny <port> - замок указанной двери подает красный сигнал (запрет на вход =)) Чисто косметическая команда.
    $$add <port> - команда добавляет в систему новую дверь по указанному порту.
    $$whitelist [name] - если указан ник - команда добавляет его в белый список. Если ник не указан, программа выводит белый список в лог.
    $$blacklist [name] - если указан ник - команда заносит его в черный список. Если не указан - выводит черный список в лог.
    $$remove <name> - удаляет ник из списка (В какой список он внесен - из того и удаляет).

    P.S. Забыл написать - терминал ведет лог, и пишет, кто, когда и куда звонил, кого пропустили, кто на улице остался =) Можно почитать его на жестком, в той же папке где сам терминал лежит.

    • Нравится 4
×
×
  • Создать...