Alex 4 683 Опубликовано: 21 марта, 2020 Карта приватов для роботов. Добавил возможность роботам на нашем сервере в удобном виде получить все приваты. Новичку может это и не пригодится, так как новичок, как правило, копает чанк "змейкой" в своем привате, или рядышком, где и специальным "визуализатором приватов" (плагин) можно эти приваты и так глянуть. Их видно. "Упереться" роботом в чужой приват очень не велик шанс. Скрытый текст А вот более опытным игрокам, которые любят "гонять" робота по всему миру в поисках урана или алмазов, эти данные, возможно и пригодятся. В общем, если у вас робот с персональным чанклодером, ультимейт-геолайзером, ультимейт-навигатором, с квантовой панелькой, с тессерактом АЕ, связанной платой... и прочее прочее, а программа работает так, что ваш робот не ковыряется в кубике земли 2 на 2 чанка, а "бороздит" автономно просторы сервера чанк за чанком биом за биомом и т.п., в поисках конкретного ресурса, то вы можете вашего робота сделать еще "умнее". Теперь ваш робот(или ПК) может в любой момент времени при наличии интернет платы получить карту приватов сервера и с легкостью их обходить, если вы, конечно, в своей программе реализуете эту проверку. Таблица имеет абсолютно все необходимые и достаточные данные о приватах сервера. Скрытый текст Мини-пример программки, которая демонстрирует подключение к "карте приватов" сервера TechnoCraft: Скрытый текст -- Карта приватов для роботов -- -- computercraft.ru -- JSON = (loadfile "/home/JSON.lua")() local internet = require('component').internet function get(url) local request, reason = internet.request(url) if not request then return '' end local text = '' while true do local data, reason = request.read() if not data then request.close() break elseif #data > 0 then text = text..data end end return text end function getSQLregions(url) return get(url) end function getTableWG() local raw_json_text = getSQLregions('https://computercraft.ru/uploads/robot_rg.php') return JSON:decode(raw_json_text) end ---======== Пример ===========--- local regions = getTableWG() print('Приваты мира End:') for i = 1, #regions do if regions[i].world == 'DIM1' then print(regions[i].region, regions[i].x1..' '..regions[i].y1..' '..regions[i].z1, regions[i].x2..' '..regions[i].y2..' '..regions[i].z2, regions[i].size) end end Для работы вам понадобится любая библиотечка для работы с JSON. Я использовал вот эту библиотечку. Сырые данные приватов в json: ссылка Если нужны какие-то др. данные, или хотите параметр передавать в php, например параметр мира для получения выборки: robot_rg.php?world=miner , пишите в комментариях. И да, если вы не видите овнера в регионе, не пугайтесь, это скорее всего админ приват, созданный при помощи /rg define <name_region> На сайте админ приваты не выводятся. Но для роботов это тоже "преграда". И еще раз, как памятку, оставлю здесь информацию о том, как добавить робота в приват(часто кто-то спрашивает на сервере об этом): /rg addmember имя_региона -n [OpenComputers] - ваши транспозеры работают с инвентарями в вашем регионе /rg addmember имя_региона -n ваш_ник.robot - ваши роботы копают в вашем привате и работают с инвентарями Пример: /rg addmember myhome -n bob99.robot - для игрока с ником bob99 для региона myhome Вроде так, если ничего не забыл. Поправьте, если что, в комментариях. 4 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Ivan_a_z 8 Опубликовано: 22 марта, 2020 а если добавить в приват робота - в этом привате любой робот любого игрока сможет копаться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex Автор темы 4 683 Опубликовано: 22 марта, 2020 39 минут назад, Ivan_a_z сказал: а если добавить в приват робота - в этом привате любой робот любого игрока сможет копаться? нет, конечно) Только твои роботы. Все твои роботы, которых ты устанавливаешь в мир, твои, и работают от имени "тебя". То есть грубо говоря, все твои роботы имеют имя ivan_a_z.robot И именно этого "игрока" ivan_a_z.robot как бы виртуального, фейкового, ты и добавляешь в свой приват аддмембером. Мой робот alex.robot в твоем привате копать не будет, так как он в него не добавлен))) Хотя.... наверно будет, так как мой робот "админ" и от моего имени копает, и игнорит приваты, скорее всего, но это не точно, не проверял) С другими роботами чужими такого точно не произойдет. Не волнуйся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
hohserg 197 Опубликовано: 22 марта, 2020 Есть какие-то еще ключи фильтрации кроме world? Чем больше игроков посещало сервер, тем длинней список и тем дольше его обрабатывать, хотя из всех данных нужно только приваты в окрестностях робота 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Ivan_a_z 8 Опубликовано: 22 марта, 2020 1 час назад, Alex сказал: нет, конечно) Только твои роботы. Все твои роботы, которых ты устанавливаешь в мир, твои, и работают от имени "тебя". То есть грубо говоря, все твои роботы имеют имя ivan_a_z.robot И именно этого "игрока" ivan_a_z.robot как бы виртуального, фейкового, ты и добавляешь в свой приват аддмембером. Мой робот alex.robot в твоем привате копать не будет, так как он в него не добавлен))) Хотя.... наверно будет, так как мой робот "админ" и от моего имени копает, и игнорит приваты, скорее всего, но это не точно, не проверял) С другими роботами чужими такого точно не произойдет. Не волнуйся. Вопрос № 2) если я "подкину" 'несчастному(или мне подкинут) своего робота и он пропишет его в приват- все роботы того кто "подкинул" смогут копаться у 'несчастного'?) и ещё вопрос если можно : когда присваивается имя роботу? после сборки в МОЁМ сборщике? если у меня например на сборщике кто нибудь попросит собрать робота - он будет "оформлен" как мой робот?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 542 Опубликовано: 22 марта, 2020 4 минуты назад, Ivan_a_z сказал: Вопрос № 2) если я "подкину" 'несчастному(или мне подкинут) своего робота и он пропишет его в приват- все роботы того кто "подкинул" смогут копаться у 'несчастного'?) и ещё вопрос если можно : когда присваивается имя роботу? после сборки в МОЁМ сборщике? если у меня например на сборщике кто нибудь попросит собрать робота - он будет "оформлен" как мой робот?) Он вроде бы оформляется когда ты его устанавливаешь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Ivan_a_z 8 Опубликовано: 22 марта, 2020 4 минуты назад, NEO сказал: Он вроде бы оформляется когда ты его устанавливаешь. это как?) получается если робот у меня стоит например на зарядке, кто то может подойти закодить прогу и он будет выполнять её у меня в привате?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Ivan_a_z 8 Опубликовано: 22 марта, 2020 Я вот например хочу что бы он там строил где то без моего присмотра, робот будет защищён от вмешательства извне?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 542 Опубликовано: 22 марта, 2020 4 минуты назад, Ivan_a_z сказал: это как?) получается если робот у меня стоит например на зарядке, кто то может подойти закодить прогу и он будет выполнять её у меня в привате?) Должен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Ivan_a_z 8 Опубликовано: 22 марта, 2020 крч надо делать пин код на робота) 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex Автор темы 4 683 Опубликовано: 22 марта, 2020 1 час назад, Ivan_a_z сказал: Вопрос № 2) если я "подкину" 'несчастному(или мне подкинут) своего робота и он пропишет его в приват- все роботы того кто "подкинул" смогут копаться у 'несчастного'?) и ещё вопрос если можно : когда присваивается имя роботу? после сборки в МОЁМ сборщике? если у меня например на сборщике кто нибудь попросит собрать робота - он будет "оформлен" как мой робот?) кого подкинут, кому? робот подкидыш что ли?))) ничего не понял. Робот в руках или в сборщике, не важно чей этот сборщик, это просто кусок айтема бесполезный. Робот получает свое имя только после установки. То есть если ты отплейсил робота в мир, он твой. И ник этого робота ivan_a_z.robot Всё, считай это игрок такой фейковый на сервере образовался. Кто его добавит себе в приват этот ник, там он и будет копать. Если робота отплейсит другой робот, или какой-то блок-плейсер поставит робота в мир или другой игрок его поставит, у этого робота уже НЕ будет имя ivan_a_z.robot Ты можешь моего робота сломать киркой на нейтральной территории где-то и поставить себе. Но это уже будет не мой робот, не alex.robot. Он уже будет кататься с именем ivan_a_z.robot Это будет совершенно другой робот, то есть другой игрок с другим именем. Совершенно другим. Не волнуйся и прописывай себе в приват имя ivan_a_z.robot Других роботов никаких чужих не добавляй и игроков в приват командой addmemder и спи спокойно...относительно спокойно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
hohserg 197 Опубликовано: 24 марта, 2020 (изменено) В 22.03.2020 в 22:08, Alex сказал: Не волнуйся и прописывай себе в приват имя ivan_a_z.robot Наверное вопрос был про то, что пока робот вне привата, можно его без демонтажа перепрограммировать и заставить поехать на приват хозяина собирать лут. Против этого по идее поможет useradd Изменено 24 марта, 2020 пользователем hohserg 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex Автор темы 4 683 Опубликовано: 24 марта, 2020 3 минуты назад, hohserg сказал: Наверное вопрос был про то, что пока робот вне привата, можно его без демонтажа перепрограммировать и заставить поехать на приват хозяина собрать лут. Против этого по идее поможет useradd ну это да. Если робот катается незаприваченный (без useradd), конечно, бери его, стопай, но не ломай, запускай свою прогу и езжай гриферить хозяина робота 2 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ItsMakar 1 Опубликовано: 21 января, 2022 я не могу запустить лаунчер че с сервером или он не существует больше? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 21 января, 2022 (изменено) 15 минут назад, ItsMakar сказал: я не могу запустить лаунчер че с сервером или он не существует больше? Сервера нет. Осталась лишь сборка для одиночной игры. upd: и одиночная игра тоже почему-то не работает. Изменено 21 января, 2022 пользователем eu_tomat Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ItsMakar 1 Опубликовано: 21 января, 2022 Только что, eu_tomat сказал: Сервера нет. Осталась лишь сборка для одиночной игры. upd: и одиночная игра тоже почему-то не работает. ясно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ProgramCrafter 544 Опубликовано: 21 января, 2022 (изменено) 1 час назад, eu_tomat сказал: и одиночная игра тоже почему-то не работает Только что проверил - работает. Подозреваю, что сервер отваливался на какое-то время. Изменено 21 января, 2022 пользователем ProgramCrafter Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 21 января, 2022 1 минуту назад, ProgramCrafter сказал: Только что проверил - работает. @cyber01 уже исправил. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах