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

serafim

Пользователи
  • Публикации

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

  • Посещение

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

    46

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


  1. лол, в майне уже не работает :blink:

     

    такс, оказывается ещё и посредник CloudFlare палки в колёса вставляет

    скрин http запроса из майна:

    Скрытый текст

    vNuMUHg.png

    error code: 1010

    The owner of this website has banned your access based on your browser's signature

     

    видители ему не нравится header Java/1.8.0_251 который OpenOS сам подставляет в запрос

    добавил header User-Agent "Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"

     

    вроде помогло, ну и морока :(

    • Спасибо 1

  2. 7 часов назад, DivByZero сказал:

    Из за чего он может не работать?

    давай скриншот ошибки, а так там всё что угодно может быть

     

    если это весь код, то для опроса нужен бесконечный цикл с задержкой

    Скрытый текст
    
    local port = 1
    
    local com = require("component")
    local modem = com.isAvailable("modem") and com.modem or error("нет модема")
    local mf = com.isAvailable("ic2_te_cesu") and com.ic2_te_cesu or error("нет cesu")
    
    modem.open(port)
    
    while true do
      modem.broadcast(port, mf.getEnergy())
      os.sleep(1)
    end

     

    а иначе он только один раз отправит данные и всё


  3. накидал пару строк для примера

    Скрытый текст
    
    local port = 1
    
    local event = require("event")
    local com = require("component")
    local gpu = com.gpu
    local w, h = gpu.getResolution()
    local modem = com.isAvailable("modem") and com.modem or error("нет модема")
    
    modem.open(port)
    
    local function receive(_,_,_,_,_,msg)
      gpu.fill(40, 1, w, 1, " ")
      gpu.set(40, 1, msg)
    end
    
    event.listen("modem_message", receive)

     

    Скрытый текст
    
    local port = 1
    
    local com = require("component")
    local modem = com.isAvailable("modem") and com.modem or error("нет модема")
    
    modem.open(port)
    modem.broadcast(port,"12345")

     

     

    • Нравится 2

  4. Переписал прогу под OpenPeripheral, теперь при наличии мода работает и на старом OpenComputers

    https://computercraft.ru/topic/2604-programma-ochen-mnogo-elektrichestva/?do=findComment&comment=38154

     

    @Sasiso4kaS твоя предложенная схема не эффективная, рекомендую использовать эту

    SXbeOu8.png

    • Нравится 2

  5. 8 часов назад, eu_tomat сказал:

    Эти наработки помогают обойти ошибку 403?

    нет, но если способ будет найден, то есть уже готовый парсер сообщений

    кстати в эмуляторе в данный момент прога работает

    по неизвестной причине ддос защита сайта временами отключена

    • Спасибо 1

  6. 20 минут назад, eu_tomat сказал:

    А разве ошибка 403 не является ответом сервера? Или OC может каким-то образом сам её подсовывать вместо ответа сервера?

    Есть такая программа для поиска по содержанию файлов (Архивариус 3000),

    проанализировал ею как ОС так и исходники ОС,

    ошибку 403 ОС сама не умеет подсовывать, это явно ответ от сервера

    Как бы и в самой либе internet есть ожидание ответа, но почему-то в основном прилетает nil

    Скрытый текст
    
        ["()"] = "function():string -- Tries to read data from the socket stream and return the read byte array.",
          while true do
            local data, reason = request.read()
            if not data then
              request.close()
              if reason then
                error(reason, 2)
              else
                return nil -- eof
              end
            elseif #data > 0 then
              return data
            end
            -- else: no data, block
            os.sleep(0)
          end

     

     

    • Спасибо 1

  7. 14 минуты назад, eu_tomat сказал:

    OpenComputers так себя ведёт с настройками по умолчанию?

    клиент 1.12.2 настройки по умолчанию, в основном выбивает nil иногда ошибку 403

    Жаль скриншотов не осталось, но поведение трафика что в эмуляторе что в ОС одинаковое, вот только ОС игнорит ответ сервера

    • Спасибо 1

  8. Вообще накидал типа парсера для сортировки сообщений

    Скрытый текст

    1yk6z1g.png

    А ещё проанализировал с помощью Wireshark исходящий и входящий трафик

    Оказалось что ОС отправляет запрос серверу, а сервер присылает ответ,

    но ОС его игнорит, без понятия почему, на эмуляторе работает как часы

    • Спасибо 1

  9. путём энных извращений слепил какаху для вывода последних сообщений из логов

    Скрытый текст
    
    local url = "http://logs.s12.mcskill.net/Hitechcraft_public_logs/23-07-2021.txt"
    local com = require('component')
    
    while true do
      os.execute("cls")
      local socket = com.internet.request(url, nil, {Range = "bytes=-1300"})
      print(socket.read())
      os.sleep(5)
    end

     

    принтит сообщения с задержкой 5 сек (можно поиграться со значением)

    Скрытый текст

    5yViykk.png

     

    • Одобряю 1
    • Спасибо 1

  10. 20 часов назад, Eternaldd сказал:

    Что делать, если сайт возвращает 403?

    код 403 доступ запрещён, (попросить админа чтоб открыл доступ в конфигах мода OpenComputers)

    но их явно не просто так заблокировали

     

    Другой подвох, что логи слишком большие для OpenComputers,

    на этом сайте предпринимали попытки чтения по частям, но ничего рабочего я не нашёл

    • Спасибо 1
    • Грусть 1

  11. 4 часа назад, DaniX сказал:

    пишет что это на 3-ей строке(2>1 я сделал чтобы постоянно работало)

    попробуй while true do

    прервать цикл break

    4 часа назад, DaniX сказал:

    while 2 > 1 do

    это точно третья строка ?

     

    для оформления программы используй кнопку Код <>

    • Грусть 1

  12.  

    https://pastebin.com/Zd7W93nb  или  pastebin get Zd7W93nb p

     

    Строит платформу в 1 слой методом змейки (зиг-загом)

    пример сборки:

    Скрытый текст

    ApLjvMq.png

    требования:

    корпус второго уровня (золотой) + процессор второго уровня

    улучшение инвентарь, лучше 3

    генератор по желанию

    улучшение парение, если робот будет строить над пропастью

    контейнер для апгрейда, если хотите использовать чанклоадер

     

    использование:

    закинуть в инвентарь робота блоки + уголь

    программа принимает атрибуты например: p 16 10

                                                                              16 - ширина

                                                                              10 - длина

     

    если блоки в инвентаре закончатся то робот будет ждать поступления новых

    заправляется углём в начале линии Х

     

    рекомендую строить платформу частями, например  p 128 128

    врятли робот справится с площадью в 81 чанк за рас

×
×
  • Создать...