Multiplayer Client [GELÖST]

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

 

CO2

ehemals "SirMO"

Betreff: Multiplayer Client [GELÖST]

BeitragDi, Feb 01, 2011 18:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Ich hab da mal ne Frage (rein aus interesse):
Wie filtert ein Multiplayer Client (ich meine dieses Fenster, in dem die Server angezeigt werden), seine Server aus den Milliarden anderen heraus. Ein simples Beispiel:

Wenn ich GTA San Andreas Multiplayer starte erhalte ich natürlich nur GTA SA:MP Server und keine von meinetwegen Call of Duty 4, genauso andersrum.

Wie unterscheidet der Client, welche Server für ihn bestimmt sind und welche nicht? Macht er das anhand des Ports, oder kriegen die Daten die er von den Servern zugesendet kriegt irgendeinen Inhalt, damit er "weiß", das sie zu ihm gehören?

mfG,
CO2
  • Zuletzt bearbeitet von CO2 am Mi, Feb 02, 2011 18:32, insgesamt einmal bearbeitet

Nicdel

BeitragDi, Feb 01, 2011 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Server sendet eigene Daten an einen Masterserver, der schickt die Liste zum Client. Natürlich nimmt der Masterserver keine falschen Server in die Liste auf.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Jolinah

BeitragDi, Feb 01, 2011 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Client macht eigentlich nicht mehr, als - wie Nicdel schon schrieb - von einem Masterserver einfach eine Liste aller Server anzufordern.

Falls das ein Masterserver sein sollte, der auch noch andere Games verwaltet, dann schickt der Client dem Masterserver zuerst den Namen des Spiels und evtl. noch andere Filtereinschränkungen. Der Masterserver hat seine Daten meist in einer Datenbank gespeichert und braucht dann nur noch eine SQL-Abfrage zu machen wie:

SELECT * FROM `Server` WHERE `Game`='GTA SA:MP' AND `Region`='Europe' AND `MaxPlayer` >= 16

Das Resultat dieser Abfrage sendet er dann dem Client in geeigneter Form zu.

ToeB

BeitragDi, Feb 01, 2011 21:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Außerdem werden Spiele wie GTA und CoD ihre Serverlisten nicht in gleichen Datenbanken speichern. Also Fällt das auswählen schonmal weg, nur noch
Code: [AUSKLAPPEN]
SELECT * FROM `CoD`.`Serverliste`
Oder halt
SELECT * FROM `GTA`.`Serverliste`


Oder wenn du mehrere Spiele machst, auf denen Serverlisten laufen, dann hast du warscheinlich aber nur einen MySQL account, darum kannst du es dann so machen :
Code: [AUSKLAPPEN]
SELECT * FROM `C02`.`GTA_Serverliste`
SELECT * FROM `C02`.`CoD_Serverliste`


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

CO2

ehemals "SirMO"

BeitragMi, Feb 02, 2011 18:32
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, danke für die antworten Very Happy
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group