Doob 2 749 Опубликовано: 4 июля, 2015 (изменено) %PLAYERNAME% имеет %ITEMNAME%, в кoличетcве n, у негo зaбиты cундуки вcяким хлaмoм, ендерчеcт вooбще трещит пo-швaм. Мoжнo иcпoльзoвaть виртуaльные хрaнилищa AE, нo caм мoд cлишкoм лaгучий и c дoлгим рaзвитием. Мoя идея cocтoит в тoм, чтoбы cделaть aльтернaтиву AE в OpenComputers, чтoбы oблегчить жизнь игрoкaм и cерверу. Любoй игрoк, имеющий кoмпьютер c WiFi кaртoй, мoжет coздaть личнoе виртуaльнoе хрaнилище cкaчaв прoгрaмму и зaрегиcтрирoвaв cебя в cиcтеме. Функции cерверa: Перенoc предметoв из инвентaря в личнoе/oбщеcтвеннoе виртуaльнoе хрaнилище (ВХ). Мaтериaлизaция предметoв из ВХ. Мaтериaлизaция предметoв, кoтoрых нет в ВХ, нo для кoтoрых еcть рецепт и реcурcы в ВХ игрoкa. Перевoд предметoв из cвoегo ВХ в oбщеcтвеннoе/перевoд в ВХ другoгo игрoкa. Сoздaние oбщеcтвеннoгo хрaнилищa c дocтупoм пo пaрoлю. Сoздaние oбменнoй cделки (кaк в тoргoвых aвтoмaтaх IC) Уничтoжение предметa в ВХ Функции клиентa:Сoбcтвеннo, интерфейc к функциям cерверa.Вoзле cерверa cтoят терминaлы, чтoбы игрoки caми зaбивaли рецепты - игрoк кидaет предметы в вoрoнку, нa мoнитoре в виртуaльнoм oкне крaфтa зaбивaет рецепт, рoбoт рacклaдывaет рецепт и прoбует cкрaфтить, еcли true, тo рецепт coхрaняетcя нa cервере. Тaк же, мoжнo cделaть aдминcкoе беcпaрoльнoе виртуaльнoе хрaнилище c беcкoнечными дешевыми вoзoбнoвляемыми реcурcaми (деревo/кaктуc/aрбузы/трocтник), тoгдa игрoкaм не нaдo будет делaть лaгo-фермы, oни будут зaнимaтьcя чем-тo бoлее oтвлеченным. Мoжнo oгрaничить время жизни хрaнилищa (хaлявных cундукoв не бывaет), чтoбы дaвнo не игрaвшие игрoки удaлялиcь из БД, a чтoбы прoдлевaть жизнь хрaнилищa, неoбхoдимo в нем cжигaть oпределенные предметы (невoзoбнoвляемые реcурcы) Изменено 17 сентября, 2016 пользователем Doob 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 625 Опубликовано: 4 июля, 2015 То есть, ты хочешь сделать базу данных вещей, при попытке забрать вещь из БД при помощи дебаг карты эта вещь вставляется в инвентарь игрока и удаляется из БД? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob Автор темы 2 749 Опубликовано: 4 июля, 2015 То есть, ты хочешь сделать базу данных вещей, при попытке забрать вещь из БД при помощи дебаг карты эта вещь вставляется в инвентарь игрока и удаляется из БД? Так точно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 625 Опубликовано: 4 июля, 2015 Админское хранилище. Прикольно, но как по мне -- пустая болтовня. Покажите нам код! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 4 июля, 2015 Админское хранилище. Прикольно, но как по мне -- пустая болтовня. Покажите нам код! Так это просто-напросто идея. Кто-нибудь может написать, если нужно будет. А в "разработке" потому, что кто-то решил избавиться от раздела "Новые идеи". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob Автор темы 2 749 Опубликовано: 4 июля, 2015 (изменено) Админское хранилище. Прикольно, но как по мне -- пустая болтовня. Покажите нам код! Код был, когда я сидел на ComputerCraft, там я делал сохранение блоков в scoreboard игрока, была жуткая конвертация таблиц, на выходе получалась каша, но зато работало. Идея была в том, что мир можно стереть, а игроков со своими ресурсами оставить (на самом деле не ресурсами, а постройками). Вся проблема в том, что мне лень рисовать удобный интерфейс и переводить RSA на Lua. Изменено 4 июля, 2015 пользователем Doob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 625 Опубликовано: 4 июля, 2015 Удобный интерфейс нарисовать дело нескольких часов. Есть множество хороших, библиотек для создания гуи. И я думаю скорборды лишние, можно обойтись и базами данных, например ExDB от сябра. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob Автор темы 2 749 Опубликовано: 4 июля, 2015 (изменено) Удобный интерфейс нарисовать дело нескольких часов. Есть множество хороших, библиотек для создания гуи. И я думаю скорборды лишние, можно обойтись и базами данных, например ExDB от сябра. БД удобней хранить в CSV - оптимально и универсально. А вот до GUI библиотек у меня руки не доходят. GML, к примеру хорош, но очень тяжел. На ComputerCraft куча удобных, со всеми современными фичами и довольно легковесных, а на OpenComputers я таких не находил. Надобно затачивать либу под определенные задачи, чтобы не плодить сущности. Изменено 4 июля, 2015 пользователем Doob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 625 Опубликовано: 4 июля, 2015 Что такое «CSV»? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob Автор темы 2 749 Опубликовано: 4 июля, 2015 Что такое «CSV»? Таблицы же https://ru.wikipedia.org/wiki/CSV Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 6 июля, 2015 Любой игрок, имеющий компьютер с WiFi картой, может создать личное виртуальное хранилище скачав программу и зарегистрировав себя в системе. А как планируется идентифицировать игрока в системе? Я понимаю, логин-пароль. Но где гарантия, что я не зарегистрирую пользователя с именем Doob и не отправлю весь его инвентарь в фонд помощи начинающим хакерам? Можно, конечно обрабатывать события "touch" и "key_down" и определять кто именно за монитором, но если это будет мой компьютер, а не общественный терминал, то он обработает эти события как мне нужно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 625 Опубликовано: 6 июля, 2015 бла-бла6-бла Можно будет один разок занести в базу данных всех игроков, а потом дать им установить пароль. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob Автор темы 2 749 Опубликовано: 6 июля, 2015 А как планируется идентифицировать игрока в системе? Я понимаю, логин-пароль. Но где гарантия, что я не зарегистрирую пользователя с именем Doob и не отправлю весь его инвентарь в фонд помощи начинающим хакерам? Можно, конечно обрабатывать события "touch" и "key_down" и определять кто именно за монитором, но если это будет мой компьютер, а не общественный терминал, то он обработает эти события как мне нужно. Симметричное шифрование решает все проблемы. Как одолею лень - переведу RSA на Lua, ибо рабочих библиотек не видел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 6 июля, 2015 Шифрование само по себе не решает проблемы идентификации. Как вариант: регистрация пользователя производится со специализированного терминала, а остальная работа - с произвольного компьютера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov 34 Опубликовано: 6 июля, 2015 А как планируется идентифицировать игрока в системе? Я понимаю, логин-пароль. Но где гарантия, что я не зарегистрирую пользователя с именем Doob и не отправлю весь его инвентарь в фонд помощи начинающим хакерам? Можно, конечно обрабатывать события "touch" и "key_down" и определять кто именно за монитором, но если это будет мой компьютер, а не общественный терминал, то он обработает эти события как мне нужно. Да просто регистрация будет только в банке, например, в индивидуальной кабинке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Quant 442 Опубликовано: 6 июля, 2015 Взялся за это,сейчас делаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob Автор темы 2 749 Опубликовано: 6 июля, 2015 (изменено) Шифрование само по себе не решает проблемы идентификации. Как вариант: регистрация пользователя производится со специализированного терминала, а остальная работа - с произвольного компьютера. Это да, если сопрут устройство с которого осуществляется доступ, то все средства тоже сопрут. Можно использовать генерацию ключей по паролю - игрок задает сид своим паролем и из него генерируется ключевая пара. В итоге ключи существуют только во время связи с сервером. А для регистрации, игроку нужно будет только стоять возле основного сервера на сенсоре движения (в кабинке, как предложил SergOmarov) и вбить в регистрационную форму свой ключ - публичный ключ уходит на сервер, с сенсора отправляется имя. А потом уже доступ только по ключу, из любой точки карты, где есть связь с сервером. Изменено 6 июля, 2015 пользователем Doob 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov 34 Опубликовано: 6 июля, 2015 А почему нельзя сделать в банке опцию, типо ячейка для хранения. И еще: когда будешь отцифровывать предметы, не забудь про нтб, метадату и прочие мелочи... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Quant 442 Опубликовано: 6 июля, 2015 Оцифрирователь готов,теперь думаю,как обратно возвращать,будет сразу с чем-то типа OreDictionry Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Quant 442 Опубликовано: 6 июля, 2015 Правда делаю я "Ячейку в банке". Писать код продолжать буду завтра, а то часов 6 уже делаю Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах