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



Добро пожаловать на пользовательский форум CR-MP.RU
Зарегистрируйтесь или авторизуйтесь на нашем форуме, чтобы получить доступ ко всем функциям.
Если у Вас уже имеется аккаунт, нажмите, чтобы войти.
Если у Вас нет аккаунта на нашем форуме, нажмите, чтобы перейти к регистрации. Возникли проблемы с регистрацией ? Обратитесь на почту admin@cr-mp.ru с вашей проблемой.
Фотография

Как запустить игру по нику и айпи адресу.

- - - - -

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 21

#1
SCRIPTMAN

Shapik


Репутация: 173

Привет парни, пишу лаунчер на PHP.

 

 

Мне нужен код, как запустить игрока, когда нажмёт на кнопку "Подключиться" На определённый IP адрес сервера и с ником, который он указал.



#2
JoKeR_2020

Всея игрового портала


Репутация: 174

Печально, что парню никто не ответил.

 

Прямой возможности запустить игру с указанным ником - нет. Можно лишь запустить браузер с указанием адреса:

multiplayer_browser_cr 127.0.0.1:8904

Так же можно указать пароль:

multiplayer_browser_cr 127.0.0.1:8904 123456

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

 

Для того, чтобы всё же запустить игру с собственным ником, требуется записать его в реестр по адресу:

Ветка: HKEY_CURRENT_USER/Software/www.gtasrv.ru/CR-MP/GenerationC/
Ключ: player_name (REG_SZ)

В таком случае игра запустится с указанным ником, но стоит понимать, что здесь ник сохраняет браузер серверов и можно нанести небольшой дискомфорт игроку  :-). Хотя, можно написать костыль с запоминанием предыдущего ника и после запуска игры возвращать его обратно.


Сообщение отредактировал JoKeR_2020: 13 Октябрь 2016 - 23:57


#3
SCRIPTMAN

Shapik


Репутация: 173

multiplayer_browser_cr 127.0.0.1:8904

Пишу лаунчер в Devel Next. Как там это написать? Можешь полностью команду написать? Что-то не получается...

 

Вот что получилось. Просто сейчас пароль на сервере стоит.

execute('multiplayer_browser_cr 46.174.50.41:7815 1336', false);

Сообщение отредактировал LADA: 16 Октябрь 2016 - 23:07


#4
JoKeR_2020

Всея игрового портала


Репутация: 174


Пишу лаунчер в Devel Next. Как там это написать?

Я сейчас сам осваиваюсь там, это конечно извращение, интерпретация php на java.



#5
SCRIPTMAN

Shapik


Репутация: 173

JoKeR_2020,Вот с этим с вами согласен. Я сначала не понял, что за бред, java показывает. Почитав о данной программе. В ней конечно больше возможностей, чем в Devel Studio, из-за этого я и решил писать в Devel Next. 



#6
SCRIPTMAN

Shapik


Репутация: 173

JoKeR_2020,Окей, я зашёл туда и там записан мой ник. Как его прописать? В строку или кнопку? Действие 



#7
menik

Уважаемый


Репутация: 3


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

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



#8
JoKeR_2020

Всея игрового портала


Репутация: 174

menik, потому что это легко ломается, что мешает например вместо игры, запущенной лаунчером, запустить свою игру со своими неизвестными примочками? И клиенту игры никак не передать какую-то информацию для аутентификации (можно использовать пароль как токен, но он тоже легко перехватывается, или даже никнейм). Если лаунчер написан на .NET или DS, то вообще пустяк.

 

Как по мне, остается единственный хороший вариант сделать лаунчер - запускать игру, в неё инжектировать свою библиотеку, а та уже сломает протокол RakNet настолько, чтобы ничего, кроме клиента с этой библиотекой не могло зайти на сервер, да тут можно и свой анти-чит наподобие VAC запилить (да и не только). Да и идентификацию по железу, да блин любые модификации подключать можно, рай же.

 

Можно запускать игру и пропатчивать путь к папке с настройками игры через WriteProcessMemory, а после на сервере проверять GPCI, но это маразм какой-то  :-D



#9
menik

Уважаемый


Репутация: 3

JoKeR_2020, если ты все операции будешь делать на стороне сервера, ты же можешь вывести сайт в лаунчере и там же авторизовываться



#10
JoKeR_2020

Всея игрового портала


Репутация: 174

menik, какой вопрос стоит? Не дать игроку войти с игры, которая запущена не лаунчером, верно?


Сообщение отредактировал JoKeR_2020: 28 Июнь 2017 - 23:33


#11
menik

Уважаемый


Репутация: 3

JoKeR_2020, да 



#12
JoKeR_2020

Всея игрового портала


Репутация: 174

menik, подгрузку сайта в лаунчере можно сделать, а можно сделать отправку логина/пароля на сервер и получать в ответ токен, с которым запускать игру, чтобы позже клиент сообщил его для аутентификации серверу. Только как  :-D



#13
menik

Уважаемый


Репутация: 3

JoKeR_2020, нам не нужно передавать никакие токены) можно вводить в лаунчере пароль и логин и нажать "войти", потом лаунчер отправит на сайт запрос и поменяет значение что заходят с лаунчера и просто запускать игру, а при заходе на сервер проверять какой тип подключения используют, если лаунчер то пускать на сервак если нет то кикать)



#14
JoKeR_2020

Всея игрового портала


Репутация: 174

menik, так как ты собрался проверять этот тип подключения, если он не отличается в зависимости от того, запущена игра лаунчером или нет?



#15
menik

Уважаемый


Репутация: 3

c17g3RV.png

JoKeR_2020, так понятней?)



#16
NIKITA_BULANOV

Всея игрового портала


Репутация: 50

brilliant crmp курит в сторонке :D



#17
JoKeR_2020

Всея игрового портала


Репутация: 174

menik, и что мне помешает запустить свой клиент сразу после запуска через лаунчер?
 
Вы почему-то упираетесь в то, что если поставить в базе игроку значение, мол он может заходить, то он не сможет зайти с какой-то другой игры, запущенной не лаунчером. Хотя я могу банально зайти через лаунчер, завершить игру на этапе её загрузки и запустить свою.
 
А если говорить в общем, то лаунчер скорее всего требуется только для закачки мод-пака, и в данном случае заниматься маразмамом с этими проверками не нужно. Если игрок хочет, то пусть зайдет через браузер серверов, но на сервер его не пустит из-за неверного значения get_custom_hash.
 
Для всего остального, например анти-чита или модификаций, существует идеальный вариант:

Как по мне, остается единственный хороший вариант сделать лаунчер - запускать игру, в неё инжектировать свою библиотеку, а та уже сломает протокол RakNet настолько, чтобы ничего, кроме клиента с этой библиотекой не могло зайти на сервер, да тут можно и свой анти-чит наподобие VAC запилить (да и не только). Да и идентификацию по железу, да блин любые модификации подключать можно, рай же.


Вот его немножко маразма: связываемся с сервером через лаунчер, сервер отправляет ping запрос, лаунчер отвечает pong ответом, если от лаунчера pong ответа не поступило, устанавливаем флаг в базе на 0 (т.е. игрок зайти не сможет), после запуска игры проверяем список процессов и в случае исчезновения grand_theft_auto_san_andreas.dll так же устанавливаем флаг 0 (запускаем свой клиент с другой папки, пропатчив проверку на окно, лол).


Сообщение отредактировал JoKeR_2020: 29 Июнь 2017 - 15:55


#18
menik

Уважаемый


Репутация: 3

JoKeR_2020, блин, будь добр посмотри что я комментировал первый раз, речь шла а том как человека пустить через лаунчер а не через браузер серверов, это ты уже перевернул и зачем то в нее впилить библиотеки собрался + анти-читы + что-то ломать) я все ровно не могу понять как get_custom_hash поможет определить лаунчер или нет?)



#19
JoKeR_2020

Всея игрового портала


Репутация: 174

menik, мои мысли уже сказываются в вопрос: а надо ли это?

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

 

я все ровно не могу понять как get_custom_hash поможет определить лаунчер или нет?)

Ахтунг: ответ на вопрос цитатой.
 

будь добр посмотри что я комментировал первый раз

 

это ты уже перевернул

Я ничего не переворачивал, я просто обсуждаю, как сделать определение того, что игра запущена через лаунчер более качественнее и надежнее.

 

P.S: цитаты скукоживаются после редактирования...


Сообщение отредактировал JoKeR_2020: 29 Июнь 2017 - 16:02


#20
menik

Уважаемый


Репутация: 3


Вот его немножко маразма: связываемся с сервером через лаунчер, сервер отправляет ping запрос, лаунчер отвечает pong ответом, если от лаунчера pong ответа не поступило, устанавливаем флаг в базе на 0 (т.е. игрок зайти не сможет), после запуска игры проверяем список процессов и в случае исчезновения grand_theft_auto_san_andreas.dll так же устанавливаем флаг 0 (запускаем свой клиент с другой папки, пропатчив проверку на окно, лол).


Я ничего не переворачивал, я просто обсуждаю, как сделать определение того, что игра запущена через лаунчер более качественнее и надежнее.

зачем нам посылать запросы во время игры? это же лишняя нагрузка.

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






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных


Место свободно Место свободно