eu_tomat
-
Публикации
2 666 -
Зарегистрирован
-
Посещение
-
Победитель дней
331
Сообщения, опубликованные пользователем eu_tomat
-
-
1 час назад, whiskas сказал:Openperipheral в помощ. Он и на старой версии имеет метод getAllStacks
Да, крайнее полезная вещь для управления реактором. Позволяет единственным адаптером и предметы перемещать, и температуру опрашивать. Но постоянный опрос всего подряд я считаю излишней нагрузкой на и без того перегруженный сервер.
1 час назад, whiskas сказал:2 компа могут почти одновременно забирать и возвращать целый конценсатор в реактор. Сложность только их вместе заставить работать
Для меня эта "сложность" выглядит непреодолимым препятствием.
На практике синхронность операций не гарантирована даже на слабо нагруженных серверах. Непрерывное же поддержание синхронизации потребует как минимум удвоения количества необходимых действий, что полностью уничтожает полученное преимущество от использования второго компьютера. В сравнении со схемой на единственном компьютере суммарная полезная производительность даже немного снизится.
Как ты предлагаешь решать эту "сложность" хотя бы в теории?
-
1
-
-
27 минут назад, Asior сказал:Анализ слотов с конденсаторами будет нереально долгий, увы но на старой версии нельзя за 1 тик получить данные со всего инвентаря.
Не обязательно анализировать все слоты. Опроса единственного слота достаточно для вычисления количества прошедших реакторных тиков, что даёт знание не только текущего износа всех конденсаторов, но и того, на каком тике тот или иной конденсатор не сможет поглотить предназначенное для него тепло. Можно и вообще не опрашивать слоты, ориентируясь исключительно на время работы реактора между включением-выключением.
30 минут назад, Asior сказал:там где они играют тпс выше 3-6 не поднимается поэтому вероятность взрыва сохраняется всегда
Согласен: есть шанс не успеть для этой схемы и с таким TPS. Чисто теоретически для безопасной работы достаточно было бы и 1 TPS. Но мы же говорим о среднем значении, а в какой именно момент слоты времени достанутся управляющему реактором компьютеру на перегруженном сервере, угадать невозможно. Но при аккуратной работе шанс взрыва даже этой схемы и даже с таким TPS очень мал.
Аккуратная работа:
- Загрузили реактор топливом и конденсаторами
- Вычислили время ближайшей замены конденсаторов, уменьшив его на половину реакторного тика.
- Подали сигнал красной платой, находящейся в управляющем компьютере.
- Выждали нужное количество реакторных тиков в os.sleep и убрали красный сигнал.
- Заменили уже непригодные конденсаторы. Их даже проверять не надо, они вычислены ещё до пуска реактора.
- Вычислили время ближайшей замены следующей партии конденсаторов и т.д. по кругу.
Так как время работы реактора уменьшено на половину реакторного тика, конденсаторы могут чуть не догореть до своего предела. Эту недоработку тоже можно исправить, но это вопрос отдельной тема с большим количеством текста и практических исследований. Если кратко: надо поддерживать синхронизацию компьютера с реакторными тиками, минимально нагружая сервер. Это трудно сделать, учитывая, что синхронизация регулярно теряется, а точно восстанавливать её на сервере с низким TPS бывает проблематично. А в это время надо не только синхронизацию поддерживать, но и параллельно выполнять замену компонентов реактора, что нелинейно усложняет алгоритм.
-
1
-
@ECS О какой библиотеке идёт речь? Стандартная библиотека в составе OpenOS не может корректно работать с таким кодом.
-
1
-
-
5 минут назад, whiskas сказал:твой вариант с постоянно открытым файлом и записивать посекторно думаю может сработать
Да, это первое, что стоило попробовать. Но, насколько я помню, filesystem позволяет одновременно держать открытыми максимум 16 файлов.
Поэтому рано или поздно потребуется ограничить количество файлов и хранить несколько виртуальных файлов внутри одного, используя аналог файловой системы. В этом случае проще будет использовать единственный файл. А уже тогда можно будет с лёгкостью отказаться от компонента filesystem, получив дополнительное ускорение. И B-tree будет выглядеть более уместно.
Просто советчики немного забежали вперёд, а по сути их предложения вполне обоснованы.
-
1
-
-
5 часов назад, whiskas сказал:можна пример? Ато не доконца понимаю что это означает
Держа диск в руке, нажимаем правую кнопку мыши. В появившемся интерфейсе нужно выбрать режим "unmanaged". Теперь этот диск будет определяться не как filesystem, а как drive с соответствующим набором свойств и методов.
Компонент drive позволяет посекторно читать с диска и писать на него примерно в 6-7 раз быстрее, нежели при работе с компонентом filesystem.
36 минут назад, whiskas сказал:в 1 файлике хранить это все не смогу.
А что мешает всё хранить в одном файле? К слову, использование режима unmanaged очень похоже на работу с единственным файлом. Также поверх unmanaged-диcка можно написать свою файловую систему, позволяющую держать нужное количество файлов постоянно открытыми.
-
1
-
-
1 час назад, whiskas сказал:открытие каждого файлика тратится 1 тик
В качестве БД можно использовать один постоянно открытый файл или же ограниченное количество открытых файлов. Это позволит исключить затраты на открытие-закрытие файлов.
-
2
-
-
5 часов назад, ProgramCrafter сказал:Предлагаю объединиться и обсудить, какой вариант лучше использовать для какого дела (список проблем ниже).
Всё зависит от конкретных обстоятельств и намеченной цели. Майнкрафт же, будучи расширяемой песочницей, позволяет выбрать как цели, так и условия игры. Поэтому никто точно не скажет, что именно лучше. Предлагаю конкретизировать понятие "лучше". Чем именно лучше?
Например, одна копалка может не очень чисто выбирать руду. Это плохо. Но она может показывать более высокую производительность, нежели копалка, работающая чисто. Какая из этих двух копалок лучше? А третья копалка может копать руду и чисто и быстро, но имеет на порядок большее потребление энергии. Она лучше или хуже двух предыдущих?
А ещё есть множество серверов с уникальными настройками, сильно отличающимися от исходных. Может отличаться соотношение частот спавна руд при генерации, стоимость и доступность крафтов, ограничение на количество используемых механизмов. И хорошая схема для одного сервера может оказаться неприменимой на другом. Как сравнивать в этом случае?
-
2
-
1
-
1
-
-
30 минут назад, _bongo_ сказал:существует более улучшенный способ хранения предметов
МЭ система...
я не думаю что ты будешь хранить и добывать квадрилион предметов
тк просто столько предметов невозможно добыть
Невозможно добыть, опасно заполнить и бессмысленно хранить.
К слову, автор уже использует AE как часть общей системы. И главная её проблема не в том, чтобы заполнить, а в том, чтобы как-то разумно использовать, о чём сразу и сообщил автор:
15 часов назад, ProgramCrafter сказал:Проще всего использовать это хранилище как свалку. В нём слишком много слотов, чтобы можно было что-либо найти.
Так что, главная трудность ещё впереди.
-
2
-
1
-
-
1 час назад, ProgramCrafter сказал:Пока что это только концепт хранилища, я его ещё не строил.
Тогда почему эта тема находится в разделе "Программы"? Чем не устраивают разделы "Идеи" или "Беседка"?
И это даже не концепт, а, скорее, набросок концепта. Лично я не понял, как это работает.
2 часа назад, ProgramCrafter сказал:Каждый блок имеет такую архитектуру (С - сундук, Т - транспозер, К - контроллер):
Зачем нужен контроллер? Как связана сеть контролеров и транспозеров? Как расшифровать эту схему? Это вид сверху, сбоку или в разрезе? Как всё это выглядит в объёме?
2 часа назад, ProgramCrafter сказал:Хранилище состоит из шестнадцати блоков четырёх типов - α, β, γ и δ.
...
Каждый блок имеет такую архитектуру (С - сундук, Т - транспозер, К - контроллер):
Что значит, каждый блок? Если архитектура всех блоков одинакова, то каким образом их можно разделить на типы? А если не одинакова, то чем отличается структура блоков одного типа от структуры другого?
-
1
-
-
2 часа назад, Sasiso4kaS сказал:Есть схема реактора на 19к Eu/t и она требует постоянной замены лазуритовых конденсаторов. Нужно сделать так, чтобы они заменялись автоматически на новые.
Понимаю, что реакторных схем с выходом энергии не менее 19 k eu/t не так много. Тем не менее, важно конкретизировать требуемую схему.
Реализация универсального алгоритма оптимальный замены потребует гораздо больших усилий от программиста, и не факт, что она окажется устойчивой на перегруженных серверах.
Для конкретных же схем составить оптимальный план замены конденсаторов заметно проще.
-
1
-
-
4 минуты назад, OpenReactor сказал:Как обрезать это?
первые 3 символа.
1.1
> return reguser:sub(4) 0a4d55a8d778e5022fab701977c5d840bbc486d0,d8f4590320e1343a915b6394170650a8f35d6926,8888
-
1
-
-
2 минуты назад, OpenReactor сказал:Это то что отправляет сервер.
Не будем ему в этом препятствовать. Каков формат этих данных? Как их интерпретировать?
Какой участок строки отвечает за что?
В 05.08.2021 в 20:18, OpenReactor сказал:local reguser = "1.10a4d55a8d778e5022fab701977c5d840bbc486d0,d8f4590320e1343a915b6394170650a8f35d6926,8888"
versions = 1.1
login = '10a4d55a8d778e5022fab701977c5d840bbc486d0'
Какой критерий позволяет определить, что versions = 1.1?
-
1
-
-
3 минуты назад, OpenReactor сказал:У меня версия без запятой.
Сеанс телепатии прошёл неудачно. Я счёл вводные данные ошибочными.
Но предположим, ошибки нет. Получается, что поля данных внутри исходной строки перекрывают друг друга.
Это ошибка, или так и задумано?
В 05.08.2021 в 20:18, OpenReactor сказал:local reguser = "1.10a4d55a8d778e5022fab701977c5d840bbc486d0,d8f4590320e1343a915b6394170650a8f35d6926,8888"
...
versions = 1.1
login = '10a4d55a8d778e5022fab701977c5d840bbc486d0'
local reguser = "1.10a4d55a8d778e5022fab701977c5d840bbc486d0,d8f4590320e1343a915b6394170650a8f35d6926,8888"
local reguser = "1.10a4d55a8d778e5022fab701977c5d840bbc486d0,d8f4590320e1343a915b6394170650a8f35d6926,8888"
-
1
-
-
> reguser = "1.1,10a4d55a8d778e5022fab701977c5d840bbc486d0,d8f4590320e1343a915b6394170650a8f35d6926,8888" > t={} > for s in reguser:gmatch("([^,]+)") do t[#t+1]=s end > versions, login, pass, seed = table.unpack(t) > > print( versions ) 1.1 > print( login ) 10a4d55a8d778e5022fab701977c5d840bbc486d0 > print( pass ) d8f4590320e1343a915b6394170650a8f35d6926 > print( seed ) 8888
-
2
-
-
45 минут назад, MrFredber сказал:Ну если стоит тэг "OpenComputers", то думаю, что OpenOS
OpenOS является не единственной операционной системой для OpenComputers.
А механизм доступа к запущенным процессам полностью определяется именно операционной системой.
-
1
-
-
46 минут назад, serafim сказал:в основном выбивает nil иногда ошибку 403
А разве ошибка 403 не является ответом сервера? Или OC может каким-то образом сам её подсовывать вместо ответа сервера?
-
1
-
-
27 минут назад, serafim сказал:Оказалось что ОС отправляет запрос серверу, а сервер присылает ответ, но ОС его игнорит
Это в какой-то определённой серверной сборке ответ игнорируется, или OpenComputers так себя ведёт с настройками по умолчанию?
-
1
-
-
О какой операционной системе идёт речь?
-
1
-
-
7 минут назад, Eternaldd сказал:Так ошибка конкретно при доступе через oc на сервере. Сам сайт находится в свободном доступе.
Тогда промежуточный сервер поможет. Причём, лучше было бы эти огромные файлы не скачивать и не хранить, а просто перенаправлять запросы к файлам на целевой сервер. Но такое решение выйдет далеко за рамки Lua и OpenComputers.
-
1
-
-
17 минут назад, Eternaldd сказал:Идея в том, чтобы как-то это обойти. Если бы их можно было куда-то залить и после беспроблемно скачать.
Если движок сайта выдаёт ошибку 403, то обычно это никак не обойти. Если доступ блокируется по IP, то может помочь доступ через прокси.
Если ошибка выпадает не постоянно, тогда, пользуясь временной возможностью, можно залить файлы на промежуточный сервер. Но какой в этом смысл, если требуется актуальная версия логов?
-
1
-
-
8 минут назад, AndySingularity сказал:Вот вы и сами подметили ситуацию с активностью
К сожалению, я не свежая кровь. Я на этом форуме с 2014
Звучит так, будто бы это форум нытиков. Подозреваю, для кого-то так и есть. Местная ячейка партии нытиков хотя и ослаблена, но до сих пор жива.
Но кому интересен изначальный замысел форума, те задают вопросы как по OpenComputers, так и по ComputerCraft и пишут программы. Нет другой активности, кроме той, что создаём мы сами.
Кстати, надо отдать должное критикуемому в этой теме моду. Хотя большинство из нас и оказалось на форуме благодаря урокам @1Ridav по Lua в ComputerCraft, тем не менее подавляющее большинство программ написано форумчанами именно для OpenComputers.
-
1
-
1
-
-
43 минуты назад, AndySingularity сказал:Да, я пришел поныть.
Ну наконец-то кто-то пришёл по-настоящему поныть!
Наша местная ячейка партии нытиков была надолго обескровлена ожесточёнными дебатами о преимуществах одних модов над другими. Последние недели даже у самых активных её членов силы оставались лишь на расстановку грустных реакций под каждым постом.
Но OpenComputers продолжает обеспечивать приток свежей крови даже в партию нытиков. Так победим.
-
2
-
1
-
-
Многое смешалось в этой статье. Но я попробую разобрать.
Какой мод лучше для программирования?
Оба мода хороши. ComputerCraft проще в освоении, но OpenComputers обеспечивает большее разнообразие задач для программирования.Обязательно ли новичку отвлекаться на крафт компьютеров и роботов?
Нет, не обязательно. В творческом режиме компьютер создаётся одной консольной командой, а готовый робот с внушительным обвесом доступен в NEI. Почти все программы, взаимодействующие с миром, изначально пишутся и тестируются в творческом режиме, и лишь после этого переносятся сначала в режим одиночного выживания, а затем и на сервера.Являются ли проблемой усложнённые крафты компьютеров на тех или иных серверах?
Нет, это проблема самих серверов. Она не имеет отношения ни к самим модам, ни к программированию. На конкретном сервере крафт черепашки может оказаться даже сложнее крафта робота.OpenComputers убивает поток свежей крови на форум?
Тут надо подумать. Как наличие второго мода мешает новичкам изучать первый? Да, старожилы форума в большинстве своём предпочитают OpenComputers. Но они не препятствуют другим участникам писать программы и статьи о программировании в ComputerCraft.Итог:
Читатели негативно воспринимают нытьё. Нужна конструктивная критика и предложения. Что требуется сделать для обретения комфорта? Чем может помочь администрация форума? Чем могут помочь старожилы? Чем может помочь сам автор этой статьи? Что в результате этих действий ожидает увидеть автор?-
2
-
1
-
1
-
-
4 часа назад, Griffi сказал:Я таким не занимался и не проверял работает ли
Для начала можно хотя бы ознакомиться с кодом скрипта. Он как раз и работает через mount/umount.
-
1
-

Как связать очки с мостом (OpenPeripheralAddons)?
в Общие
Опубликовано:
В интернете вообще есть информация про это: Гайд по OpenPeripheral#1 Terminal Glasses.