Zer0Galaxy
-
Публикации
1 220 -
Зарегистрирован
-
Посещение
-
Победитель дней
189
Сообщения, опубликованные пользователем Zer0Galaxy
-
-
Указанные координаты находились в зоне покрытия. Однако, после запрета мировых якорей, Сеть перестала функционироватьПрошу расширить зону покрытия CraftNet до:
X - 55
Y - 76
Z - 77
Имеется желание наполнять CraftNet контентом.
-
На сколько я понял структура сети, по которой управляются телепорты - древовидна. Типа такой
[ATTACH]165[/ATTACH]
На рисунке я изобразил телепорты квадратами, компьютеры менеджеры - треугольниками. Красным цветом - старший менеджер.
Выходит, каждая пара компьютеров, между которыми есть связь, должна находится на расстоянии не более дальности модема (не знаю какая она в ОС). Кроме того, не только телепорты, но и менеджеры должны находится в подгруженных чанках. Лично я делал бы обновление либо с носимого компьютера (Алекс обещал, что они будут) либо через более глобальную сеть.
Не понятно как осуществляется пинг удаленных телепортов со старшего менеджера. Трансляция ведь односторонняя.
Могу помочь с шифрованием. Давай пересечемся в РК
-
Можно попробовать
s.target.setBackgroundColor( s.color_used ) for i=1,#temp do X = term.getCursorPos() if X > px + s.x + pos - 1 then s.target.setBackgroundColor( s.color_bg ) s.target.write(temp:sub(i)) break end s.target.write(temp:sub(i,i)) endвместоs.target.write(temp)
-
-
Вообще то в шифровании наоборот, алгоритм открыт, а ключ спрятан.Так что асинхронное шифрование имеет смысл. что бы хакерам было интереснее - можно ключ особо не прятать - пусть вычисляют алгоритм шифрования. что бы узнать, как подменить данные.
-
1
-
-
... и не только.
Клик
-
2
-
-
Надо бы деструктор придумать. Кнопки продолжают работать даже после выхода из программы.
-
Видеть то видит, но потрогать не может. В моем сингле команды выполняются только если КБ стоит вплотную.Дима, и посмотри будет ли так получать КБ через врапмодем
commandBlock = peripheral.wrap("command_свой номер wrap модема") , а то когда-то багулька была, не видел ПК ком.блок через него, только вплотную.
Думаю, после выполнения команды ее нужно тут же вычистить, дабы избежать ее повторения поданным извне сигналомКоманда в ком.блоке остается навечно, пока ее не изменит ПК, или оператор (OP) вручную или кто-то не сломает ком.блок, и соответственно при подаче редст. сигнала на ком.блок засеченая команда будет выполняться.
-
-
-
Сервис не поддерживает всех CraftOSовских библиотек. В данном случае ругается на библиотеку bit
-
-
Думаю, шифрование спасет отца русской демократии.П.С. Если сделаете, что телепорты будут слушать эфир на предмет события добавления новых станций, подумайте, как сделать так, чтобы хакер потом чёрти какие координаты не забил во все компы, если перехватит сообщение с апдейтом станций и узнает частоту приема телепортов.
Алекс, а как тебе удалось такой шрифт на мониторе установить?
-
Если есть какие то идейки, выкладывай. Я пока не пойму, что собственно ты хочешь.
-
Что то на подобии http? На сегодняшний день реализованы теги <font>...</font>, изменяющий цвет шрифта и <a>...</a>, добавляющий ссылку в текст. http://pastebin.com/Gn6ki1TH
-
Я писал не учебник по ООП, а инструкцию по программированию на Lua для людей уже знакомых с ООП. А вообще ООП это стиль мышления и на каком языке его изучать не столь важно. Лучше бы изучить сперва на C++ или Delphi или другом какой знаете, а потом уже переносить на Lua. IMHOНасколько мне известно, учебников по ООП на Lua нет. Вот здесь все просто и понятно написано.
-
Для начала давайте напишем вирус
-
6
-
-
Полностью согласен, но не знаю как это сделать. Буду благодарен за подсказку.Надо чанк лоадеры в роутерах перевести в режим загрузки 1 чанка с помощью мирового стража и монтировки!
а то нагрузка на сервер растет!.
-
Город в окрестностях Clor Tower теперь под покрытием Craftnet.
-
Это понятно. Просто, в приведенном примере поле file.filename нигде не используется. Используется же внешняя переменная filename (например, run = bind(shell.run, filename)). Отсюда и вопрос, зачем поле file.filename?В синтаксисе определения таблиц слева от = не переменная, а строковый ключ, написание которого подчиняется тем же правилам, что и переменные - чтобы его можно было вызывать через точку. Это короткая запись чуть более длинной:
{["filename"] = filename, <...>}С остальным согласен.
-
Зачем в приведенном примере поле filename = filename? Ведь по сути будет использоваться только внешняя переменная filename.filename = "file" file = { filename = filename, run = bind(shell.run, filename), -- Можно смешивать функции из разных API delete = bind(fs.delete, filename) -- вообще без проблем } -- И эти операции можно вызывать без аргументов, забыв про API: file.run() -- Запускаем файл file.delete() -- Стираем файлЧто касается уменьшения объема кода, согласен. Но увеличит ли этот механизм наглядность? Например, встретив запись file.delete(), сразу ли вы определите какой именно файл удаляется?
Или будет написано
filename = "file" file.delete()
Это, по моему, ни чуть не короче чем fs.delete("file").А, вообще, Lua имеет уникальный синтаксис, позволяющий творить подобные вещи. За что его и люблю.
-
давайКоординаты надо?
-
Я вышел из спячки. Готов оказать любую посильную помощь.Zer0Galaxy нужна твоя помощь в организации моста связи для Clor Tower, ибо не могу разобраться с кодом роутера
А что за Clor Tower? Где почитать?
-
Предлагаю для тестирования свежеиспеченный алгоритм шифрования на основе сети Фейстеля
Работает это следующим образом:
Сначала создаем массив ключей key. Это обычная луа-таблица из 16-ти числовых элементов. Она используется для шифрования и дешифрования строк. У передающей и принимающей сторон она должна быть одинаковой, а взломщику известна быть не должна. Как она генерируется не важно, но я сделал функцию getkey(pwd) на входе которой произвольная строка. а на выходе - требуемая таблица.
И так, первое действие key=getkey('secret_password'). Его нужно выполнить и на передающей и на принимающей стороне. Если секретный пароль одинаков, то и таблица ключей сгенерируется одинаково.
Затем вызываем функцию crypt(str,key). Тут str - передаваемое сообщение, а key - таблица ключей. На выходе получим кучу букв и цифр, что и есть зашифрованное сообщение. Зашифрованное сообщение передаем получателю по незащищенному каналу.
Получатель вызывает функцию decrypt(str,key). Где str - зашифрованное сообщение, а key - догадываетесь что.
Алгоритм работает с блоками данных 64 бита (8 символов), поэтому если длина исходной строки не кратна 8-ми, она дописывается нулевыми символами, которые можно наблюдать в расшифрованном сообщении в виде знаков вопроса. Не удивляйтесь.
-
1
-

[CC] Craftnet
в Сетевые технологии
Опубликовано: