Podążałem za Tutorialem Unity of Multiplayer gry (Oto), A architektura jest następująca: Client + Server Architecture

Ale chciałbym mieć tę architekturę:

Server only architecture

Chciałbym naprawdę oddzielić część klienta i część serwera w grze online. Jestem nowy z jednością, a zwłaszcza dzięki gry online multiplayer i naprawdę nie wiem, jak to zrobić. Nie chcę rozwiązania, ale może pomysł, jak to zrobić.

Dużo dziękuję za pomoc.

2
iAmoric 15 luty 2017, 18:14

2 odpowiedzi

Najlepsza odpowiedź

Jestem zaskoczony, że nie nauczyłeś się tut i opublikować to pytanie. Oczywiście możesz wykonać oddzielny serwer.

Jako jedność Unt Basic Concept stwierdzono:

W systemie Networking Unity gry mają serwer i wiele Klienci. Gdy nie ma serwera dedykowanego, jeden z klientów odtwarza Rola serwera - Nazywamy tego klienta "host"

Trzy tryby gry UNET Multiplayer:

Gra wieloosobowa sieciowa może działać w trzy tryby - jako klient , jako serwer dedykowany lub jako " host ", który jest zarówno klientem, jak i serwer w tym samym czasie. Networking ma na celu wykonanie tego samego kodu gry i aktywów w tych wszystkich przypadkach. Rozwijanie w wersji pojedynczej gracza, a wersja wieloosobowa gry powinna być tym samym.

NetworkManager ma funkcje do wprowadzania każdego z tych trybów:

NetworkManager.StartClient()
NetworkManager.StartServer()
NetworkManager.StartHost()

Sprawdź Un RetManager, aby uzyskać więcej informacji

2
Muhammad Faizan Khan 25 marzec 2017, 06:28

Możesz otworzyć instancję jedności jako serwer dedykowany.

NetworkManager.StartServer();

Jednak dla aktualnego stanu UNET można mieć tylko 1 pokój na instancje jedności.

Co oznacza, że chcesz otworzyć wiele sali gier w tym samym czasie, będzie to kosztować dużo sprzętu.

Biegnij jako tryb bez bezgłowy (bez GUI) pomoże ci trochę, ale to nie wystarczy (obecnie zrobiłem to na wykonaniu).

Więc moja rekomendacja nie jest używana UNET, jeśli chcesz masywnych użytkowników w swojej grze.

0
b.ben 26 marzec 2017, 06:55