Страница 1 из 1

Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 23 окт 2018, 08:22
genya24
Добрый день!
Хочу сделать игру про города с еженедельным соревнованием по 10 человек.
Мне нужно сделать сохранение данных в БД(деньги,уровни,и ТД.) Как лучше это сделать. Гуглил, unity -php- sql пишут не безопасно, все отправлять с unity напрямую в БД совсем бред.

Подскажите примеры или статьи которые можно почитать по этой теме.

Хочется сразу начать копать в правильном направлении.


П.с. игра на андроид

Re: Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 23 окт 2018, 10:49
KanycTa
genya24 писал(а):Добрый день!
Хочу сделать игру про города с еженедельным соревнованием по 10 человек.
Мне нужно сделать сохранение данных в БД(деньги,уровни,и ТД.) Как лучше это сделать. Гуглил, unity -php- sql пишут не безопасно, все отправлять с unity напрямую в БД совсем бред.

Подскажите примеры или статьи которые можно почитать по этой теме.

Хочется сразу начать копать в правильном направлении.


П.с. игра на андроид


С чего вдруг php и sql небезопасно? Это по моему единственный оптимальный вариант организации сохранения данных игроков...

Re: Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 23 окт 2018, 15:17
genya24
Вопрос немного не в тему но какую версию php использовать(5.4 или после 7й), т.к в 7й отказались пользоваться старой структурой общения с бд.

Только вычитал когда на опенсервере пример не заработал.

Re: Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 11 ноя 2018, 21:09
getAlex
genya24 писал(а):напрямую в БД

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

Re: Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 17 ноя 2018, 13:29
KanycTa
getAlex писал(а):
genya24 писал(а):напрямую в БД

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



на сервере у вас должны быть такие файлы (пример)

db_config.php - файл содержащий адрес БД, название БД, логин и пароль для доступа к ней
db_unity.php - файл исполняющий файл который посылает запросы к БД (добавление,удаление записей и и т.д.)
.htaccess - файл который поможет закрыть доступ к файлу db_config.php

В файле db_unity.php делайте инклюд файла db_config.php чтобы получать данные для подключения и всё... Где тут небезопасно?


А вот посылать хранить данные для подключения к БД внутри игры вообще на голову отмороженный человек будет....

Re: Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 17 ноя 2018, 19:54
getAlex
На самом деле, работать через php скрипты и держать БД на той же машине, на какой и скрипты защиты - тоже не далеко ушло от того уровня, где пароли держат в клиенте. Пхп само по себе уязвимо.

Re: Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 17 ноя 2018, 21:27
KanycTa
getAlex писал(а):где пароли держат в клиенте/quote]

Мой пукан разорван в клочья... Просмотрите сообщение которое я написал!
А вот посылать хранить данные для подключения к БД внутри игры вообще на голову отмороженный человек будет....


Вы намерены хранить пароль на клиенте? Для чего? Вы просто посылаете запрос через WWW в Unity затем ждёте ответа
Тем временем php принимает запрос, делает запись в БД и возвращает ответ! Какая тут уязвимость? Пароль клиенту не известен! Он известен только на серверной стороне!

Re: Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 19 ноя 2018, 12:52
getAlex
Первый: некоторые не удобряют морковку и поэтому она у них плохо растёт. Я удобряю

Второй первому: ты не удобряешь морковку? Мой пукан горит

Третий(второй) второму(сам себе): Ты не будешь удобрять морковку? Для чего? Вы просто удобряете морковку и всё!

Аутизм какой-то

Изображение

Re: Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 19 ноя 2018, 13:25
IDoNotExist
KanycTa писал(а):Это по моему единственный вариант организации сохранения данных игроков...

На этом месте вам стоило отойти от клавиатуры и пойти поспать.

genya24 писал(а):Хочется сразу начать копать в правильном направлении.

Всем хочется, но что то не всегда получается. Если хочешь дёшего и сердито, то PHP + Mysql самый нормальный вариант, если в твою игру не будут играть мега-хакеры то безопасности тебе хватит с лихвой, главное почитай про SQL инъекции. Если хочешь дорогой и надёжный вариант, ну так бери Photon Server, или пиши свой.

Re: Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 19 ноя 2018, 17:42
KanycTa
IDoNotExist писал(а):
KanycTa писал(а):Это по моему единственный вариант организации сохранения данных игроков...

На этом месте вам стоило отойти от клавиатуры и пойти поспать..


Хотел написать что самый оптимальный вариант но оставил так т.к. сам еще на этом уровне застрял

Re: Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 19 дек 2018, 07:48
Saltant
genya24 писал(а):Добрый день!
Мне нужно сделать сохранение данных в БД(деньги,уровни,и ТД.) Как лучше это сделать.
П.с. игра на андроид

Разверни web api на сервере, отправляй из клиента игры туда данные (деньги уровни и т.д) на сервере (в апи) проверяй все полученные данные и сохраняй если все правильно, так же можешь что то возвращать назад клиенту из апи, вполне себе безопасно так работать. Авторизацию через токен можешь сделать.

Re: Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 19 дек 2018, 08:27
Ziza
Гуглил, unity -php- sql пишут не безопасно

Достаточно безопасно) Сломать PHP-сервер, если у вас все нормально с sql-запросами и нет загрузки файлов пользователями на сервер - очень проблематично)
Лучше подумайте о защите от читеров. Просто реализовать сохранение на сервере тех же денег недостаточно.
Этак любой желающий всякими ArtMoney-ями накрутит себе денег в клиенте (или простой подделкой запроса на сервер), и вы их благополучно сохраните)

Re: Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 25 дек 2018, 17:32
maksimov
Хех...

Я могу ещё представить причину, по которой человек может писать какой-нибудь сайт на PHP (вместо того, что бы делать это на каком-нибудь нормальном языке программирования: C#, Java, Python,...). И причина эта - наличие некоего фреймворка/CMS, в котором был бы уже реализован весь необходимый ему в данном случае функционал, но который, увы, была бы написан на PHP.

Но когда вы пишете БЭКЭНД для стандалоне приложения - то тут та, ну какие причины у вас могут быть для того, что бы использовать PHP, вместо ЧЕГО УГОДНО другого? :))

А в контексте Unity3D, сам бог велел писать серверную часть на C#. Это как минимум уменьшение стека задействуемых технологий.

Ну а отсюда, и очевидный выбор БД: MS SQL.

Re: Unity и сеть(в какую сторону копать)

СообщениеДобавлено: 04 янв 2019, 16:37
Ziza
maksimov писал(а):Хех...
Я могу ещё представить причину, по которой человек может писать какой-нибудь сайт на PHP (вместо того, что бы делать это на каком-нибудь нормальном языке программирования: C#, Java, Python,...). И причина эта - наличие некоего фреймворка/CMS, в котором был бы уже реализован весь необходимый ему в данном случае функционал, но который, увы, была бы написан на PHP.
Но когда вы пишете БЭКЭНД для стандалоне приложения - то тут та, ну какие причины у вас могут быть для того, что бы использовать PHP, вместо ЧЕГО УГОДНО другого? :))

У вас какая-то субъективная неприязнь к PHP. Такой же язык как и все остальные и со своими плюсами, при чем активно развивающийся язык. Единственное на нем самое большее количество неквалифицированных программистов, из-за легкости входа. Поэтому на нем написано больше всего дерьма. То же самое было с Flash в свое время. То же самое сейчас происходит и с Unity. Но это не значит, что Unity или PHP хуже чем остальные. Это цена легкости и популярности. Пишут на нем бекенд, часто и много и будут писать. Но если программист нормальный то он хоть на C#, хоть на Java, хоть на PHP напишет нормально. Естественно все технологии подбираются по задачам, на том же PHP пытаться писать мультиплеерную игру было бы просто глупо, но если надо сделать сохранение, лидерборд и подтянуть какие-то ресурсы то почему бы и нет)