hohserg
-
Публикации
433 -
Зарегистрирован
-
Посещение
-
Победитель дней
37
Сообщения, опубликованные пользователем hohserg
-
-
Коричнево-оранжевые пиксели - это травка и цветочки?
-
1
-
-
А есть на примете моды, который добавляют подобные сумочки?
-
1
-
-
Кто хочет видеть взрывных дронов, поставьте лайк этому иссью
-
1
-
-
В 04.12.2020 в 10:47, eu_tomat сказал:Что ты имеешь в виду, говоря "заранее"?
До того, как он поедет размещать схемы в реакторах.
В 04.12.2020 в 10:47, eu_tomat сказал:При таком подходе появляется риск сказать, что робот "заранее" все сделает
В данном случае имеется ввиду использование инкрементального вычисления результата на основе результата предыдущего вычисления вместо повторных вычислений с нуля.
Уменьшить числа в таблице быстрее, чем заново просканировать инвентарь. И это даст одинаковые результаты при условии, что на инвентарь робота не производится иного влияния кроме извлечения предметов самим роботом.
~~~
Т.к. количество реакторов ограничено - 81 - то не имеет смысла делать схему расстановки супер-быстрой. Достаточно сделать ее автономной и быстрее, чем ручное раскладывание. В конце концов, обсуждение задачи продолжается уже второй день. за 48-18 часов(с учетом еды и сна) можно было уже заполнить все реакторы, тратя на каждый реактор по ~20 минут. Однако это скучно и поэтому мы здесь собрались и обсуждаем эту задачу.
В 04.12.2020 в 10:47, eu_tomat сказал:параллельно тому, как игрок закидывает компоненты в инвентарь робота.
Но по условиям задачи эту работу выполняет игрок. Правда, выяснилось это не сразу.
Я не знаю, как интересно и как не интересно проводить время @demongts1998, но разве это не часть скучного гринда? Вроде бы это должен делать робот: кататься до стартового сундука и пополнять свой инвентарь. Или дрон, который бы заменил в этой скучной работе игрока
-
1
-
-
7 часов назад, eu_tomat сказал:- 0.05 сек на считывание стака
Робот может заранее просканировать свой инвентарь и в оперативной памяти хранить его представление. Если считать, что в середине работы в робота не будут подкидываться предметы, то такой подход позволит без ошибки выбирать слот для извлечения предмета "вслепую".
7 часов назад, serafim сказал:0,33 секунды
Вероятно, это сделано транспозером? Вроде бы, транспозер, перемещающий предмет за один тик должен потратить минимум 54/20=2.7 сек
-
1
-
В 02.12.2020 в 17:14, eu_tomat сказал:В схеме с двумя роботами робот-установщик выполняет одно действие каждые 8 тиков. Робот-добытчик на протяжении этих 8 тиков делает один успешный взмах киркой за 3 тика, а оставшиеся 5 тиков тратит на бесполезные взмахи киркой. Получается 5 бесполезных действий на каждые 8 тиков или на каждый обработанный блок руды.
Как были произведены такие точные измерения?
-
2 часа назад, eu_tomat сказал:Хорошая идея, но запоздалая. Если описанный выше эксперимент воспроизводится, то схема с двумя точками установки блоков лишается смысла.
Не очень понял. В чем состоит эксперимент?
-
А что, если сделать такую схему: красный робот ставит зеленые блоки перед собой и под собой, а синий ломает перед собой и над собой?
В то время, как синий ломает один блок, красный будет занят установкой другого. Таким образом, время процессинга двух блоков будет сокращено до max(placeTime*2, digTime*2), что лучше, чем в схеме с одним местом установки блока - 2*(placeTime+digTime)
-
22 часа назад, demongts1998 сказал:но учитывая особенности серва
можно поинтересоваться, что за особенности?
-
Сделал для ОС поддержку любых http-методов. Чтобы всякие веб сервисы использовать полноценно.
https://github.com/MightyPirates/OpenComputers/pull/3374
Есть одна проблема - не получается заюзать через apache http прокси из MinecraftServer.getServer.getServerProxy.
Кто шарит, помогите, плиз.
-
Вероятно, с дефолтными конфигами 25 попыток дают близкую к 1 вероятность получения макс харок семян. Но это не точно
-
Эта программа для автоматической прокачки растения до 10/10/10? Можно описание по-подробнее сделать?
-
Обнова!
Теперь интернет-карту нужно установить только в компьютер сервера HoverHelm - еще меньше требований железа, еще дешевле юз!
Для обновления скачайте дополнительную библиотеку HoverHelm: wget https://raw.githubusercontent.com/hohserg1/OpenComputersPrograms/master/player-monitoring/home/lib/hoverhelm/addition_radar.lua /home/lib/hoverhelm//home/lib/hoverhelm/addition_radar.lua
И обновите программу радара https://github.com/hohserg1/OpenComputersPrograms/blob/master/player-monitoring/radar.lua
Теперь гитхаб токен хранится в addition_radar.lua, поэтому программу радара можно положить в папку ядра
Большое спасибо @nikitaaaaa за тестирование программы
на продакшенев боевых условиях-
1
-
1
-
-
PlayerMonitoring - программа мониторинга посещения игроками некой области. Это может быть ваша база или какое-то другое интересующее место.
Позволяет
- сканировать область на наличие игроков раз в N секунд
- выводить список игроков на монитор
- выводить список игроков на гист
- уничтожает gist id и токен авторизации гитхаба при приближении опасных игроков ближе чем на 20 блоков - чтобы сохранить логи
- поддерживаются радар из Computronics и детектор сущностей из OpenSecurity
Github: https://github.com/hohserg1/OpenComputersPrograms/tree/master/player-monitoring
Видео-демонтрация
Текстовая инструкция по установке
1. Это программа для HoverHelm, поэтому сначала нужно установить HoverHelm-сервер (pastebin run xh61Yx8a)
2. Далее установите сканирующее устройство(их можно сделать несколько)
Его минимальная конфигурация(на основе сервера 1 тира):
3. Подготовьте для него eeprom (командой prepare_eeprom <device name> modem <port>) и убедитесь, что устройство коннектится к серверу
4. После скачайте radar.lua (wget https://raw.githubusercontent.com/hohserg1/OpenComputersPrograms/master/player-monitoring/radar.lua radar.lua)
radar.lua должен лежать в папке programs конкретного устройства
5. В начале файла есть секция конфигурациии, настройте в ней gistId и githubToken, если хотите выгружать логи на гист.
Подробнее про конфигурацию гиста:
Скрытый текст1. Создайте аккаунт GitHub, если еще нету
2. Посетите https://github.com/settings/tokens
3. Сгенерируйте новый токен с единственной включенной опцией gist
4. Скопируйте и вставьте токен в radar.lua
5. Создайте новый гист(New gist)
6. Последний сегмент его url - это gistId, скопируйте и вставьте его в radar.lua
6. Запустите программу из терминала HoverHelm командой your device name>radar
Также можно настроить автозапуск. Для этого:
7. Скопируйте дефолтный конфиг из /home/hoverhelm/device_core/lib/config.lua в /home/hoverhelm/devices/<device name>/lib/config.lua
8. Установите опцию autorun в конфиге устройства на значение "radar"
-
4
-
1
-
Нужно в инвентаре держать чернильницу и бумагу
-
Типа, готово. Пост в разделе программ напишу позже
https://github.com/hohserg1/OpenComputersPrograms/tree/master/player-monitoring
~~~
-
4
-
-
Радар возвращает расстояние до сущности. Имея больше трех радаров можно определить не только расстояние, но и конкретные координаты игрока)
-
А можно добавить скрины сундука до сортировки и после?
-
-
Под терминальными приложениями имеешь ввиду программы для OpenOS?
-
Разве в планшет может влезть два жестких диска?
-
Т.е. построить функцию, которая принимает строку а возвращает строку, которая получается отображением каждого символа в строку текущий символ..рандомный символ?
Типа, "abc" -> "a(b%cH"
-
8 часов назад, ProgramCrafter сказал:Создать компонент "лампа", светящийся при сигнале красной пыли.
А потом все остальные компоненты редстоуна.
А потом весь остальной контент майна
А потом forge, чтобы можно было эмулировать работу с модами
А потом... Упс, кажется, это уже не эмулятор
А вообще, это хорошая идея сделать визуальный индикатор редстоуна, но лучше его сделать не двоичным(вкл/выкл), а полноценно показывающем силу сигнала(например, надписью с числом)
-
2
-
1
-
-
Обнова!
Теперь есть инсталятор и апдейтер, процесс установки существенно упростился.
Для сравнения
До
Скрытый текстУстановка сервера:
- Установите OpenOS
- Создайте папку /home/hoverhelm/
- Загрузите в нее файл https://raw.githubusercontent.com/hohserg1/HoverHelm/master/server/home/main.lua
- Создайте папку /home/lib/hoverhelm/
- Загрузите в нее все файлы из https://github.com/hohserg1/HoverHelm/tree/master/server/home/libs/hoverhelm
-
Откройте /home/lib/hoverhelm/config.lua для редактирования
- Добавьте желаемые к использования сетевые и связанные карты по образцу
- Можно настроить пути расположения пользовательских папок и папки клиентского ядра
- Создайте папку ядра устройств(по умолчанию /home/hoverhelm/device_core/)
- Загрузите в нее файлы из https://github.com/hohserg1/HoverHelm/tree/master/core
Установка клиента:
- Загрузите в /home/hoverhelm/ файл https://raw.githubusercontent.com/hohserg1/HoverHelm/master/eeprom-client/primary-eeprom.lua
- Откройте /home/hoverhelm/primary-eeprom.lua для редактирования
- Если устройство будет использовать сетевую карту, то замените строку ---[[#if_def tunnel на --[[#if_def tunnel
- Если устройство будет использовать связанную карту, то замените строку ---[[#if_def modem на --[[#if_def modem
- Прошейте свободный EEPROM: flash -q primary-eeprom.lua <deviceName>
-
Если устройство будет использовать сетевую карту, то
- Откройте интерпретатор lua
-
Запишите в eeprom.setData адрес сетевой карты сервера, порт и адрес сетевой карты устройства через ":"
- eeprom.setData("server-address:111:device-address")
- адрес сетевой карты устройства указывать необязательно, если имеется только одна сетевая карта
После
Скрытый текстУстановка сервера:
- Установите OpenOS
- Выполнить команду pastebin run xh61Yx8a
-
Отредактируйте открывшийся конфиг
- Добавьте желаемые к использования сетевые и связанные карты по образцу
- Можно настроить пути расположения пользовательских папок и папки клиентского ядра
Установка клиента:
- Запустите HoverHelm server
- Выполните команду prepare_eeprom <имя устройства> <адрес сетевой карты со стороны сервера или ее тип(если она одна)> <порт> <адрес сетевой карты со стороны клиента, необязательно если карта одна>
Оптимизирован сетевой диск: появился файл конфигурации /frequentlyReadedFiles.txt, задающий список часто читаемых файлов. Контент этих файлов отправляется устройствам на ранней стадии инициализации без запросов со стороны устройств. Когда устройству в дальнейшем нужно будет прочитать этот файл, то вся необходимая информация уже имеется локально и не требуются вызовы сетевой карты.
Время инициализации снижено с 5.5сек до 3.5сек. А время второй и последующих инициализаций снижено до 2.9сек благодаря сохранению кэша файлов во временной файловой системе.
Добавлена программа lua repl - можно в интерактивном режиме выполнять код на устройствах
Добавлена серверная команда about - краткое описание, ссылки, версия и благодарности
-
6

Допиливание программы для схемы реакторов
в Новые заказы
Опубликовано: · Изменено пользователем hohserg
Получается, лучше не предлагать решения, которые приведут к удалению ОС с сервера? В частности, не предлагать решение, которое выглядит как "программа воспроизводит любое количество реакторов полностью автоматически, от юзера требуется только указать точки, где строить и закинуть необходимые компоненты во входной сундук" ?
Почему я об этом задумываюсь:
Если кто-то считает, что утверждения выше не истинны, пожалуйста, покажите почему они не истинны. А до тех пор:
Это две истины, противоборствующие за выбор "автоматизировать или нет?"
Действительно хорошим решением мне кажется выход за рамки этих двух вариантов, но это вроде как не в компетенции игроков. Ведь нельзя заменить кучу реакторов существенно меньшим количеством? Для этого нужно, чтобы один реактор мог быть лучше чем сотня(чтобы вместо 324 реакторов строить всего 3). Существует ли схема для обычного реактора, которая бы позволяла тратить топливо и генерировать энергию в 100 раз быстрее?