Paulik Opublikowano 11 Sierpnia 2012 Udostępnij Opublikowano 11 Sierpnia 2012 Hejka ,otrzymałem pewien projekt gry multiplayer. I w scripts mam scr_client_init_variables, a zawartość tego wygląda tak: //HowToMakeAnMMORPG.com //the ultimate resource //function: initiate global variables globalvar globaltemp; globalvar globaltemp1; //Client global.client_ip = "tutaj ip" ; //IP address to connect to86.20*.1*2.1*2"*****no-ip.org" global.client_port = 56441; //Port to use global.socket = -1; //Chat global.chatting = false; global.keyboard_string_previous = ""; global.chat_lines = 10; var i; for (i = 0; i < global.chat_lines; i += 1) { global.chat_contents[i,0] = ""; //Name global.chat_contents[i,1] = ""; //Contents global.chat_contents[i,2] = c_white; //Color } I mam pytanie , gracze się połączą z serwerem,gdy wpiszę tutaj swoje IP i port , czy muszę tworzyć plik aby odpalić klienta, + czy jeżeli stworzę "odpalacza serwera" na gotowym pliku , to się gracze połączą , czy muszę pisać jakiś specjalny kod do tej gry? , jeżeli tak to pomoże mi ktoś? Mam jeszcze jedno pytanko, jeżeli mam wewnętrzne IP to jaki port wpisać? Pozdrawiam + z góry dziękuję za pomocną odpowiedź. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 11 Sierpnia 2012 Udostępnij Opublikowano 11 Sierpnia 2012 Po jednej stronie, jak i po drugiej musi być odbieranie pakietów które wysyła klient i serwer, port dowolny. W mjej sygnaturce masz przykład gry mmo na 39dll. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paulik Opublikowano 11 Sierpnia 2012 Autor Udostępnij Opublikowano 11 Sierpnia 2012 Czyli muszę napisać aplikację odpalającą serwer? Bo mam tutaj taką przykładową ,Port 7777 ustawię, ale co dalej? edit: Tutaj mam gotowy plik Server.exe: http://www.speedyshare.com/tUPDv/39DLL-Tutorial.rar Proszę mi powiedzieć , co mam w nim edytować , aby po prostu gra działała , gdzie mam wpisać swoje IP. No bo chyba, wpiszę IP w server.exe , odpalę go , wpiszę potem IP w grze (z tym co ma się łączyć) i odpalę grę dopiero. Proszę o pomoc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 11 Sierpnia 2012 Udostępnij Opublikowano 11 Sierpnia 2012 ściągasz hamachi i przez niego możesz sobie grać, w kliencie wpisujesz sobie port i ip takie jak ma host w hamachi i cient i host musi mieć hamachi w servwrze nie wpisujesz ip tylko w client Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paulik Opublikowano 11 Sierpnia 2012 Autor Udostępnij Opublikowano 11 Sierpnia 2012 ściągasz hamachi i przez niego możesz sobie grać, w kliencie wpisujesz sobie port i ip takie jak ma host w hamachi i cient i host musi mieć hamachi w servwrze nie wpisujesz ip tylko w client Aha , czyli w server.exe muszę tylko dać port taki jak z Hamachi ,a w cliencie muszę dać IP i Port z hamachi i powinno działać ? Tak ? Edit: Tylko ja mam IP w Hamachi takie:5.100.92.137 A jaki jest port? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 11 Sierpnia 2012 Udostępnij Opublikowano 11 Sierpnia 2012 prawym tam gdzie masz swoje ip->kliknij i wtedy "kopiuj adres IPv6" to port a "kopiuj adres IPv4" to ip ja nawet na serwerze nie zmieniałem portu i było dobrze, tylko w client zmieniałem ip i port z hamachi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paulik Opublikowano 11 Sierpnia 2012 Autor Udostępnij Opublikowano 11 Sierpnia 2012 Mam problem ,przy uruchamianiu serwera: ___________________________________________ FATAL ERROR in action number 1 of Create Event for object obj_control: COMPILATION ERROR in code action Error in code at line 2: servertcp = tcplisten(2620:9b::564:5c89,10,1) //This starts the server with the port:7777 and max connections of: 10 ^ at position 28: Symbol , or ) expected. Ogółem ,wcześniej dałem PORT 12975 , i działało serwer połączył się z grą, teraz aby nie było tego błędu odpalam Serwer przez debugowanie, ale gdy uruchamiam grę to przy łączeniu z serwerem w pewnym momencie ,gra się wyłącza. Co do tego wcześniejszego , poprawnego uruchomienia , to nie działała rejestracja i logowanie do gry (być może przez ten port). Proszę o pomoc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ALT Opublikowano 11 Sierpnia 2012 Udostępnij Opublikowano 11 Sierpnia 2012 Gdzieś zjadłeś nawias Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 11 Sierpnia 2012 Udostępnij Opublikowano 11 Sierpnia 2012 a bo wcale że nie:D real("2620:9b::564:5c89") powinno działać, jak ja robiłem to `na servie nie zmieniałem portu, tylko w cliencie dawałem port=get_integer("port",2620) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paulik Opublikowano 11 Sierpnia 2012 Autor Udostępnij Opublikowano 11 Sierpnia 2012 Czyli w aplikacji,w której odpalam serwer ,ma być port 7777 ,a tylko zmienić w cliencie ? edit: Czyli co ja mam w końcu zmienić? Jaki plik w cliencie ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 11 Sierpnia 2012 Udostępnij Opublikowano 11 Sierpnia 2012 Przeczytaj sobie w internecie coś o tcp, połączeniach bo nie rozumiesz podstawowych reguł. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paulik Opublikowano 11 Sierpnia 2012 Autor Udostępnij Opublikowano 11 Sierpnia 2012 Ja nie zabieram się za pisanie gier, mi chodzi tylko o odpalenie serwera dla tej gry. Ogółem , teraz serwer działa , pisze Connected, jest nowy problem nie mogę się zarejestrować oraz zalogować do gry, czego może być to problem ,proszę o pomoc. Dam wam zawartość pewnych plików: scr_client_init_variables //HowToMakeAnMMORPG.com //the ultimate resource //function: initiate global variables globalvar globaltemp; globalvar globaltemp1; //Client global.client_ip = "5.100.92.137" ; //IP address to connect" global.client_port = 12975; //Port to use global.socket = -1; //Chat global.chatting = false; global.keyboard_string_previous = ""; global.chat_lines = 10; var i; for (i = 0; i < global.chat_lines; i += 1) { global.chat_contents[i,0] = ""; //Name global.chat_contents[i,1] = ""; //Contents global.chat_contents[i,2] = c_white; //Color } obj_btn_confrim_login //HowToMakeAnMMORPG.com //the ultimate resource //function: send login data var username, password, username_length, password_length; username = obj_textbox_username.text; password = obj_textbox_password.text; username_length = string_length(username); password_length = string_length(password); //Check if the username is too short or too long if (username_length <= 4 || username_length >= 16) { show_message("Your username must be between 4 and 16 characters."); exit; } //Check if the password is too short or too long if (password_length <= 4 || password_length >= 16) { show_message("Your password must be between 4 and 16 characters."); exit; } //Send packet clearbuffer(); writebyte(MID_LOGIN); writestring(username); writestring(password); send_server(); obj_btn_confrim_register: //HowToMakeAnMMORPG.com //the ultimate resource //function: send register data var username, password, username_length, password_length; //Retrieve user entries in the username and password textboxes username = obj_textbox_username.text; password = obj_textbox_password.text; //Check if the username is too short or too long username_length = string_length(username); password_length = string_length(password); if (username_length <= 4 || username_length >= 16) { show_message("Your username must be between 4 and 16 characters."); exit; } //Check if the password is too short or too long if (password_length <= 4 || password_length >= 16) { show_message("Your password must be between 4 and 16 characters."); exit; } if (global.firme == 0) { show_message("You must choose a company."); exit; } //Send packet clearbuffer(); writebyte(MID_REGISTER); writestring(username); writestring(password); writebyte(global.firme); send_server(); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 11 Sierpnia 2012 Udostępnij Opublikowano 11 Sierpnia 2012 Ustawiasz w serwerze jakiś port z zakresu 1024-65535, później na kliencie wpisujesz ten sam port i IP hosta. Jak odpalasz serwer i klient na tym samym kompie to wpisz 127.0.0.1 (adres lokalny). Co do tej rejestracji to daj kod z serwera. @kriso99 Adres IPv6 to nie port... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 11 Sierpnia 2012 Udostępnij Opublikowano 11 Sierpnia 2012 ja to wpisywałem jako port i działało, z resz tą nie znam się! edit: wiesz że chciałem zbić tego robaka co masz w sygnie?! edit2:no to port dajesz własny, tylko ipv4 z hamachi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paulik Opublikowano 11 Sierpnia 2012 Autor Udostępnij Opublikowano 11 Sierpnia 2012 scr_client_init_variables //HowToMakeAnMMORPG.com //the ultimate resource //function: initiate global variables globalvar globaltemp; globalvar globaltemp1; //Client global.client_ip = "5.100.92.137" ; //IP address to connect" global.client_port = 12975; //Port to use global.socket = -1; //Chat global.chatting = false; global.keyboard_string_previous = ""; global.chat_lines = 10; var i; for (i = 0; i < global.chat_lines; i += 1) { global.chat_contents[i,0] = ""; //Name global.chat_contents[i,1] = ""; //Contents global.chat_contents[i,2] = c_white; //Color } obj_btn_confrim_login //HowToMakeAnMMORPG.com //the ultimate resource //function: send login data var username, password, username_length, password_length; username = obj_textbox_username.text; password = obj_textbox_password.text; username_length = string_length(username); password_length = string_length(password); //Check if the username is too short or too long if (username_length <= 4 || username_length >= 16) { show_message("Your username must be between 4 and 16 characters."); exit; } //Check if the password is too short or too long if (password_length <= 4 || password_length >= 16) { show_message("Your password must be between 4 and 16 characters."); exit; } //Send packet clearbuffer(); writebyte(MID_LOGIN); writestring(username); writestring(password); send_server(); obj_btn_confrim_register: //HowToMakeAnMMORPG.com //the ultimate resource //function: send register data var username, password, username_length, password_length; //Retrieve user entries in the username and password textboxes username = obj_textbox_username.text; password = obj_textbox_password.text; //Check if the username is too short or too long username_length = string_length(username); password_length = string_length(password); if (username_length <= 4 || username_length >= 16) { show_message("Your username must be between 4 and 16 characters."); exit; } //Check if the password is too short or too long if (password_length <= 4 || password_length >= 16) { show_message("Your password must be between 4 and 16 characters."); exit; } if (global.firme == 0) { show_message("You must choose a company."); exit; } //Send packet clearbuffer(); writebyte(MID_REGISTER); writestring(username); writestring(password); writebyte(global.firme); send_server(); scr_client_init //HowToMakeAnMMORPG.com //the ultimate resource //function: initiate the client and attempt a connection to the server scr_client_init_variables(); dllinit(false,true,true); //Initiate 39dll //Attempt connection to server global.socket = tcpconnect(global.client_ip,global.client_port,true); //Return result of connection attempt if (global.socket < 0) then return false else return true; scr_case_register //HowToMakeAnMMORPG.com //the ultimate resource //function: process server registration response switch (readbyte()) { case 0: show_message("Your username or password contain illegal characters."); break; case 1: show_message("Your username must be between 4 and 16 characters."); break; case 2: show_message("Your password must be between 4 and 16 characters."); break; case 3: show_message("An account with that username already exists."); break; case 4: show_message("Account successfully created! Please login now."); room_goto(rm_connected); break; } scr_case_login //HowToMakeAnMMORPG.com //the ultimate resource //function: process server login response switch (readbyte()) { case 0: show_message("Your username or password contain illegal characters."); break; case 1: show_message("Your username must be between 4 and 16 characters."); break; case 2: show_message("Your password must be between 4 and 16 characters."); break; case 3: show_message("An account with that username does not exist."); break; case 4: show_message("Your password does not match the account password."); break; case 5: show_message("Someone else has logged into this account."); break; //Self login case 6: var i; i = instance_create(0,0,obj_player); //Assign general stats to player scr_read_stats(i); instance_change(obj_controller,1); room_goto(rm_gameworld); break; //Other login case 7: var i; i = instance_create(0,0,obj_other); //Assign general stats to player scr_read_stats(i); add_line("",i.name + " has joined the game.",c_lime); break; } scr_case_logout //HowToMakeAnMMORPG.com //the ultimate resource //function: process server logout response globaltemp = readushort(); with (obj_other) { if (playerid == globaltemp) { add_line("",name + " has left the game.",c_purple); if (playerid == obj_player.cible) { obj_player.shooting = false obj_player.cible = 0 } instance_destroy(); } } Jeżeli jeszcze chcesz jakieś pliki , pisz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 12 Sierpnia 2012 Udostępnij Opublikowano 12 Sierpnia 2012 Prosiłem o pliki SERWERA, a nie KLIENTA. Te co dałeś tylko wyświetlają okienka czy pomyślnie zalogowano czy też nie. process server login response = odpowiedź serwera na proces logowania Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się