Лидеры
Популярный контент
Показан контент с высокой репутацией 05.02.2019 в Сообщения
-
3 баллаВсем здрасти. Скрины: Клиент 1: Клиент 2: Лог сервера: Реализовано: Выдача IP Передача данных по выданым IP Регистрация/удаление доменов Получение IP адреса по домену То что хочется реализовать: Улучшить защиту, возможно сделать шифрование -Улучшить способ передачи данных между внутриигровыми IP Сделать библиотеку для пользовательских программ(С++, Java, Python, итп) для управления\получения данных OC через сервер, а так же поддержку Arduino(Можно будет выводить значения на экран подключеный к Arduino) Добавить поддержку децентрализации если в сети более 1 сервера(Можно будет делать межсерверные DNS-запросы) (Продолжение следует) Плюсы: Можно соединять OC компьютеры стоящие на разных MC серверах Быстрая работа сервера Минусы: Нужна оптимизация и поиск багов Плохая защита Исходники GitHub: https://github.com/TheConnBit/OpenComputersDHCP-DNS P.S. Там же объяснение всех команд, итп Исходники для ленивых (обновлено): Сервер (Запускать через консоль java -jar и лучше в отдельной папке): DHCP-DNS-Server.jar Клиентская библиотека: ddns.lua На скрине показано: подключение к серверу, выдача IP, регистрация домена, запрос IP домена, передача данных, получение, удаление домена, отключение Вообщем, сильно не пинайте за код. Если кто возьмется искать\найдёт баги или будут предложения что улучшить\добавить, пишите мне сюда или на почту bithovalsky@gmail.com Сначало была идея только DHCP сервера, но потом я накнулся на статью Programmist135: http://computercraft.ru/topic/1853-dns/ и реализовал DNS. Последние изменения: - - v1.1 Исправлены названия функций Исправлен перевод Функция Resolve теперь возвращает IP Пофикшены отключения сервером клиентов из за таймаута Echo запроса Список доменов теперь указывается в файле config.properties Изменён способ отправки сообщений по IP, появились порты --Bit
-
2 баллаНу может так и удобнее для вас будет. Но попробуйте на одном роботе, как я в GIF показывал. Уверен вы будете приятно удивлены скоростью работы. Всетаки лучше 1 паузу сделать, чем ожидать пока роботы синхронизируют свою работу. --https://i.imgur.com/9aw0a6E.gifv --блоки руды сверху в сундук закидывать --сыпуху вниз будет скидывать --перед роботом не забудьте поставить подставку, так будет точнее ставить local r = require('robot') while true do r.select(1) if r.suckUp(64) then local rep = r.count(1) for i=1,rep do r.place() while not r.swing() do os.sleep(0) end end for i=1, r.inventorySize() do if r.count(i) > 0 then r.select(i) r.dropDown(64) end end else os.sleep(15) end end П.с. Удивительно но я же свою программу щас использую...
-
1 баллКак известно, жить у нас на сервере бывает опасно. Убийцы в плащах невидимках рыскают в поисках жертв, а табуны гриферов разоряют дома прямо на глазах у офигевающих владельцев. Моя программа не сможет предотвратить злодеяние, но запомнит негодяя и запишет его имя, дабы пострадавший знал, на кого направить свой гнев (кроме админа и модераторов, конечно). Суть Система защиты 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. Это бета-версия программы. При обнаружении глюков, багов или шпионских закладок - сразу сообщайте мне! Спасибо за внимание.
-
1 баллИногда надо связать несколько компьютеров на большом расстоянии или между мирами, или даже между серверами. Так как у нас есть интернет-карта, можно провернуть несложный хак - пустить информацию через внешний сервер. Но чтобы не писать серверную часть, можно использовать готовый протокол с готовыми серверами. Получается крутая связанная карта для многих компов. Данная программа реализует IRC мост, по которому могут общаться не только опенкомпы, но и любые устройства с интернетом. Например, можно с мобильника дать команду своим компьютерам на нескольких игровых серверах. Использование: Скачать программу pastebin get CmLFFF7g /bin/imodem.lua Проверить наличие интернет-карты в компьютере Запустить программу imodem В течении некоторого времени будет устанавливаться связь, а затем можно работать с модемом. Чтобы послать сообщение всем устройствам на канале, есть функция imodem.broadcast( сообщение: строка ) Чтобы послать сообщение по определенному адресу - imodem.send( получатель: строка, сообщение: строка ) Для разрыва связи и прекращения работы - imodem.stop() А чтобы принимать сообщения, достаточно ловить событие modem_message, как у обычных модемов. Адрес сервера и канал можно изменить в коде программы, желательно иметь сервер без обрезания ников и защиты от флуда.
-
1 баллЯ очень обожаю дронов из OC, довольно быстрые и манёвренные(и дешёвые!). Меня смущает насколько автофермы из разных модов дорогие, так что вот решение этой проблемы: В программе есть конфигурация, состоит она из: Размер фермы по X и Z Ожидание в секундах(Это нужно для того, чтобы культура успела вырасти) Ожидание при зарядке(Если дрон разрядился во время полёта) Процент заряда, при котором дрон вернётся домой Версия работы(лкм/пкм) Конфигурация дрона совсем простая, нужен лишь инвентарь, при желании можно запихнуть и 2 инвентаря, солнечную панель. Установка довольно простая: Пишем: wget https://raw.githubusercontent.com/BrightYC/Other/master/dronefarm.lua Делаем чистый EEPROM Вставляем в компьютер Пишем flash -q dronefarm.lua dronefarm.lua Вставляем в дрона ??? Профит! Расстановка фермы: Где жёлтый - граница фермы Красный - место стоянки Длина и ширина может быть любой, главное чтобы зарядки хватило(Если у дрона переполнится инвентарь или разрядится до 20% от общей зарядки единиц - он вернётся на базу)
-
1 балл😃 Надрал картинок блоков откудато (то ли в Blender отрендерил, то ли тупо с википедии содрал) и сложил из них основу. Потом немного допилил в Inkscape. Короче чудо тулзы не было, а просто немного свободного времени чтобы этой хренью заняться.
-
1 баллИменем p135, представляю вам программу! Две программы! Ладно, без шуток. Всем привет. Я разрабатываю mcGSM. А соответственно нужны будут DNS для удобного доступа. Пока на разработку времени нет, но я уже написал модуль для этой штуки. Пока не для этой, а для простых модемов. Потом переделаю. Ладно, не медлим, давайте. Это DNS. Да, он самый с доменами второго уровня (p135.ru, mcdns.net, ...). Значит у него есть две части: сервер и клиент. Работает он по такому принципу: Компьютер запрашивает у DNS-сервера адрес, при помощи библиотеки. DNS-сервер ищет в своей папке сначала домен этого адреса, затем сам адрес. Например, p135.ru будет находится здесь: /dns/ru/p135.dns. В файле содержится адрес регистратора - он отправляется тому, кто запросил. Если адреса не существует, то отправляется сигнал, что "адреса p135.net не существует" Надеюсь понятно обьяснил. Код: Сервер: http://pastebin.com/5VnJQawh Клиентская библиотека: http://pastebin.com/YzwiG4gb И так, перейдём к настройке. Сервер: Ставим комп (или сервер) с модемом (какой хотите, проводной, беспроводной, dial-up...) Создаём папку dns в корне (или другую, только в переменной dir не забудьте поправить) В этой папке создаём папки с названиями доменов: ru, com, net, io, какие хотите Скачиваем и запускаем сервер. [!] Если кто-то попытается зарегистрировать домен, например, ty, то у него ничего не выйдет. Система не позволит. Чтобы разрешить, также создайте папку ty. Клиент: Скачиваем библиотеку Открываем её редактором edit Изменяем переменную "dns_server" на адрес вашего сервера (отображается при запуске) Сохраняем ... Пример пользования клиентом: lua> dns=require("dns") lua> =dns.register("p135.ru") -- регистрируем true lua> =dns.get("p135.ru") -- получаем ip этого домена "de63ba47-beb6-4055-a016-e4090c18cdb5" lua> =dns.register("p135.ru") false -- домен уже существует lua> =dns.register("p135.ty") false -- нельзя, мы не разрешили регистрировать домены ty lua> =dns.register("p135.io") true -- можно зарегистрировать второй домен на один и тот же адрес - оба будут направлять на него Вот и всё. Спасибо за прочтение. Да кстати, dns.get(...) выполняется практически моментально. В следующей версии планирую сделать домены третьего уровня, а также красивый графический интерфейс для сервера. Забыл сказать, проект называется mcDNS. Почему не OpenDNS? Потому что это уже реально существующий проект. Ну, и пример в картинках
Эта таблица лидеров рассчитана в Москва/GMT+03:00
