Seite 3 von 4

Verfasst: 01.10.2008 19:15
von Tomarr Sovai
Hehe, nettes Beispiel. Aber nicht umsonst wurde OO entwickelt.

Ich mecker ja gar nicht wirklich das es kein OO gibt. Es macht halt nur vieles einfacher. Und wie gesagt, habe PB halt mehrere Jahre nicht benutzt, habe also ein paar Updates verpasst. Deswegen bin ich wohl auch ein wenig verwirrt, weil PB geht irgendwie einen GAAAAANZ andren weg als andere Sprachen. Ist nicht unatraktiv, gebe ich zu, aber halt gewöhnungsbedürftig.

Aber ich glaube wir kommen ein winziges Stückchen vom Thema ab ^^.

Denn damit weiß ich noch immer nicht was mit ZonenServer gemeint ist.

Verfasst: 01.10.2008 19:41
von gnasen
Du müsstest halt die Informationen, die jedem Client zur Verfügung stehen sollen, auf ein minimum reduzieren.
Es reicht zu wissen, ob ein Spieler "da" ist. Ein Spieler könnte "da" sein, wenn er in einer gewissen Entfernung steht oder ähnliches. Du musst dann nur von diesen die Daten zum Client schicken.
Der Client ist normalerweise dumm, er empfängt die Position und zeichnet fröhlich den Screen damit voll. Evtl versucht er noch zB Bewegungen voraus zu ahnen. Dies kann allerdings zu den Gummibandeffekten führen, zB wenn du gerade aus läufst, aber von einem Hindernis geblockt wirst, was dir noch gar nicht vom Server mitgeteilt wurde -> Die Positionen unterscheiden sich.
Die Technik von Guild Wars wäre für dich vllt interessant, da gibt es quasi die Sammelbecken zum Treffen von Spielern (zB Städte) und Zonen, die man mit einer bestimmten Gruppe betritt. Vorteil: Du weisst immer wer sich in der Zone aufhält, kannst diese Gruppe autonom verwalten.
Ist eine Stadt zu voll, werden Instanzen erzeugt (zB ab 100 Spielern gibt es Distrikt 1 und 2).
Diese kann man dann auf verschiedene Server im Notfall auslagern.

Verfasst: 01.10.2008 19:42
von THEEX
Also ohne es wirklich zu wissen, denke ich, daß bei Zonenserver tatsächlich mehrere Server einen ganzen Server simulieren oder so ähnlich... ^^
Vorstellungen, wie ich sowas realisieren wollte hätte ich, aber ob das funktionieren würde, ist wieder was anderes. Natürlich müßten die Server auch untereinander kommunizieren und auf verschiedenen Rechnern laufen. Die Clients würden auf einem Server connecten und dann auf die Zonenserver verteilt. So mal meine grobe Theorie.

Verfasst: 01.10.2008 20:00
von gnasen
ich denke es ist ein Netzwerk gleichberechtigter Server. Nur muss es letztendlich einen Server geben, der überwacht, dass alles passend verteilt wird und Querverbindungen herstellt. Schwierig schwierig werden das sein...

Verfasst: 01.10.2008 20:09
von Kaeru Gaman
> ich denke es ist ein Netzwerk gleichberechtigter Server.
denke ich auch, wobei anhand der IP des client festgelegt wird, zu welchem Zonenserver er connected.
d.h. die Client-Verwaltung wird unter mehreren Servern aufgeteilt, um die effizienz zu erhöhen.

weiterhin kann ich mir vorstellen, dass für sowas wie WoW fettere Hardware für die Server verwendet wird, also sowas wie 16 Core bis 80 Core Server, und davon auch mehrere.
auf einem stinknormalen QuadCore 1000 Clients zu verwalten wird illusorisch sein.

Verfasst: 01.10.2008 20:11
von Tomarr Sovai
Hmmm... Also ich weiß dass die Originalserver von Ultima Online etwas in der Art benutzen, und in dieser etwas ekelhaften Spieleprogrammiersoftware Gamestudio ist ebenfalls ein Zonenserver eingebaut.

Letzteres beweist meiner Ansicht nach allerdings auch das es so komplex nicht sein kann. Zwar gibt es den ZonenServer nur in der Pro Version, allerdings finde ich das ganze Konzept so schlecht und undurchdacht das es nicht wirklich viel Aufwand sein kann. Kann mich allerdings auch täuschen.

Edit, aber gerade Gamestudio behauptet ja das ihr Serversystem mit "endlos" vielen Spielern auch auf normalen Servern läuft.

Das ich irgendwann soweit gehen muss das sich mehrere Server zusammen schließen können ist mir schon klar. Aber so weit will ich am Anfang dann doch noch nicht gehen. ^^

Verfasst: 01.10.2008 20:20
von Kaeru Gaman
nuja, 3DGS benutzt teilweise selber nur Baukastensysteme,
also die Qualität der 3D-Engine sagt nix drüber aus,
was für Serversoftware die gekauft und dazugeschraubt haben...

> Ultima Online
..und da komm ich drauf, dass ich mich geirrt haben könnte:
die Zonen könnten sich auch auf Zonen inGame beziehen,
nicht auf Zonen von Client Locations.


> Gamestudio behauptet ja das ihr Serversystem mit "endlos" vielen Spielern
klar, und manche Webdienste bieten "unlimited" Traffic an...

re:

Verfasst: 10.10.2008 12:28
von smateja
ZonenServer:

Eine Spielwelt wird quasi unterteilt in mehrere Abschnitte / Regionen. Jede Region wird von einem Server/Servercluster abgebildet, sodass nicht 1 Server an alle Spieler die Daten schicken muß sondern jede Zone quasi nur an die Spieler die sich hier in der Zone befinden. Macht ja keinen Sinn Spieler A die POsition von Spieler B mitzuteilen welcher hier schonmal garnicht in der selben Region umherspringt.

Dann kommt ja noch dazu dass man hier innerhalb der Zone nochmals unterteilt ob der Spieler den anderen sieht etc und wird dann nur mit Koordinaten versorgt.

=> Quasi eine art demultiplexing um Last zu verteilen bei Flaschenhals Bandbreite/CPU auf Serverseite etc.

Hoffe ich konnte es halbwegs verständlich aufschreiben.

Verfasst: 10.10.2008 13:19
von Tomarr Sovai
Ja konntest du. Verstanden habe ich es auf jeden Fall.

Da treten halt nur zwei Probleme auf. Das eine ist die Entscheidung wie bei einer 3D Umgebung so ein Zonenserver dann aussieht. Na gut, vielleicht auch nicht viel anders wie eine Teilchenengine. Ich stelle mir halt nur einfacher vor bei einer Teilchenengine eine nahtlose Welt uf Zonen aufzuteilen als es bei 3D-Landschaften möglich ist, da man einfach nur die Teile "abzählen" muss.

Das andere sind wiederum die Übergänge. Für das nahtlose übergehen muss man sich ja schon einiges einfallen lassen. Bringt ja nichts wenn man einen Weg entlang geht und plötzlich betritt man ne andere Zone und es poppen 20-30 Gegner auf die man vorher nicht gesehen hat.

Aber wenigstens weiß ich nun in welche Richtung es geht. Und vieles wird sich ja wohl auch entwickeln, gerade wenn es in richtung Open Source geht bringen ja hoffentlich noch einige ihre Ideen mit ein.

Danke an alle für die Hilfe.

Verfasst: 10.10.2008 13:53
von THEEX
Ich bin der Meinung, daß Zone nicht unbedingt gleich Gebiet sein muß, würde es eben eher so realisieren, daß jeder "Zonenerver" eine gewisse Anzahl von Usern verwaltet.
Wobei, wenn man jetzt von WoW aus geht, die Instanzen und Schlaftfelder scheinbar von extra Servern verwaltet werden, dementsprechend taucht auch ein Ladebildschirm auf. Auch das wechseln auf Kontinente ist mit Ladezeiten verbunden und deutet eventuell auf Zonenserver hin. Mittlerweile ist es auf den Schlachtfeldern sogar so, daß diese aus verschiedenen Gameserver zusammengelegt sind.
Also gehn tut das grundsätzlich schon, daß Zonenserver verschiedene Gebiete verwalten.