Sie sind vermutlich noch nicht im Forum angemeldet - Klicken Sie hier um sich kostenlos anzumelden  
´
Sie können sich hier anmelden
Dieses Thema hat 2 Antworten
und wurde 332 mal aufgerufen
 Technik - Spieler helfen Spielern
BieneMaja


Beiträge: 102

19.09.2015 15:10
Paar Gedanken zu einem Multiplayer ("private" LAN) Zitat · Antworten

Hier ein paar Gedanken zu einem Multiplayer ("private" LAN).

Die ganz große Lösung mit World-Server für alle würde ich mal den den Profis
überlassen und es gar nicht erst probieren.
Auch eine LAN-Lösung für viele lasse ich ich sein.

Also fängt man erst mal mit einer LAN-Lösung für 2 bis maximal 6 Leute an.
Einer von denen ist der "Serverbetreiber". Die anderen schicken ihm per Mail oder sonst
wie Ihre Carslots.xml.
Im Verzeichnis ..\www\nfsw\Engine.svc\personas gibt es dann maximal
18 Personas (6 Leute * 3 Fahrer pro Person). Für den Anfang würde es auch reichen, wenn
jeder nur 1 Fahrer hat.
Ganz für den Anfang könnte der Server-Betreiber auch einen "Referenz-Fuhrpark" anlegen
und den 17 mal kopieren. Dann hätten alle die gleichen Waffen.

In ein VPN kämen alle z.B. mit http://www.tunngle.net/de


1.Aufgabe vom Serverbetreiber: Eindeutigmachen der CarId.
Während die
CarSlotInfoTrans.CarsOwnedByPersona.OwnedCarTrans.CustomCar.Id eher unwichtig ist, muss die
CarSlotInfoTrans.CarsOwnedByPersona.OwnedCarTrans.Id global (!!!) eindeutig sein
(also nicht nur pro carslots.xml, wobei das im Moment vom Offline-Server schon nicht sicher gestellt
wird)
So ein kleines Progrämmchen wäre schon da ("lauf über alle carslots und zähle die Id's global hoch").


Einschränkung: In so einer Version würde nix im Shop gemacht und auch nix an den Autos.
Also nur Multiplayer-Rennen mit bestehenden Carslots.


Wie sähe der Traffic wohl aus.
1) Server wird gestartet
2) der erste, der NFSW startet, bekommt die Personas 1100,1200,1300
3) der zweite, der NFSW startet, bekommt die Personas 2100,2200,2300 usw.

4) Spieler 1 will in Lobby für Rennen 43 (Client -> Server)
5) Spieler 2 will in Lobby für Rennen 43 (Client -> Server)
6) Server erkennt, dass 2 dasselbe wollen .. Lobby wird aufgemacht.. Info an alle (Server --> Client)
7) Spieler 1 schickt seine verwendete CarId an Server (Client -> Server)
8) Spieler 2 schickt seine verwendete CarId an Server (Client -> Server)
9) Server schickt ein OwnedCarTrans-Paket mit dem Auto von Spieler 2 an Spieler 1 (Server --> Client)
10) Server schickt ein OwnedCarTrans-Paket mit dem Auto von Spieler 1 an Spieler 2 (Server --> Client)
11) Spiel startet
12) Jetzt die große Unbekannte.
Jede Sekunde (?) schickt jeder Spieler seine GPS-Daten, wo das Auto gerade ist, an den Server.
Der Server schickt jedem Spieler die GPS-Daten der anderen Spieler.

13) Wird ein PowerUp benutzt, wird die Info an den Server gesendet.
14) Die PowerUp-Info wird vom Server an die anderen Spieler weitergegeben.

15) Beendet ein Spieler ein Rennen ("im Ziel" oder "Rennen wurde abgebrochen") schickt der Client
ein RouteArbitrationPacket-Paket an den Server.
16) Der Server schickt die Rennende-Info an die anderen Spieler.

So oder so ähnlich sieht es wohl aus.


Um sich nun wirklich damit zu beschäftigen, würde man aber erstmal die entsprechenden
XML-Pakete benötigen. Daher die Frage an alle. Hat jemand zu real World Zeiten diese
Infos mal mitgeschnitten oder hat sonst Quellen ?
Ohne diese XML-"Protokolle" wäre es wohl zwecklos, sich dran zu probieren.

PS: Ich möchte hier keinem falsche Hoffnungen machen, ein Multiplayer wäre in der Mache oder schon weiter

NoSpaX



Beiträge: 223

19.09.2015 22:19
#2 RE: Paar Gedanken zu einem Multiplayer ("private" LAN) Zitat · Antworten

Deine "Große Unbekannte" ist das verschlüsselte UDP-Protokoll.

Desweiteren würde der Server das richtig (und von selbst) verwalten, wenn eine Datenbank dahintersteht.
Der Server schickt übrigens NICHTS, was der Client nicht anfordert.
Sobald man die Lobby betrifft, wird der CLient selbststänig die Carslots abklappern an hand derer PID.

On Click Player: target pid 17445907, target uid 6498321
GET /nfsw/Engine.svc/DriverPersona/GetPersonaInfo?personaId=17445907
GET /nfsw/Engine.svc/personas/17445907/cars



Wieso sage ich schon seit langem:
Der Offline Server ist kein Server und Multiplayer unterstützt er daher erst recht nicht.

Spätenstens wenn UID und PID verstanden wurden, kommt man auf das selbe Ergebnis.


Suchst du das?

PUT /nfsw/Engine.svc/matchmaking/makeprivatelobby/362 HTTP/1.1

HTTP/1.1 200 OK
Content-Length: 460
Content-Type: application/xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Fri, 15 May 2015 06:59:21 GMT

<LobbyInfo xmlns="http://schemas.datacontract.org/2004/07/Victory.Service"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Countdown i:nil="true"/>
<Entrants>
<LobbyEntrantInfo> <!-- Repeat for each Lobby contestant-->
<GridIndex>0</GridIndex>
<Heat>1</Heat>
<Level>7</Level>
<PersonaId>7555491</PersonaId>
<State>InFreeRoam</State>
</LobbyEntrantInfo>
</Entrants>
<EventId>362</EventId>
<IsInviteEnabled>true</IsInviteEnabled>
<LobbyId>176191870</LobbyId>
<LobbyInviteId>684621469</LobbyInviteId>
</LobbyInfo>


PUT /nfsw/Engine.svc/matchmaking/invitetoprivatelobby?invitePersonaId=2788465
(Zero response? )


PUT /nfsw/Engine.svc/matchmaking/acceptinvite?lobbyInviteId=684621469
(Zero response? , trigger by jabber)


PUT /nfsw/Engine.svc/matchmaking/declineinvite?lobbyInviteId=684621469
(Zero response? , trigger by jabber)


Für Multiplayer:
PUT /nfsw/Engine.svc/matchmaking/joinqueueevent/55
Acceptinvite <-> declineinvite
decline: PUT /nfsw/Engine.svc/matchmaking/leavequeue





Ich war einer der ersten, die angefangen haben zu loggen.
Was allerdings den Jabber-part betrifft: Hatte keine möglichkeit diesen unverschlüsselt zu loggen.
Erst 1 tag kurz vor Shutdown hatte ich eine Lösung mit Wireshark >_>



http://www.anime-planet.com/users/Syphos/anime/watching
^ Anime watchlist T_T so viel zu glotzen und bin nich fertig.

BieneMaja


Beiträge: 102

20.09.2015 10:23
#3 RE: Paar Gedanken zu einem Multiplayer ("private" LAN) Zitat · Antworten

Danke für die Erklärungen, NoSpaX.
Wieder was gelernt.

manche von den PUT/GET/POST- Schnipseln hatte ich auch schon gefunden bzw. in
https://www.elitepvpers.com/forum/need-s...-thread-58.html
+ folgende Seiten hat da ein User auch schon mit rumgespielt, aber dann wohl auch aufgegeben.

Da heisst es für mich wohl: warten + hoffen bzw. Zeit für was anderes

 Sprung  
Xobor Forum Software ©Xobor.de | Forum erstellen
Datenschutz