Лидеры
Популярный контент
Показан контент с высокой репутацией 11.03.2022 в Сообщения
-
3 баллаСильный ход. Наконец-то исходный код защищён. Темы в разделе программ без самих программ перемещаются на свалку.
-
2 баллаВерну назад всенепременнейше. Если вдруг забуду, напомни мне отдельно. Булинг у нас запрещён. А незлобный троллинг вполне допустим.
-
2 баллаЕсли есть исходный код, то маловероятно что оно закрыто. У меня не хватает идей, как это сделать. Из разряда "у меня вот есть такая вот программа, но я вам не дам её"
-
1 баллРешил написать свой мультизагрузчик. Возможно, он похож на тот, что поставляется с комплектом MineOS, так что в целом является неплохой заменой стандартного биоса. Установка: Для OpenOS, просто запустите эту команду: wget -f https://raw.githubusercontent.com/BrightYC/Cyan/master/installer.lua /tmp/installer.lua && /tmp/installer.lua Для MineOS же есть приложение в местном AppMarket, под названием Cyan BIOS. Там тоже довольно элементарно. Исходники лежат тут: https://github.com/BrightYC/Cyan Что он может? Возможность загрузки/доступа к загрузчику по "белому" списку Lua-интерпретатор Возможность подключения компонентов "на лету" Возможность отформатировать/переименовать файловую систему Загрузка по интернету Доступ по белому списку: Ограничивает возможность управления биосом (на программном уровне), так же, если установить require user input, биос будет ждать нажатие от пользователя в белом списке. Shell: Позволяет выполнять некий код "на лету". Имплементированы следующие функции: print(...) proxy(componentName: string): component proxy or nil sleep([timeout: number]) Демонстрация: P.S Огромное спасибо @Fingercomp за лекцию по экранированию символов.
-
1 балл
-
1 балл@rootmaster Против слива исполняемого кода не поможет ничто, если ты этот код собираешься распространять. Каким образом достать код Lua из запускаемой программы? Секрет фирмы... Так и event.push не очень много кто и что использует. Я-то уже понял. Единственная проблема - почему тот, кто читает эту тему, узнаёт об этом только на 9 комментарии?
-
1 балл
-
1 баллПотому-что нет ничего слаще, чем вскрыть "защищенный" код и разобраться как оно работает. кстати это слово пишется иначе.
-
1 баллпоч все всегда сливают мои исходники, я то не против но я не давал вам на это разрешения
-
1 балл
-
1 баллНад игровым сервером первым вызывался работать @Wolframoviy, он разбирается в предмете лучше меня, поэтому эту задачу я делегировал ему. На данном этапе он не разделяет моего подхода к открытости, но пытаться переубедить его я не буду. Тратить на это силы я считаю нецелесообразным. На данном этапе я предпочитаю запустить хоть что-нибудь, даже далёкое от идеала. Если какая-то из моих идей мешает этой цели, я отложу эту идею до лучших времён, или буду обсуждать в других темах. Если ты хочешь присоединиться к работе над имеющимся сервером, обсуждай это в первую очередь @Wolframoviy. Не знаю, почему тебя игнорирует он, но я, например, неохотно отвечаю на твои посты с провокационными выпадами. А они имеются не только в этой теме. Взять даже твои слова из приведённой цитаты. Здесь ты уверен, что лучше меня знаешь, что мне делать. Если ты сохранишь такой же подход в командой работе, то команда может не выиграть от твоего присутствия, а проиграть. Если ты считаешь себя умнее других, то можешь возглавить собственный проект. В противном же случае следует воздерживаться от категоричных заявлений, а если вдруг в твоих словах имеется какой-либо намёк на категоричность, следует явным образом продемонстрировать своё "по моему скромному мнению". Теперь по поводу того, чем мне лучше заняться, и чем заняться хуже. Выше уже сказали про дискорд и про IRC, связь налажена, и я не вижу для себя такой задачи. На форуме же я предпочитаю обсуждать вопросы именно для того, чтобы по возможности сохранить шаги разработки. Файлы конфигурации пока останутся закрытыми. Но благодаря обсуждению здесь любой желающий сможет воспользоваться рецептами из этой темы. Если же мы будем вести с тобой обсуждение в мессенджерах, то и его результаты окажутся скрытыми от широкой публики. Считаю, чта это цель является общей как для меня, так и для тебя. Твои намёки на чью либо некомпетентность побуждают человека либо оправдываться, либо нападать в ответ, либо игнорировать. В этот раз я предпочёл объяснить свои действия. И слегка напасть. Надеюсь, написав этот пост, я потратил свою энергию не напрасно.
-
1 баллЕсли бы я мог, я бы послал всех подальше, однако здесь нормальное общество, и посылать его некуда. Да я признаю что сервер имеет кучу проблем, всё такое. Однако я ни разу не сломал сервер ручками, конфиги были настроены до открытия и сейчас их редактировать смысла нет. Да, я не глубок в разработке серверов с модами. Я хотя бы сервер сделал, его у вас два года не было.
-
1 баллИ зачем мне эта статья? Не нравится ДС, есть IRC, которая опять таки связана с ДС. Смысл в том, что необходима связь быстрая, а не как на форуме, 1 ответ в сутки и то если человек заглянет. Так подскажи, в чем проблема то? Зайди на сервер, пощупай его, пойми его проблемы с точки зрения игрока, предложи варианты исправления и вступи в наш клуб детского сада. А я вот все это пишу с телефона. Нормально оно все работает.
-
1 балл
-
1 баллЕсли человек не умеет писать и пишет настолько безграмотно, что не справляется автокорректор, возможно стоит попробовать ввод текста посредством речи. Это может, за исключением знаков препинания, полностью решить проблему. Если, конечно, в наличии такая возможность и человек является носителем русского языка. Конечно, возможно, что вы рептилоид или пришелец с далёких планет, но вероятность этого исчезающе мала, ей можно пренебречь.
-
1 баллЯ рад, что мы по большей части понимаем друг друга. А то, что не понимаем, попробуем прояснить. Я, конечно, не филолог, но попытаюсь как-то сформулировать. Существует слово "блин". Если мы с тобой говорим о выпечке блинов, или об их вкусовых достоинствах, то это обычное, нейтральное слово. Но если ты его употребляешь, обращаясь к собеседнику, то мы все знаем, что это эвфемизм. И если ты употребил это слово, то значит, чем-то раздосадован. Собеседник, владеющий языком, воспринимает эту эмоцию именно как твою досаду. Но собеседник не знает, что с тобой происходит. Может, у тебя зуб болит. Может, ты не хочешь, чтобы он тебя спрашивал. Может, собеседник не нравится тебе лично. Он не знает, и поэтому додумывает причину сам, на свой выбор. Но на всякий случай не общается с тобой. Я приведу твоё типичное выражение "да, блин, я хз, чо там". "Блин" намекает собеседнику, что ты чем-то недоволен. "ХЗ" сообщает, что ты чего-то не знаешь, и знать не желаешь. "Да и чо ты ко мне вообще привязался" — это между строк читается. А если ты этого не имел в виду, то зачем используешь грубую форму? Что мешает сказать нейтральное "я не знаю"? Эвфемизм не меняет смысла слов. Он позволяет обойти формальные фильтры. Но мы же тут не роботы, чтобы всё воспринимать формально, все скрытые смыслы нам известны. Мы же знаем, что фраза "следить за базаром" к торговле не имеет никакого отношения. Но звучит грубо, согласись?
-
1 баллПлюс за активность и за софтину. Но я если честно не совсем понял в чём идея? То есть, при каких условиях я, как пользователь, могу захотеть установить этот пакет? Перетасованы файлы автозапуска, зачем? В чём безопасность и от кого защищаемся? Есть на дискетке. Она редко нужна, так что обычно просто диск засоряет, который не особо большой. Алиас для dmesg? Алиас для cp? Алиас для zn? ) Алиас для ls -a? Они вроде и так закрывались, когда закрывалась родительская программа. Килл уже был, а почему прерывания ограничены - не особо понятно. Выглядит как урезание функционала Thread API. Далее тоже какие-то перестановки того что уже и так было. Хук для отключения достаточно просто добавляется в любую программу. Одна строка, если ничего не путаю. Не уверен что есть смысл иметь его на уровне системы, но допустим. Снова ограничения. И как определяется "первая" клава? Primary компонент? А если это не та которую надо? Я проверял, OpenOS работает без видеокарты и экрана. Просто смысла в ней меньше. Когда не нужен экран и видекарта обычно пишут код под EEPROM на микроконтроллер. Типа для компа, которому почему-то надо много видюх, но они не используются? Довольно редкий кейс. Короч, коммент уже довольно длинный, но когда читаешь вот такого рода вопросы и возникают. Всё вместе выглядит как рандомный набор программ и библиотек разной степени нужности. Это редко нужно на одном компьютере, потому что места всегда мало и его хочется экономить. Плюс изменения стандартного поведения библиотек OpenOS и урезание функционала. Это обычно плохая идея потому что вносит неразбериху в привычный порядок вещей, а профит который ты получаешь взамен не очень очевиден.
-
1 баллТоварищ, это конечно замечательно, что ты что-то делаешь и пишешь, но есть 1 большая просьба, и не только от меня: пиши, пожалуйста, грамотно по-русски.
-
1 балл
-
1 баллДобавлена поддержка нескольких загрузочных файлов (если на одном физическом диске, например, майнось и опенось)
-
1 баллНекоторое время назад я публиковал программку - интернет-мост Stem. Он очень простой в использовании, но к сожалению пока не лишен некоторых глюков. А кроме того, у него есть недокументированные возможности. Предлагаю сейчас поиграться с одной такой тайной фичей. Это будет интересно тем, кто немного знаком с HTML/CSS/JavaScript. В чём суть? Всё просто. У Stem есть веб-клиент. То есть если вы зайдете по адресу https://stem.fomalhaut.me (например), вы увидите окно, которое пригласит вас ввести ID канала и початиться прямо с сайта. После ввода ID канала, вас перекинет на страничку с "чатом", где вы сможете посылать сообщения вашему компьютеру/роботу в майнкрафте. Адрес этой странички будет выглядеть примерно так: https://stem.fomalhaut.me/channel?id=test Где test это ID вашего канала. Когда робот будет вам отвечать, это будет видно в логе. Примерно так: А теперь - тайная фича. Находясь на страничке канала, как на скриншоте, вы можете приписать к адресу дополнительный флаг: &render=true. Полный адрес станет выглядеть примерно так: https://stem.fomalhaut.me/channel?id=test&render=true И начиная с этого момента, все входящие сообщения от компьютера в OpenComputers будут не отрисовываться в лог, а попадать в JS функцию eval(...). Что это значит? Те кто имел дело с JS уже наверное поняли все последствия. Но я поясню. Это значит, что компьютер OpenComputers может прислать сообщение с JS кодом, и сайт Stem этот код выполнит. А это значит, что вы можете творить на сайте вообще всё что угодно. Вы можете удалить интерфейс, показать вместо него новый, скачать что-то с инета, запустить игрушку... да хоть майнить крипту. Поиграем Ничего вредоносного мы делать конечно сейчас не будем. Вместо этого, традиционно, попробуем сделать так, что сайт Stem превратится в сайт для управления светом в нашем доме в Майнкрафте. Шаг первый. Подготовим дом. Тут всё просто - стандартный компьютер, с интернет картой, от него кабель к I/O блоку, а на блоке - подопытная лампа. На компьютер ставим Stem. Например, ставим HPM такой командой, pastebin run vf6upeAN И потом пишем: hpm install stem Нажимаем Enter и готово. Шаг второй. Нам нужен сайт. Усложнять не будем, и наш революционный дизайн будет выглядеть так: Что нам нужно сделать, чтобы сайт Stem превратился в то что нам надо? Методом тыка, через консоль браузера определяем, что достаточно выполнить такой код: document.body.innerHTML = " <style>button:active { background: #fac700; }</style> <button onclick=\"sendMessage(\'toggle\')\">Toggle Light</button> "; document.body.style.alignItems = "center"; Первой строкой мы просто заменяем всё содержимое тега <body> на то что нам надо. Я добавил еще немного косметики в виде стиля для кнопки. Вторая строка - тоже косметика, я просто поправил стиль на теге <body> чтобы кнопочка была посередине. Один важный ньюанс - на кнопке повешено свойство onclick с кодом sendMessage("toggle"). Таким образом, когда пользователь тыкнет по кнопке, мы отправим сообщение обратно в OpenComputers. Функцию sendMessage нам дает веб-клиент Stem. Ей можно безвозмездно пользоваться в своих целях. Шаг третий. Соединяем это все вместе. Теперь надо набросать программку для нашего компьютера в Майнкрафте, чтобы он выслал подготовленную JS-"бомбу" по нашему сигналу. Эники, беники... выходит что-то такое: local event = require('event') local stem = require('stem') local side = require('sides') local com = require('component') local redstone = com.isAvailable('redstone') and com.redstone or nil local channel = "test" local layout = [===[ document.body.innerHTML = "\ <style>button:active { background: #fac700; }</style>\ <button onclick=\"sendMessage(\'toggle\')\">Toggle Light</button>\ "; document.body.style.alignItems = "center"; ]===] local lampSide = side.top local lampTurnedOn = false print("Connecting to the #" .. channel .. " STEM channel...") local server = stem.connect('stem.fomalhaut.me') server:subscribe(channel) print("Done.") print("Press [q] to quit.") while true do local name, a, b = event.pull() if name == "stem_message" then local message = b if message == "connect" then print("Someone wants to connect - sending the layout...") server:send(channel, layout) elseif message == "toggle" then if redstone ~= nil then if not lampTurnedOn then redstone.setOutput(lampSide, 16) lampTurnedOn = true else redstone.setOutput(lampSide, 0) lampTurnedOn = false end end end elseif name == "key_down" then local char = b if char == 113 then break end end end server:disconnect() Я думаю тут большая часть очевидна и понятна. Мы подключаемся к серверу Stem, подписываемся на нужный канал и внимательно слушаем входящие сообщения. Когда пользователь присылает сообщение connect, мы отправляем ему подготовленный код, который мирно лежит в переменной layout. Этот код прилетит к пользователю, и, если пользователь смотрит страницу с включенной опцией render=true, код сработает и перерисует страницу. Если опция будет отключена - он просто увидит код в логе, как простое сообщение. Шаг четвертый. Тестируем. Откроем наш канал по ссылке: https://stem.fomalhaut.me/channel?id=test&render=true Появится пустой лог. Запустим программу в OpenComputers. Она отрисует наше приветствие, что-то вроде: Сonnecting to the #test STEM channel... Done. Press [q] to quit. Теперь пишем на сайте команду connect. Если мы все сделали правильно, и Stem не заглючил, интерфейс сайта исчез, и вместо него появилась наша кнопка. Нажимаем её. Вуаля! Дома зажегся свет. Постскриптум Это конечно же недокументированная хакерская фича, которую можно считать альфа-версией. Кроме того в Stem сейчас есть неуловимый баг, из за которого сообщения иногда не доходят. Не пугайтесь. Если кто-нибудь предоставит мне сценарий (прямо по шагам), при котором 100% срабатывает баг - буду очень рад и пофиксить его будет легче. С помощью описанной фишки можно придумать много хрени. Я показал самое простое что пришло в голову. Уверен, ваша фантазия будет покруче моей ) Пишите баг-репорты или пожелания по фиче, да и просто комменты в эту тему, либо мне в любой канал связи, где я онлайн.
-
1 балл
-
0 балловКруто, знаешь о systemd, но при этом не в курсе об screen и tmux... Хочу попросить @Wolframoviy не выкладывать в открытый доступ то что находится на сервере, очень плохая идея.
-
0 балловДумаю хорошей идеей будет поставить WorldEditCUI для клиента, это тот самый мод который визуализирует выделения, на сервер ставить ничего не нужно.
-
0 балловЗагрузка байткода недоступна по дефолту без правки конфига мода, проверка зашита в machine.lua. Сомневаюсь, что админы публичных серверов захотят включить эту фичу, пускай даже ради запуска знаменитых безопасных софтин rootmaster'а
-
0 балловкод можно проше достать string.dump он возврашает byte code но от туда легко выпарсить исходник
-
0 баллов
-
0 баллов@Asior >discord https://drewdevault.com/2021/12/28/Dont-use-Discord-for-FOSS.html Щас бы шуршать под ковром в личке дискорда, чтобы решать проблемы сервера, главной целью которого была открытость и репродуцируемость, чтобы любой мог поднять потом сервер, если я правильно помню пост Томата. По поводу косяков ничего сказать нельзя потому что техническая администрация шифруется и конспирируется, что никто не знает какое ядро на сервере и что может мешать нормальной работе модов. Да и сам ОС непонятно откуда был взят до недавнего времени. То что кто-то кому-то там наугад подсказывает как фиксить - это вообще какой-то детский сад. @eu_tomat Лучше наладить связь эникеев(технической администрации) и игроков на форуме, чем спрашивать "как нормально сделать Х и Y", когда при всех моих попытках нормально сделать или хотя бы узнать что уже сделано я получаю полный игнор. @RasonGame Форум конечно кривой местами(упоминания и спойлеры можно только на компьютере эффективно выпиливать да и то только с ктрл+ц), но тут дело в том, что кто-то им просто не пользуется.
-
0 балловСоизволил ответить наконец-то. Только вот непонятен снисходительный тон. Если приходится угадывать какой изолентой сервер к костылям приматывается, то это косяк закрытой разработки, а не того, кто угадывает. В принципе тот же функционал делается с systemd с помощью сокета и сервиса. Разница только в том, что screen устанавливается отдельно и редиректы STDIN, STDOUT имеют свой синтаксис. Когда как сокеты поддерживают пайпы и можно просто. echo "say HelloWorld" > myserverpipe Но это вкусовщина. Может ещё есть какие-то различия между screen/tmux сессией и systemd сервисом. Кстати, по поводу автоматизации, вот решение, с помощью которого сервером можно управлять через шелл скрипты. Например автоматически перезапускать. linux - sending text input to a detached screen - Unix & Linux Stack Exchange Кстати, когда запостишь версию и наименование ведра и список плагинов, которые на сервере стоят?
Эта таблица лидеров рассчитана в Москва/GMT+03:00
