multiplayer

Hello.
Azt hiszem, meg kell kezdeni a hálózati multiplayer. Olvastam egy csomó szakirodalom különböző szervereken. De valahogy, bár ez nem alkalmas a gondolatok. Hogyan szeretnék végre minden:
(Példa) Vannak 3 játékos. Az első megnyomta a folytatásban gombot. Minden ügyfél küld egy üzenetet, mint például: ugrás (GameObject) vagy GameObject.Jump (). Object ugrott. És nincs szerver (vagy inkább ez lenne a „szerver” játszott 1 játékos, aki ugyanúgy kell küldeni információt a kliens). Azt persze erősen leegyszerűsített (egyértelmű, hogy még mindig sok különböző ellenőrzések szinkronizálásokat és így tovább. Még nem beszéltem a szerver Maxter).
De ez nem olvasta sehol semmilyen kiszolgáló komplex algoritmusokat. Tud valaki merre van a helyes cikket, ha ilyen módszer létezik egyáltalán? Vagy elmagyarázni, hogy hol lehet kapni a szokásos programozási, és hol nem.

ugrás menni, és a szokásos egység hálózati

Ilka írta (a): az ugrás fog menni, és rendes egység hálózati


Néztem. Már hasonlít, amire szüksége van. Azonban a következő kérdések merülnek fel:

Ismét az összes művelet megy közvetítőn keresztül (a szerver), és ez az extra ms. Vagy szerver - kötelező része? Nem lehet, hogy az üzenetek elküldésére egy kliens (azaz nincs üzenet küld a szervernek, és az összes többi játékos)?

Miért nem akarja a szerver? Mert ha néhány játékos egyszerre szerver, ha távozott, a játék megáll. De üzeneteket küld a játékosok között nem függ Kago különösen.

Mindenre van erőm a új hálózat

tud működni mind a szerveren keresztül vagy lokálisan

1-3 játékos csatlakozni a szerverhez
2 - 1 játékos úgy dönt, hogy hozzon létre egy játék, ez lesz a „kiszolgáló” magát, 2 játékos az első podklyuchayutsyay

youtube.com/user/immeasurability/videos
300 300 youtube.com/watch?v=NdWLWxKqiuw
határok youtube.com/watch?v=jveE1usxPto
kereskedelmi hajók youtube.com/watch?v=OTkhONYv8iI

Olvastam, úgy tűnik, kezdtem megérteni valamit.
A szerver szükséges, kb. Ő fogja szolgálni nekem csak olyan adatokat iroda (számítás nélkül nem lesz rajta). De megint, ott is a következő kérdéseket.
Én nagyon illik NetworkView (inkább NetworkView.RPC), de van építve a készülékbe. Ez azt jelenti, a szerver lesz a Unity alkalmazás. Ez az extra terhelést a gép (VPS / dedikált). Ez, azt nem kell az összes funkcióját Unity, mert mint mondtam, nincsenek számítások a kiszolgálón nem. Mi fogja ajánlani? Lehet, hogy van néhány egyszerű példát?

akkor a szerver lesz a Unity alkalmazás. Ez az extra terhelést a gép


Nem egészen.
Hozzon létre egy játék - létrehozza a szerver.
Ugyanakkor a szerver olyan, mintha a szerző az ügyfél - a játékos.
A többiek csatlakoznak egyszerűen ügyfélként.
Nem feltétlenül kell futtatni egy külön alkalmazás szerver.

2 - 1 játékos úgy dönt, hogy hozzon létre egy játék, ez lesz a „kiszolgáló” magát, 2 játékos az első podklyuchayutsyay

akkor a szerver lesz a Unity alkalmazás. Ez az extra terhelést a gép


Nem egészen.
Hozzon létre egy játék - létrehozza a szerver.
Ugyanakkor a szerver olyan, mintha a szerző az ügyfél - a játékos.
A többi meg, ahogy a fogyasztók kapcsolódnak.
Nem feltétlenül kell futtatni egy külön alkalmazás szerver.

2 - 1 játékos úgy dönt, hogy hozzon létre egy játék, ez lesz a „kiszolgáló” magát, 2 játékos az első podklyuchayutsyay


Arra a következtetésre jutottam, hogy a szerver jobb, ha nem az ő autó (ami a játék nem áll le, ha valaki jött ki. És a „csaló” nem is olyan könnyű).
Tehát, ha jól értem, nem tudok létrehozni egy külön kliens alkalmazás és egy külön alkalmazás szerver. A szerveren, én csak forgatókönyvet networka (nincs prefabs, nem megy, stb.)
Azt hiszem, egy kezdő nem lehet és nem fizeti a további források podzhiraet maga Yun.

Most már értem, hogy helyesen? Ez megvalósítható révén egységeket?

Nos, igen, ez lehet összeszerelni a szerver és kliens speciális alkalmazásokhoz.
Ebben az esetben a szerver nem kell tenni játék grafika, nem sverhResursov ő biztosan nem fogja fogyasztani.

Nem kell külön szervert. Az egyik az ügyfelek a szerver idejére egyetlen társasjátékok. Ő nem tud róla. Cheat csak az egyetlen.
Ha meg akarsz csinálni egy dedikált szerver, akkor kell bérelni a hardver beszerzése és átírni hálózati megoldások a kliens-szerver, így a szerver konzol alkalmazás.

getAlex írta (a): Nem kell külön szervert. Az egyik az ügyfelek a szerver idejére egyetlen társasjátékok. Ő nem tud róla. Cheat csak az egyetlen.
Ha meg akarsz csinálni egy dedikált szerver, akkor kell bérelni a hardver beszerzése és átírni hálózati megoldások a kliens-szerver, így a szerver konzol alkalmazás.


1) Ha vásárolni egy gyenge Genf (jól, például 1000 MHz-es, CPU1 GB RAM), akkor azt gondolja, ez lesz teljesen alkalmas a kezdet (elvégre nincs számítás nem lesz). Nem?
2) Ha a kiszolgáló létrehozása 1 játékos, akkor a játéknak vége, ha kijön? Vagy lehet tenni valamit?
3) Milyen kliens-szerver kell vásárolni? Amennyire én értem, képes lesz építeni minden a logika segítségével NetworkView.RPC?
4) I, mint a szerver fogja használni ugyanazt egységek. Nehéz nekem, hogy egy konzolos alkalmazás? Nem találtam semmit róla (szívesen hivatkoznak).
Amennyire én értem, te beszélsz a futás és kezelése a szerver. Szélsőséges esetben, akkor lehet tenni anélkül, hogy a konzol parancsokat.

És egy másik kérdés. Elkezdtem a szerver (InitializeServer), hogyan fogom megállítani őt?

2) meg lehet oldani. Általában 2 kapcsolatot egyszerre -on lobbizni szerver, ahol a játékosok választhatnak a szoba, a második - a kiszolgáló-lejátszó. Ha a kiszolgáló-lejátszó leesik, kiválasztja a lobby az új szerver játékosok között alapuló optimális ping között
3) Az összes Unity Network, amennyire én tudom, a kliens-kliens (lehet, hogy tévedek). Nincs normális kliens-szerver beállításokat. Ingyenes kliens-szerver lehetőségek vannak, de sokat kell dopilivat
4) Unity eszik sok helyet. Még a lehetőséget grafika nélkül, és más dolog, hogy nem alkalmas a szerverek. A szerver kell formájában a konzolos alkalmazás, például írt Visual Studio

Általában azt lehet létrehozni több szerver egy alkalmazás? Most írok InitializeServer többször (megpróbáltam ugyanazt a különböző szkriptek különböző GO), és csatlakoztassa kiderül csak az utolsó létrehozva.
Ez nagyon jól erőforrások megtakarítása.

Mégis találtam a fórum valami hasonló.

Wolf írta (a): Műszaki szempontból a szobában csak egy lista a felhasználók megtalálni azt

public class szoba # 123;
nyilvános listája userlist;

public void Userin # 40; felhasználó felhasználói # 41; # 123;
// hozzá a felhasználót a listában
# 125;

public void userOut # 40; felhasználó felhasználói # 41; # 123;
// eltávolítja a felhasználót a lapról
# 125;

public void userMessageToRoom # 40; byte # 91; # 93; msg # 41; # 123;
// Levél mindenkinek, aki egy üzenetben lista
# 125;

Ez a minimális funkcionális szobák a szerveren.


Kiderült, hogy én már egy szerveren. Ez például van 100 ember. És én magam „feltételesen” share ezeknek az embereknek, hogy az aktuális játék (a szobában), és a puszta építek a köztük lévő kapcsolatot. De talán, mind a 100 kliensek nem küldik meg a többi (például ping egymással)?

Emel-maks-va írta (a): Általában tudok létrehozni több szerver egy alkalmazás?


Ez nem így történt. Van egy alap program, amely figyeli a System.Diagnostic konzol alkalmazás szerver. Először is, ha van egy baleset a szerver, akkor csökkenni fog csak egy munkamenet, de nem minden. Másodszor, ez lesz az első lépés ahhoz, hogy folytathatja a játékot egyszerre különböző szervereken. Harmadszor, ez a megoldás működik, amilyen gyorsan az azonos méretű kapcsolatok listák kisebb lesz, és nem kell, hogy menjen át a listát a 1000 játékos, csak három játékos, hogy frissítse a helyzet.