Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Сервер и клиент


Автор: XPyCT 7.4.2008, 09:59
всем привет!
прошу сразу меня не пинать  smile !
суть проблемы состоит вот в чем. есть игровой сервер по интернету и соответсвенно у многих кто на нем играет клиент подключения к нему!

на клиенте при запуске мной реализована защита на сторонний софт (чит)! но эту защиту обойти просто из того что просто меняют лаунчер клиента на другой и все! мысль такая к примеру в  лаунчер я прописываю код который передается приложению на сервере предположим  слово "ok"!  вот теперь самое главное. помогите написать програмулину которая прослушивала бы определенный порт и ждала бы это слово "ok"! с того  ip с которого идет коннект.  если к примеру слово  "ok" не полученно то коннект с  ip прервать(Дисконнект)! оч прошу помогите сам ток с билдером работал! но таким вопросам сам не справлюсь - заели читеры  smile   за ранее огромное спасибо!
===================================================================================
пост: Если защита станет в дальнейшем эфективной то этим поможем сотням людей страдающим этим недугом

Автор: korian 7.4.2008, 13:56
Цитата(XPyCT @  7.4.2008,  08:59 Найти цитируемый пост)
Если защита станет в дальнейшем эфективной 

не станет
для обычных пользователей и простой защиты хватает
для программеров, послать тот же пакет своей программой - не проблема.
+ еще будет куча юзверей, которые будут пользоваться такой программой.

Автор: korian 7.4.2008, 14:59
вообще не выжу смысла выдумывать какую-то сверх защиту.
обычный CD-KEY + небольшая защита на проверку клиента - это есть смысл делать, чтобы обычный юзверь не расслаблялся.
для того чтобы сделать любые навороты в защите требуется время и деньги.
и если программа популярная, то любая защита будет сломана в считанные дни.
т.е. получаем лишнюю трату времени и денег.
остальное должны решаться правоохранительными органами и администрацией.
сервер желательно писать так, чтобы смена клиента не давало никаких плюсов.
если этого сделать не получается, тогда решать вопрос административно, т.е. имеится свод правил, которые должен соблюдать юзер, если не соблюдает, то наказывать, вплоть до удаления аккаунта или лишения права пользоваться данной копией клиента...

Автор: XPyCT 7.4.2008, 17:14
ого? - это я  и так знал! но всеравно спс!
еще идеи будут?

Автор: korian 7.4.2008, 17:59
ну я просто хотел сказать, что смысла заниматься этим нету. также будут заменять ваш лаунчер, только при этом им придется еще посылать дополнительные данные на сервер.
ну а так, конкретезируйте вопрос.
в борланде есть компоненты TIdTCPClient, TIdTCPServer... можно сделать это используя их.

Автор: OrochimarunaI 8.4.2008, 10:18
Всем привет!
Написал сюда от без исходности...нашел более менее тему соответствующую моему запросу!!
Однажды играю в браузерную игру мне захотелось самому написать что то подобное...вот пришел спросить совета что мне использовать для написания браузерной игры...
Так как на мой взгляд (я могу ошибаться) самый распространенный язык для написания игр это с++...поэтому и зашел суда)
Помогите и направьте на путь истинный)))
Заранее спасибо!!!  smile 

Автор: gather 9.4.2008, 04:26
Цитата(OrochimarunaI @  8.4.2008,  10:18 Найти цитируемый пост)
мне захотелось самому написать что то подобное


Цитата(OrochimarunaI @  8.4.2008,  10:18 Найти цитируемый пост)
самый распространенный язык для написания игр это с++


А еще, самое хорошее оружие для охоты на воробьев - это пушка.
Вы определитесь, что именно Вы хотите написать. Исходя из этого, выбирайте язык реализации, так-же опираясь на серверную часть софта.
Кроме того, учитывайте и свой опыт программирования на данном языке, и под данную систему.
После обдумывания, выбирайте соответствующий раздел, и задавайте конкретные вопросы.

Автор: Comm 9.4.2008, 05:24
Пацан ищет себя =))) 
Юзай Macro Media Flash

Автор: XPyCT 13.4.2008, 10:29
korian
 
Цитата(korian @  7.4.2008,  17:59 Найти цитируемый пост)
в борланде есть компоненты TIdTCPClient, TIdTCPServer... можно сделать это используя их. 

на сколько я помню на этих компанентах писали чтото вроде примера лан чата!

мне нужно чтобы програма (которую напишу) просто слушала порт на прием определенного сигнала если сигнал не получен то отключить(дисконект) данного ip! на стороне клиента я сам разберусь

на сколько она будет эффективна это дело будущего! во всяком случаее я эту идею не оставлю! ну а если кто нибудь напишет просой примерчик для развития мысли то я вообще счастлив буду ))

Автор: gather 13.4.2008, 19:45
Цитата(XPyCT @  13.4.2008,  10:29 Найти цитируемый пост)
мне нужно чтобы програма (которую напишу) просто слушала порт

Открыли нужный порт, заняли его, и сидим слушаем. В чем проблема то?

Автор: XPyCT 14.4.2008, 08:16
Цитата(gather @ 13.4.2008,  19:45)
Цитата(XPyCT @  13.4.2008,  10:29 Найти цитируемый пост)
мне нужно чтобы програма (которую напишу) просто слушала порт

Открыли нужный порт, заняли его, и сидим слушаем. В чем проблема то?



Проблема в том что нужно слушать порт на который идет конект
предположим логин сервер работает на порту 10001 мне и нужно его слушать на ожидание сигнала и если сигнал не получен с ip адреса который подключается то его отключить! скорее всего нужно обращатся к сокетам динамически создаваемым!


я просто пока не понимяю как это реализовать по этоиу и просил простой пример типа стартовый пинок! за ранее спс если не трудно направте в нужном наравлении

Автор: gather 14.4.2008, 16:16
Цитата(XPyCT @  14.4.2008,  08:16 Найти цитируемый пост)
и если сигнал не получен с ip адреса который подключается то его отключить!

Вы сначала разберитесь, Вам шашечки или ехать?

Цитата(XPyCT @  14.4.2008,  08:16 Найти цитируемый пост)
предположим логин сервер работает на порту 10001

Это сторонний софт? Или Вами написанный?
Если сторонний, то Вы тут уже никак не зацепитесь на этот порт своей софтиной чтобы слушать.
Вам для начала надо сесть и нарисовать схему, что и как будет работать. А уже затем что то программировать.

Автор: XPyCT 14.4.2008, 20:03
игровой сервер работает ! Рисинг форце !
Логин сервер работает на 10001
Зонесервер работает на 27780

я пытаюсь прослушать порт 10001 когда происходит логин к серверу! именно  на этом этапе!
как я правильно понял если игровой логин сервер использует этот порт  10001 то его уже нельзя будет использовать?
весьма досадно!

Автор: gather 14.4.2008, 20:23
Цитата(XPyCT @  14.4.2008,  20:03 Найти цитируемый пост)
как я правильно понял если игровой логин сервер использует этот порт  10001 то его уже нельзя будет использовать?

Именно так. Если мне не изменяет память.
Делайте тогда "прокладку" между LoginServer и клиентом.
Т.е Ваш софт будет слушать порт 10001, LoginServer порт 10002.
После прихода данных на порт 10001 они будут пересылаться Вашей программой на порт 10002 ...
Еще раз Вам говорю, нарисуйте СХЕМУ что и как Вы хотите использовать. 

Автор: XPyCT 14.4.2008, 20:39
Значит
1. Нужно прохексить LoginServer на порт 10002
2. Написанная программа будет слушать порт 10001
3. при условии получения оределенного моной пакета редирект на порт 10002
4. при условии получения( или не получения) не того пакета дисконнект даннного  ip
вот примерно так!

Добавлено через 4 минуты и 36 секунд
[QUOTE=gather,14.4.2008,  20:23]
Цитата(XPyCT @  14.4.2008,  20:03 Найти цитируемый пост)
как я правильно 
Еще раз Вам говорю, нарисуйте СХЕМУ что и как Вы хотите использовать.

ну я не понимаю вопроса?
план составил! а что именно и как я сам пока не знаю! 
1.знаю точно чего хочу!
2.Не знаю точно как воплотить то что хочу!
ради бога простите такого назойливого ну очень надо

Автор: XPyCT 15.4.2008, 10:26
скачал эту книгу Эффективное программирование на TCP/IP! почитаю подумаю  потом отпишусь 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)