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

Alex

Администраторы
  • Публикации

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

  • Посещение

Все публикации пользователя Alex

  1. Мод еще не обновлялся. Сервер у Феникса кто-то вытащил, скорее всего. Зашел сегодня в игру - робот мой работает, сервера мои на месте. Хотя мод развивается и фиксится, все может быть, но вряд ли. За месяц игры на сервере 1.6.4 не видел случая пропадания серверов(блоков) из OpenComputerso_O. И что значит "испортился" робот, прокис что-ли
  2. Обновление мода OpenComputers до версии 1.3.2: Добавлено: блок - датчик движения. Добавлено: tractor beam upgrade. Добавлено: окрашивание дискет. Добавлено: визуализация шрифтов юникода. Добавлено: повышен уровень доступа к выключателям Добавлено: поддержка Mekanism's power system. Добавлено: творческий (креативный) сервер. Исправлено: безотказная работа блоков и компьютеров в разных мирах. Исправлено: ошибки в LuaJ. Исправлено: ошибки, при которой серверные стойки потребляли избыточное количество IC2 энергии. Исправлено: роботы не дублируют больше сетевые сообщения. Исправлено: некоторые визуальные глюки в GUI. Исправлено: баг со звуком флоппи дисков. Исправлено: несколько потенциальных крашей.
  3. :DLike Zer0Galaxy! Можно, подробнее, пожалуйста, какая версия, мод, сервер, что не так передается? И нет ли таблицы символов под рукой?
  4. Но ведь Message+H я могу перехватить и отправить от имени отправителя, то есть на его радиочастоте адресату что-то типа MyMessage+H, при этом мне пароль то и не нужен?
  5. Зашел только что, чат Сябро работает, ничего не перезагружает, странно.
  6. я похож на экстрасенса? поменялась версия мода OC и версия openOS с 1.1 на 1.2
  7. Нет! RFID карта просто хранит до 80 символов. Для чего это нужно, пока не понятно. Подойдет для хранения какой-то личной информации и ее считывания и идентификации. Карту можно перезаписывать. Не понятно, как ее выдавать игрокам. Так же ее легко потерять в бою с ким-то крипером. И толку от нее, как от зонтика для рыбки. Она же не шифрует Реднет сообщения А у нас тема просвещена шифрованию и обмену информацией по открытому каналу связи.
  8. Предлагаю продолжить разработку системы безопасной передачи данных. Я считаю, это вопрос №1 при использовании сети Реднет вообще и покрытия CraftNet в частности. Для тех, кто не в курсе, скажу, что можно перехватить любое сообщение Реднет, а также отправить ложное сообщение получателю, представившись любым отправителем, и идентифицировать подмену можно только по уникальному актуальному пакету, привязанному ко времени, но для этого сообщение нужно зашифровать. Какие варианты у нас есть? 1. Нужно разобраться с блоком Cryptographic Accelerator. Только он не крафтится чего-то(не жарятся каменные компы для получения чипов), хотя в конфиге крафт разрешил. Вот официальный источник: http://www.computercraft.info/forums2/index.php?/topic/3728-mc-164-cc-158-immibiss-peripherals/ Пример программы: http://pastebin.com/kztKdG9U Но его использовать для черепах нельзя. 2. Придумать свой алгоритм шифрования, но вопрос генерации и обменом симметричным ключом по открытому каналу без передачи этого самого ключа пока не решен программно. Кто не видел, посмотрите алгоритм Диффи-Хеллмана 3. Может как то использовать возможность сети интернет и по нему передать ключи. Но как сказать компьютерам и роботам, что по такому-то адресу лежит ключ. Адрес то можно тоже перехватить. Или сразу создать и удалить (перезатереть) файл на пастебине, например. Пока не соображу, как это сделать. 4. Ну и мой вариант, который придумал вчера. Вроде должно работать, и думаю это довольно надежно будет. Использовать его буду в своей банковской системе, когда человек работает через терминал по радиосети со своим аккаунтом и банковским счетом. Возле терминала стоит Biometric Lock. Клиент по отпечатку пальца инициализирует процедуру аутентификации, терминал получает ник игрока. Далее терминал просит придумать пароль для регистрации. Пароль хешируется и отправляется на сервер вместе с ником. Если такого игрока нет в базе, создается аккаунт на данного клиента. Аккаунт создан. Далее выбираем войти в аккаунт, проверяем отпечаток пальца, вводим свой пароль и терминал отправляет на сервер ник и хеш. Если хеши совпали, сервер генерирует случайный ключ шифрования для данной сессии и через командный блок шлет его игроку на мыло в игровом чате. Например так (/mail send AlexCC trtYhhGDFf) Далее игрок вводит полученный ключ и начинается сессия по обмену информацией в зашифрованном виде симметричным ключом. Ключ умирает при окончании сессии, или выходе игрока из аккаунта. Ключи и пароли в открытом виде нигде вроде не передаются. Костыльный метод конечно, и сгодиться только для администраторских схем, т.к. используется командный блок. Ключи в черепахах-кассирах придется периодически менять вручную, благо к ним в обычном мире запрещен доступ, даже к интерфейсу. Жду комментариев, и считаю вопросы глобальной сети CraftNet, передачи информации, ее шифрования и защиты одними из самых сложных и интересных у нас на проекте. На старом форуме мы это начинали уже обсуждать, но старый форум джумлы умер, а вопросы так и остались нерешенными.
  9. Компьютерные технологии развиваются стремительными темпами. Спутниковое телевидение, интернет, соц. сети, телефония, электронные платежи, базы данных, роботы и прочее. Почему бы нашему Стиву в мире Майнкрафт не идти в ногу со временем. Например, сидите Вы с девушкой в кафе, отдыхаете, а Вам на мыло, или еще лучше при помощи SMS, приходит сообщение типа: - Ваш реактор перегрелся и был остановлен! - Черепашка закончила копать карьер. - В Ваш дом проник воришка с ником Kakashka13 И Вы говорите девушке: " Извини, дорогая, мне нужно черепашек на карьерах переставить. Сейчас вернусь!"o_O:D Как Вам такой поворот?! Все что Вам нужно, это чтобы ПК в майне при определенных условиях отправил на php скрипт http запрос с двумя переменными, мылом(телефоном) и самим сообщением. Скрипты мы будем размещать на нашем сайте http://computercraft.ru в специальной папочке. П.С. Не откажусь от лайка, если вам понравилась идея.
  10. Что это?????? Я же написал, как разницу проверять. Скрипт(а точнее комьютер) сам умно вычисляет разницу в астрономических секундах между любыми двумя датами, хоть на столетия вперед и между Днем рождения первого динозавра и полетом Гагарина в космос!!!! То есть компьютер знает календарь PHP файл лежит на нашем сайте. Вам нужно только отправить на него http запрос с двумя датами в указаном формате. Я же написал в 25 посте этой темы. Просто используйте готовую функцию. Секунды разделите на 3600 и потом еще на 24 и округлите вниз, или правильнее наверно взять целую часть, чтобы получить количество целых дней отсутствия. days_no_visit , _ = math.modf (tonumber(differenceDates(date0, date1))/3600/24) Получите "0", если времени прошло меньше суток, "1" если день и "трошкы" и т.д. Если days_no_visit Рука-лицо, честное слово.
  11. Нельзя прекращать борьбу, тем более в начале пути. А конкурентов не так и много. Что-то один игрок реализует, что-то другой. Приз будет всем. А сроки все таки условны, не известно, когда реально подадут работы, и подадут ли вообще
  12. Прога должна выдавать бонус за регулярные посещения. Рандомые же подарки нереальные, подарки опыта и еще миллион всяких действий в зависимости от прокачки характеристик будут возложены на божество по имени Локи А вот выдачу призов к знаменательным датам надо реализовать. Позже выложу требования к программе и за каждую реализованную возможность назначу баллы. Победителем будет тот, кто реализует качественно максимум функционала и наберет соответственно больше всех баллов. Так что не брезгуйте ни менюшками, ни обработкой ошибок, ни логированием и прочим. Вот так вот Так же готовая и отлаженная программа будет помещена в последствии в зал славы.
  13. По функционалу, конечно! Работы будут рассмотрены только после конца срока написания. До этого можете их даже не выкладывать. Что касается определения дат. На нашем сайте был размещен PHP скрипт, который возвращает разницу между двумя датами в секундах! <?php $d0=$_GET["d0"]; $d1=$_GET["d1"]; $ts1 = strtotime($d0); $ts2 = strtotime($d1); $seconds_diff = $ts2 - $ts1; echo floor($seconds_diff); ?> Вот сама функция получения разницы во времени: local date0 = "2014-07-10%2018:16:00" local date1 = "2014-07-13%2018:16:00" function differenceDates(date0, date1) local response = http.post("http://computercraft.ru/scr/days.php?d0="..date0.."&d1="..date1) if response then difference_of_dates = response.readAll() response.close() return difference_of_dates else return false end end2014-07-10%2018:16:00 - это формат даты, %20-это символ пробела, так как в строке http адреса пробелов не бывает. Секунды, я думаю, переведете в дни с округлением. Первую дату берете из файла юзера, вторую с сайта мирового времени. Вот пример http://computercraft.ru/scr/days.php?d0=2014-12-20 20:12:10&d1=2014-12-24 20:12:10 строчка http://www.timeapi.org/pdt/in+11+hours вернет 2014-07-13T21:39:45-07:00 Это время МСК
  14. в коде поставь вместо N в строчке ami = peripheral.wrap("adventure map interface_N") номер врапмодема, и активуруй его. Блок должен засветиться зелеными лампочками. И в одиночке если ты тестишь, прога может не успевать поймать твой логин.
  15. таблицу пока сам накидай, камешки, песочек и прочее. Потом создадим табличку айдишек, когда все заработает. local id = priz[math.random(1,#priz)][math.random(1,3)] - по идее это должно работать. Хотя таблицу можно и одномерную сделать. А для весомых призов хороших другую таблицу. Главное, чтобы программка была понятной, удобной и гибкой. Ну и самое главное - выполняла весь замысел. local command_give = "/give "..nick.." "..id.." "..current_day_visit - выдача в в первый день одного предмета, во второй день два и т.д. Это если current_day_visit Я думаю, это будет работать. Поправьте, если что не так. Так же я пока в замешательстве, как отслеживать смену месяца и года. Если сравнивать только дату, то как быть, если человек зашел 30-го, а потом 1-го числа. А в месяце сколько дней? 30 или 31? Как это отслеживать? Надо подумать. Так же желательно создать табличку праздников: Новый год, дата создания майнкрафт, дата создания проекта нашего, День рождения Маркуса Перссона, День шахтера и т.д. и выдавать в эти дни независимые призыLike Работы непочатый край и программка у нас должна получиться занятной. Текстовые сообщения нужно хранить в текстовых файлах UTF-8, тогда возможен принтинг русского текста в чат через командный блок. Но это я сделаю через фтп в корень компа. Если будет работать команда, призы выдам всей команде, не переживайте. Каждый бросит яблочко в трубу и получит приз. Так что за работу, друзья! Программа должна быть выполнена в срок.
  16. Вот здесь Zer0Galaxy целую энциклопедию для юного сурка написал. Для кого такой титанический труд проведен? На крайний случай юзайте функцию string.sub(s, i, j), где s-строка, i и j индексы символов. например string.sub("Hello world", 1, 4) -> "Hell" Потом переведите строковою переменную в число функцией tonumber(e)
  17. Alex

    [CC] Банк

    Не надо тем, кто не рубит ничего в программировании и просто играет в майн такой, как есть. Я же сказал, что если не будет телепортов, то схема имеет место быть.
  18. Воу-воу парни! Вы там поменьше шастайте. А то еще натворите неописуемых бед. Там куча опасных блоков. Феникс в гости приходил просто. Это админ. блоки и последствия могут быть катастрофическими Протестируйте в одиночке или вызовом псевдо-функции пустой, где просто принтится команда для ком. блока на экран. строчка http://www.timeapi.org/pdt/in+11+hours вернет время МСК Вот все что вам нужно в домике Алекса узнать. Больше вам ничего не понадобиться. Программка должна вести лог, подобие меню должно быть, а не черный экран на компе и поди узнай, что там происходит, добавление ид предметов удобно сделать желательно и пр. ami = peripheral.wrap("adventure map interface_N") function getWorldTime() if not http then print("Pastebin requires http API!!!") print("Set enable API_http in ComputerCraft.cfg") error() end local response = http.get("http://www.timeapi.org/utc/now") --change args if response then local time_mess = response.readAll() response.close() return time_mess else return false end end function playerLoginDetect() while true do local e, user_name = os.pullEvent("player_login") .... end end function sayChat(msg) commandBlock.setCommand("/say "..msg) commandBlock.runCommand() end function giveItem(name_player, [id], count) commandBlock.setCommand(.....) commandBlock.runCommand() end
  19. Нет, Саня! Это будет на порядок больше геморроя. Есть сотни идей применения мода и использования программ. А извращения с правильной установкой факела черепашкой оставим до лучших времен.
  20. Во-во Ну и не надо брать бензопилу, чтобы почистить яблоко. Делайте на КК. Этот мод более распространен пока и корректно работает со своими аддонами.
  21. Даже WE этого толком не умеет, особенно после вращения буфера. А черепашки блоки из некоторых модов вообще не могут разрушать и ставить (например провод редстоуна из ProjectRed и пр.) WE не для запоминания выходов машин TE, таймингов повторителей и частот тесерактов. Это просто копирование.
  22. OpenComputers не полностью корректно поддерживает все функции аддонов КК. На мой взгляд, OpenComputers целесообразно использовать для каких-то графических, серверных и др. трудоемких приложений. Хотя графика там пока криво работает по отзывам одного из игроков. При программировании мобильных ПК приоритет остается за роботами из OpenComputers, а не не черепашками из КК, хотя тоже смотря для каких целей . Критической разницы в принципе нет совсем.
  23. Alex

    [CC] Банк

    Скорее всего будем использовать черепашек с "чанк лодырем" - это еще один аддон с прогрузкой 1чанка для СС. Роботы из ОС имеют свой такой апгрейт , но с ними разрешено взаимодействие и курьер полностью беззащитен на территории заказчика. А ведь каково получить товар, как в реальной жизни, заказал, подождал, прилетела с неба черепашка и вывалила вам во дворе железа. А на мыло в игровом чате пришло уведомление о доставке и реквизиты заказа. При том при всем, что банк от вас находиться в несколько сотен блоков, а то и дальше.
  24. Alex

    [CC] Банк

    Как выясняется, не все и фармить могут Ближе к делу. После завершения работы над божеством планирую плотненько заняться банком. Тем более, что он полностью готов к работе. Единственное - это определиться с ассортиментом товаров и ценами на него. После появления огромного функционала для Computercraft можно клиентам банка принтить прайсы через Terminal Glasses. Клиенты могут удаленно получать выписки по своему банковскому счету и т.п. Безопасный способ передачи пароля тоже можно сделать через Terminal Glasses. Через командный блок можно рассылкой писем в личку клиенту заняться и т.д. А с покрытием Craftnet можно подумать, как сделать подобие удаленного заказа и доставки товара на дом (больше конечно просто для теоретической стороны вопроса, чем для практической.) Но в целом можно и реализовать. Макс. заказ - 16 стаков, это размер контейнера черепашки. На вскидку в радиусе 1000 блоков макс. затрата по биссектрисе - приблизительно 40 кусков угля с учетом обратной дороги, но без учета 2-x вертикальных подъемов на безопасную высоту и посадок соответственно - это еще 8-10 кусочков угля. Будет ли оплачивать клиент такую цену за доставку, не известно. А в остальном, удаленно подключился в аккаунт через терминал, ввел товар, количество и координаты доставки, цену доставки банк сразу добавил в общую. Черепашка контрольные точки рапортует. В обычном мире игроки не могут взаимодействовать с черепахами, даже с ее интерфейсом. Черепашка после приземления выбрасывает ресы перед игроком. Даже если игрок уготовит кирдык черепахе (срубит ее блокбрэйкером каким или роботом своим) и черепаха не вернется - банк снимет со счета игрока и стоимость черепашенка. В банке потребуется ангар с люками для вертикального взлета черепах, а так же несколько дополнительных функций управлением доставкой на дом, а также системы контроля за курьером. Если играть так ка положено, без всяких телепортов на спавны и мультихомы, то это бы имело место быть. И было бы довольно интересно. Итак, игроку, составившему более менее адекватные прайсы на основные ресы, металлы, броню, оружие, машины ИК, ГК, солнечные панели и некоторые др. будет вручен VIP статус на сервере 1.6.4(это флайка и пр.). Не нужно все машины, 20-30 основных, панельки, кванты, дорогие металлы, золото, алмазы и уголь, может парочку мобского лута. О ценообразовании все написал выше.
  25. https://www.youtube.com/watch?v=kkH49U7PDRQ Описание и условия конкурса: Программа должна отслеживать регулярность посещений игроками сервера игры, игроки за регулярное посещение (каждый день игрок хотя бы раз зашел на сервер) получают приз, который с каждым днем немного увеличиваеться, а на седьмой день регулярных посещений получает уже весомый хороший приз (случайный из таблицы) Установка рекомендуемая (админ. комплектация) ПК командный блок glasses bridge adventure map interface Конкурсные требования к программе: выполнение основной функции - 70 баллов меню - 25 баллов лог (в файл) - 20 баллов чистка старых логов - 15 баллов принтинг событий на внешний экран (англ. яз, со скроллингом вверх) - 25 баллов доступ к меню и работе с таблицами на ПК не прерывая работы программы - 10 баллов чистка ненужных файлов пользователей (которых давно нет в игре и прочее) - 15 баллов принтинг событий в чат (русск. яз, сообщения для чата хранить в тхт файлах UTF-8 и подгружать нужную строчку) - 25 баллов подарки к календарным праздникам - 40 баллов удобная структура таблиц айтемов (а лучше в файле хранить списки ИД, и их русское название), чтобы игрок при получении приза видел что-то типа: Привет, Vika18! Вы зашли сегодня (5) день подряд. Вы получаете (15) алмазов. Проверьте инвентарь. И т.п. - 20 баллов принт основных событий на очки админу (логин и выдача призов) - 30 баллов удаленный останов программы через очки - 10 баллов автостарт программ, при старте проверка файлов, устройств и чистка старых логов или огромного размера(>2Mb) файлов. Рекомендую логи писать в отдельную папочку, имена файла лога привязывать ко времени майна. При старте создавать новый логфайл. Но админ должен почитать лог как минимум за 2-3 дня последних. Остальное можно чистить. Надо прикинуть, сколько места под СС ПК выделено, по моему 2 или 4 Mb HDD - 20 баллов игроки в отдельной папке, где файлы имеют имя игрока. Файл хранит последнюю дату посещения, количество текущих каждодневных посещений подряд и возможно еще какую-то инфу. (эти файлы тоже надо чистить, то есть удалять ненужные) - 20 баллов возможно отслеживание лидера по самой длинной серии посещений подряд (по желанию) - 60 баллов резерв резерв Победителя определим по количеству набранных баллов. Выполнение первого пункта обязательно!
×
×
  • Создать...