Обмен данными между онлайн игроками

Общие вопросы о Unity3D

Обмен данными между онлайн игроками

Сообщение alexey.terno 25 авг 2019, 00:49

Господа, дробный день!

Подскажите, пожалуйста, как лучше решить нижеописанную задачу.
Необходимо сделать простую онлайн игру. У каждого игрока будет свое отображение, т.е. единого мира не будет. Будет обмен информацией между игроками, на подобие, обмена-торговли, а так же сбор некоторой игровой информации для составления списка лидеров. Первое, что приходит в голову - это использовать SQL; в этом варианте я смогу легко реализовать весь задуманный функционал.
Быть может вы подскажете более правильный вариант, если он есть?
alexey.terno
UNIт
 
Сообщения: 117
Зарегистрирован: 19 май 2019, 19:07

Re: Обмен данными между онлайн игроками

Сообщение Woolf 25 авг 2019, 11:19

Правильный вариант - сервер, на сервере база. Обмен данными с сервером может происходить по любому протоколу. Можете через post/get запросы к скриптам, можете через tcp/ip, можете комбинировать. Напрямую из клиента обращаться к базе категорически нельзя.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Обмен данными между онлайн игроками

Сообщение Jarico 25 авг 2019, 13:41

Woolf писал(а):Напрямую из клиента обращаться к базе категорически нельзя.


Ну автор не совсем ведь дурак...
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Обмен данными между онлайн игроками

Сообщение alexey.terno 25 авг 2019, 13:55

Jarico писал(а):
Woolf писал(а):Напрямую из клиента обращаться к базе категорически нельзя.


Ну автор не совсем ведь дурак...

Не факт )))
Долго ломал голову, как в клиенте скрыть данные подключения, и категорически не хотел все это прописывать в самой игре. Этой ночью узнал, что правильнее делать, например, через пхп-запросы. Даже полную схему представляю ) Только вот вопросы все равно есть. По этой схеме внутри клиента делается запрос к php-скрипту на сервере, который в свою очередь уже на прямую обращается к базе и возвращает данные. Так ведь этот index.phph или другой php файл можно открыть непосредственно с сервера и увидеть все данные подключения.
Есть еще вариант - создать дополнительную dll со всеми необходимыми функциями для работы с базой и защитить ее.
alexey.terno
UNIт
 
Сообщения: 117
Зарегистрирован: 19 май 2019, 19:07

Re: Обмен данными между онлайн игроками

Сообщение Woolf 25 авг 2019, 15:45

Синтаксис:
Используется csharp
Так ведь этот index.phph или другой php файл можно открыть непосредственно с сервера и увидеть все данные подключения.

Кто может увидеть? Злоумышленник не может открыть ваш скрипт на сервере, поскольку, у него нет доступа к серверу.

создать дополнительную dll со всеми необходимыми функциями для работы с базой и защитить ее.

и её вскроют не за полчаса, а за 40 минут ) Нет такой защиты на клиенте, которую бы не могли вскрыть. Помните всегда - клиент в руках врага и все данные, хранящиеся на клиенте, изначально открыты этому врагу, как бы вы их не защищали. Вот с этой позиции и планируйте свою систему подключения и безопасности.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Обмен данными между онлайн игроками

Сообщение alexey.terno 25 авг 2019, 19:57

Woolf писал(а):Злоумышленник не может открыть ваш скрипт на сервере, поскольку, у него нет доступа к серверу.

Скорее всего я чего-то не понимаю, из-за своего малого опыта в web... но внутри клиента будет прописан путь к этому index.php, и к нему должен быть открыт доступ, чтобы сам клиент мог его читать, а это означает, что по этому пути можно будет открыть php и вручную... или не так?
alexey.terno
UNIт
 
Сообщения: 117
Зарегистрирован: 19 май 2019, 19:07

Re: Обмен данными между онлайн игроками

Сообщение Woolf 25 авг 2019, 21:28

alexey.terno писал(а):
Woolf писал(а):Злоумышленник не может открыть ваш скрипт на сервере, поскольку, у него нет доступа к серверу.

Скорее всего я чего-то не понимаю, из-за своего малого опыта в web... но внутри клиента будет прописан путь к этому index.php, и к нему должен быть открыт доступ, чтобы сам клиент мог его читать, а это означает, что по этому пути можно будет открыть php и вручную... или не так?


Нет, не так. Путь к скрипту, конечно, будет прописан, но выполнив эту ссылку, вы выполните скрипт на сервере, а вовсе не скачаете его.
Т.е. к примеру, у вас на сервере лежит скрипт hello.php

Синтаксис:
Используется csharp
<?php  
 echo "hello world";
?>


вы выплняете его http://myserver.com/hello.php
и получаете в ответ hello world а вовсе не сам скрипт. В том и суть.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Обмен данными между онлайн игроками

Сообщение alexey.terno 26 авг 2019, 16:36

Woolf писал(а):
alexey.terno писал(а):
Woolf писал(а):Злоумышленник не может открыть ваш скрипт на сервере, поскольку, у него нет доступа к серверу.

Скорее всего я чего-то не понимаю, из-за своего малого опыта в web... но внутри клиента будет прописан путь к этому index.php, и к нему должен быть открыт доступ, чтобы сам клиент мог его читать, а это означает, что по этому пути можно будет открыть php и вручную... или не так?


Нет, не так. Путь к скрипту, конечно, будет прописан, но выполнив эту ссылку, вы выполните скрипт на сервере, а вовсе не скачаете его.
Т.е. к примеру, у вас на сервере лежит скрипт hello.php

Синтаксис:
Используется csharp
<?php  
 echo "hello world";
?>


вы выплняете его http://myserver.com/hello.php
и получаете в ответ hello world а вовсе не сам скрипт. В том и суть.


Создал на сервере новый каталог и установил ему права 755. В этом каталоге создал текстовый файл и установил ему права 600. Открываю браузер, ввожу путь к этому файлу и у меня открывается его содержимое. Разве он должен открываться?
alexey.terno
UNIт
 
Сообщения: 117
Зарегистрирован: 19 май 2019, 19:07

Re: Обмен данными между онлайн игроками

Сообщение Jarico 26 авг 2019, 18:55

alexey.terno писал(а):Открываю браузер, ввожу путь к этому файлу и у меня открывается его содержимое. Разве он должен открываться?


Ты настройки подключения к БД сделай в отдельном php и в основной сделай как включение

конфиг для подключения config.php
Синтаксис:
Используется csharp
<?php

$db_ip = '127.0.0.1';
$db_name = "govno";
$db_password = "govno_iz_zhopi";
?>
 


основные функции с работой БД
Синтаксис:
Используется csharp
<?php
include 'config.php';//

//бла-бла
//говно код
//бла-бла

?>


К файлу config.php закрыть доступ
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Обмен данными между онлайн игроками

Сообщение alexey.terno 29 авг 2019, 18:52

Jarico писал(а):
alexey.terno писал(а):Открываю браузер, ввожу путь к этому файлу и у меня открывается его содержимое. Разве он должен открываться?


Ты настройки подключения к БД сделай в отдельном php и в основной сделай как включение

конфиг для подключения config.php
Синтаксис:
Используется csharp
<?php

$db_ip = '127.0.0.1';
$db_name = "govno";
$db_password = "govno_iz_zhopi";
?>
 


основные функции с работой БД
Синтаксис:
Используется csharp
<?php
include 'config.php';//

//бла-бла
//говно код
//бла-бла

?>


К файлу config.php закрыть доступ

Спасибо! Это то, что нужно )
alexey.terno
UNIт
 
Сообщения: 117
Зарегистрирован: 19 май 2019, 19:07


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9