Перейти к содержимому

Zer0Galaxy

Гуру
  • Публикации

    1 220
  • Зарегистрирован

  • Посещение

  • Победитель дней

    189

Сообщения, опубликованные пользователем Zer0Galaxy


  1. Прошу расширить зону покрытия CraftNet до:

    X - 55

    Y - 76

    Z - 77

    Имеется желание наполнять CraftNet контентом.

    Указанные координаты находились в зоне покрытия. Однако, после запрета мировых якорей, Сеть перестала функционировать:(

  2. На сколько я понял структура сети, по которой управляются телепорты - древовидна. Типа такой

    [ATTACH]165[/ATTACH]

    На рисунке я изобразил телепорты квадратами, компьютеры менеджеры - треугольниками. Красным цветом - старший менеджер.

    Выходит, каждая пара компьютеров, между которыми есть связь, должна находится на расстоянии не более дальности модема (не знаю какая она в ОС). Кроме того, не только телепорты, но и менеджеры должны находится в подгруженных чанках. Лично я делал бы обновление либо с носимого компьютера (Алекс обещал, что они будут) либо через более глобальную сеть.

    Не понятно как осуществляется пинг удаленных телепортов со старшего менеджера. Трансляция ведь односторонняя.

    Могу помочь с шифрованием. Давай пересечемся в РК

    post-6-14160784064463_thumb.gif


  3. Так что асинхронное шифрование имеет смысл. что бы хакерам было интереснее - можно ключ особо не прятать - пусть вычисляют алгоритм шифрования. что бы узнать, как подменить данные.

    Вообще то в шифровании наоборот, алгоритм открыт, а ключ спрятан.
    • Нравится 1

  4. Дима, и посмотри будет ли так получать КБ через врапмодем

    commandBlock = peripheral.wrap("command_свой номер wrap модема") , а то когда-то багулька была, не видел ПК ком.блок через него, только вплотную.

    Видеть то видит, но потрогать не может. В моем сингле команды выполняются только если КБ стоит вплотную.

    Команда в ком.блоке остается навечно, пока ее не изменит ПК, или оператор (OP) вручную или кто-то не сломает ком.блок, и соответственно при подаче редст. сигнала на ком.блок засеченая команда будет выполняться.

    Думаю, после выполнения команды ее нужно тут же вычистить, дабы избежать ее повторения поданным извне сигналом

  5. Шифрование данных для меня последние несколько месяцев имеет самый высокий приоритет на сервере

    Я предлагал в теме Размышления о шифровании и безопасной передаче данных алгоритмик симметричного шифрования. Может его попробовать?

  6. П.С. Если сделаете, что телепорты будут слушать эфир на предмет события добавления новых станций, подумайте, как сделать так, чтобы хакер потом чёрти какие координаты не забил во все компы, если перехватит сообщение с апдейтом станций и узнает частоту приема телепортов.

    Думаю, шифрование спасет отца русской демократии.

    Алекс, а как тебе удалось такой шрифт на мониторе установить?


  7. Насколько мне известно, учебников по ООП на Lua нет. Вот здесь все просто и понятно написано.

     

    Я писал не учебник по ООП, а инструкцию по программированию на Lua для людей уже знакомых с ООП. А вообще ООП это стиль мышления и на каком языке его изучать не столь важно. Лучше бы изучить сперва на C++ или Delphi или другом какой знаете, а потом уже переносить на Lua. IMHO

  8. Надо чанк лоадеры в роутерах перевести в режим загрузки 1 чанка с помощью мирового стража и монтировки!

    а то нагрузка на сервер растет!.

    Полностью согласен, но не знаю как это сделать. Буду благодарен за подсказку.

  9. В синтаксисе определения таблиц слева от = не переменная, а строковый ключ, написание которого подчиняется тем же правилам, что и переменные - чтобы его можно было вызывать через точку. Это короткая запись чуть более длинной:

    {["filename"] = filename, <...>}

    Это понятно. Просто, в приведенном примере поле file.filename нигде не используется. Используется же внешняя переменная filename (например, run = bind(shell.run, filename)). Отсюда и вопрос, зачем поле file.filename?

    С остальным согласен.


  10. filename = "file"
    file = {
     filename = filename,
     run = bind(shell.run, filename), -- Можно смешивать функции из разных API
     delete = bind(fs.delete, filename) -- вообще без проблем
    }
    -- И эти операции можно вызывать без аргументов, забыв про API:
    file.run() -- Запускаем файл
    file.delete() -- Стираем файл

     

    Зачем в приведенном примере поле filename = filename? Ведь по сути будет использоваться только внешняя переменная filename.

    Что касается уменьшения объема кода, согласен. Но увеличит ли этот механизм наглядность? Например, встретив запись file.delete(), сразу ли вы определите какой именно файл удаляется?

    Или будет написано

    filename = "file"
    file.delete()
    Это, по моему, ни чуть не короче чем fs.delete("file").

    А, вообще, Lua имеет уникальный синтаксис, позволяющий творить подобные вещи. За что его и люблю.


  11. Предлагаю для тестирования свежеиспеченный алгоритм шифрования на основе сети Фейстеля

    http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%82%D1%8C_%D0%A4%D0%B5%D0%B9%D1%81%D1%82%D0%B5%D0%BB%D1%8F

    http://pastebin.com/KC7uE6ZP

    Работает это следующим образом:

    Сначала создаем массив ключей key. Это обычная луа-таблица из 16-ти числовых элементов. Она используется для шифрования и дешифрования строк. У передающей и принимающей сторон она должна быть одинаковой, а взломщику известна быть не должна. Как она генерируется не важно, но я сделал функцию getkey(pwd) на входе которой произвольная строка. а на выходе - требуемая таблица.

    И так, первое действие key=getkey('secret_password'). Его нужно выполнить и на передающей и на принимающей стороне. Если секретный пароль одинаков, то и таблица ключей сгенерируется одинаково.

    Затем вызываем функцию crypt(str,key). Тут str - передаваемое сообщение, а key - таблица ключей. На выходе получим кучу букв и цифр, что и есть зашифрованное сообщение. Зашифрованное сообщение передаем получателю по незащищенному каналу.

    Получатель вызывает функцию decrypt(str,key). Где str - зашифрованное сообщение, а key - догадываетесь что.

    Алгоритм работает с блоками данных 64 бита (8 символов), поэтому если длина исходной строки не кратна 8-ми, она дописывается нулевыми символами, которые можно наблюдать в расшифрованном сообщении в виде знаков вопроса. Не удивляйтесь.

    • Нравится 1
×
×
  • Создать...