Online-Anzeige der Shards

Hier stehen die Infos zum Uru Onlinemodus ab August 2004.
Antworten
Benutzeravatar
Thoro
Forscher
Beiträge: 1494
Registriert: 23.09.2004, 14:43
Geschlecht: männlich
KI-Nummer: 529779
Wohnort: Duisburg
Alter: 41
Kontaktdaten:

Online-Anzeige der Shards

Beitrag von Thoro » 07.04.2005, 09:14

Schreib ich mal einfach in's Forum in der Hoffnung, dass es jemand liest, der davon Ahnung hat.

Jeder Shardserver hat ja ein Webinterface und dabei gibt es eine Seite, die die Spieler anzeigt, die gerade auf dem Shard online sind. Jetzt habe ich gesehen, dass die Shard diese teils sehr unterschiedlich gestaltet haben. Meine Frage: Inwie weit lässt sich diese Ausgabe gestalten? Kann diese Ausgabe auch gleichzeitig in eine andere, anders formatierte Datei ausgeben werden oder lassen sich zumindest irgendwelche Markierung in diese HTML-Seite einbauen?
Benutzeravatar
KlyX
Forscher
Beiträge: 4445
Registriert: 05.02.2004, 17:37
Wohnort: Langenthal, Schweiz
Alter: 39
Kontaktdaten:

Beitrag von KlyX » 07.04.2005, 11:50

huhu Thoro

ich hatte dich wohl im ICQ falsch verstanden ;)
Der Server selbst installiert nur seeehr wenig...
Die Seiten und die Skripte sind frei erstellbar. in der Serverconfig gibt man den Pfad zu einer html Datei an einem beliebigen Ort an... Sprich: Du kannst es benutzen wie eine Webseite...

gruss
KlyX

Wirf einen Blick in meinen Blog - und kommetiere :-)
Chris' Weblog
abacado.com - Total neu
Benutzeravatar
Thoro
Forscher
Beiträge: 1494
Registriert: 23.09.2004, 14:43
Geschlecht: männlich
KI-Nummer: 529779
Wohnort: Duisburg
Alter: 41
Kontaktdaten:

Beitrag von Thoro » 07.04.2005, 12:18

Hmm, also könntet ihr konkret neben der eigentlichen HTML-Seite noch eine weitere PHP-Seite in reinem Textformat aufschalten in der die Spieler bspw. so aufgelistet sind:

Spieler1;1234567;City
Spieler2;2948548;Personal Age
Spieler3;9384858;Teledahn

Wieso ich das überhaupt frage: Ich habe mir überlegt einen kleinen Client zu basteln, den man nebenher wie einen Messanger laufen lassen kann und der in größeren Abständen (vielleicht ca. alle 5 Minuten) die Online-Liste des oder der eingestellten Shards abruft. Wenn jemand aus seiner persönlichen Liste online geht, meldet er den Spieler als online, in welchem Zeitalter und auf welchem Shard er sich gerade aufhält. Klar kann man sich auch ständige die Webseiten der Shards aufrufen, aber so ginge es viel bequemer.

Wichtig wäre dafür aber ein gemeinsames Datenformat für die Online-Anzeige. Deswegen meine Frage in weit die Shard-Admins darauf Einfluss haben. Natürlich müssten nachher auch die anderen Shard-Admins mitziehen, aber ich denke, dass es nicht so ein großer Aufwand sein dürfte.
Stefan
Forscher
Beiträge: 2421
Registriert: 05.02.2004, 19:25
KI-Nummer: 192377

Beitrag von Stefan » 07.04.2005, 13:06

Nette Idee =)
Stefan
Benutzeravatar
Marck
Forscher
Beiträge: 857
Registriert: 09.02.2004, 21:04
KI-Nummer: 48956
Kontaktdaten:

Beitrag von Marck » 07.04.2005, 15:59

Jeder Betreiber eines Plasma-Servers hat die Möglichkeit eine Webseite für seinen Shard einzurichten, die dann im Login-Fenster von UruSetup angezeigt wird. Aber nicht längst jeder Shard stellt eine solche Seite auch zur Verfügung. Und eine Liste aller Spieler, die gerade online sind stellen noch weniger Shards zur Verfügung. Der "Shard of Zootal" bietet zum Beispiel keine der beiden Seiten an.

Die Liste der Online-Spieler wird direkt aus der Datenbank des Plasma-Servers ausgelesen. Wie das geschieht, ob und wie es in eine HTML-Seite umgesetzt wird, bleibt jedem Betreiber selbst überlassen. Viele nehmen das PHP-Skript vom Unìl URU Public Server Configuration Wiki als Vorlage.

Deine Idee ist technisch durchaus umsetzbar, aber praktisch wird das wohl niemals Realität, denn du wirst niemals alle Shard-Betreiber dazu bringen, die Daten der Online-Spieler in einem einheitlichen Format zur Verfügung zu stellen. Außerdem wollen eventuell auch manche Shards gar nicht, dass öffentlich bekannt ist, wer gerade spielt (The Meeting Place hat z.B. lange überlegt, ob sie überhaupt eine Online-Liste anbieten sollten).

Und sobald du eine Diskussion um ein einheitliches Daten-Format lostrittst, werden zusätzliche Wünsche und Fragen auftauchen: Warum nicht gleich die Daten aller auf einem Shard registrierten Spieler angeben und mittels Flag kennzeichnen, wer davon gerade online ist? Soll ein Spieler bestimmen können, ob er in einer solchen Liste auftaucht oder nicht (wie es z.B. für Mitglieder in diesem Forum möglich ist)? Soll für Relto auch gleich mit angegeben werden, um wessen Relto es sich handelt (wie es Tapestry macht)?

Für Until Uru halte ich persönlich die Umsetzung deines Vorhabens für extrem schwierig. Aussichtsreicher könnte es da sein zu versuchen, eine solche Funktion im Alcugs-Server zu realisieren. Almlys (der Hauptentwickler dieser Server-Software) hat sowieso bereits einen Meta-Server vorgesehen, an den die einzelnen Alcugs-Server zentral Daten (unter anderem zur Erreichbarkeit etc.) übermitteln.
Bartle-Test: ESAK (87/53/47/13)
Benutzeravatar
Thoro
Forscher
Beiträge: 1494
Registriert: 23.09.2004, 14:43
Geschlecht: männlich
KI-Nummer: 529779
Wohnort: Duisburg
Alter: 41
Kontaktdaten:

Beitrag von Thoro » 08.04.2005, 13:05

Hallo Marck,

zunächst einmal habe ich keineswegs geplant alle Shard-Betreiber nun plötzlich dazu zu drängen, eine solche Online-Liste anzubieten. Wie du selbst sagst, haben derzeit einige Shards so etwas gar nicht, sei es aus persönlichen, datenschutz oder technischen Gründen. Solche Shards haben in irgendeiner Weise sich dazu entschieden auf die Online-Liste zu verzichten und mir liegt es fern diese nun bekehren zu wollen. Es gibt aber auf der anderen Seite eine ganze Reihe von Shards die bereits eine solche Online-Liste anbieten, jeder nur leider ziemlich unterschiedlich formatiert.

Was ich damit sagen will ist, dass mein Tool nicht darauf ausgelegt ist, dass alle Shards mitziehen müssen, sondern vielmehr kann jeder Shard der sich entschließt eine solche Online-Liste anzubieten in wenigen Minuten eingebunden werden. Es ist also so, dass, wenn nur ein einziger Shard (und da zwinker ich mal freundlich zum German Reallife Shard hinüber) mitmacht und diese speziell formatiere Online-Liste anbietet, das Projekt schon durchführbar wäre. Natürlich, und das wollte ich mit meinen obigen Zeilen ausdrücken, wird das Tool immer attraktiver, so mehr Shards sich daran beteiligen, die jetzt auch schon eine Online-Liste im HTML-Format bereitstellen.

Wenn ich dich richtig verstanden habe gibt es lediglich auf der einen Seite eine Datenbank, die die Spielerdaten mit Online-Status vorhält und auf der anderen Seite etwas völlig beliebiges, was die Daten ausliest. Da die meisten Server wohl über einen PHP Interpreter verfügen und wir sogar hier schon ein brauchbares PHP Skript haben, wäre es doch sicherlich wenig kompliziert, bei diesem quasi nur das HTML-Füllmaterial rauszuschmeißen und könnte dieses Skript jedem interessierten Shard zur Verfügung stellen. Die müssten die Datei dann nur noch hochladen und fertig.

Ich denke auch, dass es für die Shard-Betreiber selbst von Interesse sein könnte, da ich mir erhoffe, dass dann wieder ein paar mehr Besucher in die Höhlen reisen. Für mich persönlich ist es so, dass es mir nicht besonders viel Spaß macht, alleine auf dem Shard rumzukrämern. Also schaue ich mir immer vorher die Online-Liste an, ob jemand Bekanntes da ist. Vielleicht aber auch auf einem anderen Shard, mal da nachsehen. Zum einen dauert das eine ganze Weile und zum anderen mache ich das nicht mal täglich, weil ich einfach nicht immer daran denke. So verpasst man sich immer irgendwie. Mit dem Tool würde ja innerhalb kurzer Zeit angezeigt werden: Ein Bekannter ist online! Mmh, hab ich Zeit? Ach, ja gehste ihn mal in den Höhlen besuchen. So meine Überlegung.
... aber praktisch wird das wohl niemals Realität ...
Den Spruch rahme ich mir jetzt ein und hänge ihn über meinen PC. Jetzt hast du meinen Ehrgeiz geweckt. :D
Benutzeravatar
Kai-Uwe
Forscher
Beiträge: 1301
Registriert: 06.02.2004, 21:23
Geschlecht: männlich
KI-Nummer: 191833
Wohnort: Wolfen / Regensburg
Alter: 59

Beitrag von Kai-Uwe » 08.04.2005, 15:45

Also, ich fände es schon gut, wenn das klappen würde. Warum sollte der RL-Shard nicht mit gutem Beispiel vorangehen? Andere würden dann sicher folgen....

Kai-Uwe

Edit: Wie es halt so kommt, hab ich nur wenig später beim stöbern entdeckt, das es so etwas ähnliches anscheinend schon gibt: http://uk.geocities.com/stellaflora2/WhosOnline.htm
"Es bleibt schwierig!" - - http://www.der-postillon.com/
Benutzeravatar
Moni
Forscher
Beiträge: 572
Registriert: 30.03.2004, 17:51
KI-Nummer: 132380
Wohnort: Schweiz
Alter: 55
Kontaktdaten:

Beitrag von Moni » 09.04.2005, 00:31

Kai-Uwe hat geschrieben:Edit: Wie es halt so kommt, hab ich nur wenig später beim stöbern entdeckt, das es so etwas ähnliches anscheinend schon gibt: http://uk.geocities.com/stellaflora2/WhosOnline.htm
Hmmm, ich denke, das ist nicht ganz das, was Thoro vorschwebt! Schliesslich muss ich mich auf der Seite ellenlang runterscrollen und für jeden Shard einzeln abchecken, ob ein Bekannter online ist. Ausserdem stört hier, dass es absolut uneinheitlich ist!

Sowas ähnliches gibt es ja bereits hier:
http://home.arcor.de/marlokir/uru/Shards.de.html
Da kann man bei vielen Shards abfragen, wer gerade online ist...


Ich denke, Thoro will was in der Art machen, wie es bei unserem Shard schon besteht:
Bild

Erweitert werden könnte das um:
Bild

Wenn dann noch die Möglichkeit besteht, nach Name, Onlinestatus, oder Shard aufzulisten, wird das ganze so richtig komfortabel...
Gruss Moni Bild

Ps: Bitte verzeit mir, dass unten noch mal die 2 Beispiele als Bilder aufgelistet werden.
Ich kann das leider nicht verhindrn, denn die Beispiele sind mit diesem Post mit gesendet worden und das "dumme Forum" meint nun, dass es die Bilder unten zeigen muss... ;-)
Dateianhänge
luxus.gif
luxus.gif (2.08 KiB) 5263 mal betrachtet
normal.gif
normal.gif (1.76 KiB) 5263 mal betrachtet
Zuletzt geändert von Moni am 09.04.2005, 00:36, insgesamt 1-mal geändert.
Besucht doch mal mein URU-Reich:
http://www.csjs.ch/uru
Benutzeravatar
Marck
Forscher
Beiträge: 857
Registriert: 09.02.2004, 21:04
KI-Nummer: 48956
Kontaktdaten:

Beitrag von Marck » 09.04.2005, 00:34

Kai-Uwe hat geschrieben:Wie es halt so kommt, hab ich nur wenig später beim stöbern entdeckt, das es so etwas ähnliches anscheinend schon gibt: http://uk.geocities.com/stellaflora2/WhosOnline.htm
Sag mal, kennst du etwa noch nicht meine Liste der Uru Shards, die auch eine Übersicht der Online-Spieler anbietet? Diese Seiten gibt es bereits seit Ende November...
Thoro hat geschrieben:Also schaue ich mir immer vorher die Online-Liste an, ob jemand Bekanntes da ist.
Ich finde, eine der schönen Eigenschaften der Online-Version von Uru ist, dass man sehr leicht Leute kennen lernen kann, die man bisher noch nicht kannte. Wenn du dich nur auf Bekannte beschränkst, entgeht dir einiges. Demnach wäre eine Anzeige der Anzahl der Spieler, die gerade auf einem Shard online sind, völlig ausreichend. ;)
Thoro hat geschrieben:
... aber praktisch wird das wohl niemals Realität ...
Den Spruch rahme ich mir jetzt ein und hänge ihn über meinen PC.
Tu das, ich wünsche dir ehrlich viel Erfolg bei deinem Vorhaben. Ein solches Tool wäre eine nette Bereicherung für die Uru-Gemeinde. :)
Bartle-Test: ESAK (87/53/47/13)
Benutzeravatar
Thoro
Forscher
Beiträge: 1494
Registriert: 23.09.2004, 14:43
Geschlecht: männlich
KI-Nummer: 529779
Wohnort: Duisburg
Alter: 41
Kontaktdaten:

Beitrag von Thoro » 14.04.2005, 12:02

Nein, nein, mein Projekt ist nicht etwa eingeschlafen. Ich habe viel mehr in den letzten Tagen mit KlyX und Modi über die geeignetste Lösung für die Abfrage der Online-Liste diskutiert. Grundsätzlich kann man sagen, dass sich drei verschiedene Lösungsansätze ergeben haben:

1. Direktzugriff auf die Hintergrunddaten des Shards
Diese Idee kam von KlyX und er hat damit begonnen diese in seinem Projekt umzusetzen. Seine Idee beruht darauf sich direkt mit der Datenbank des Shards zu verbinden um dort die benötigten Daten auszulesen. Vorteil der Sache dabei ist, dass die Daten hier bereits standardisiert eingetragen sind; außerdem geht das Auslesen ziemlich rasch von statten. Nachteil ist, dass diese Datenbank aus gutem Grund passwortgeschützt ist. D.h. die Shards müssten der Software zumindest einen Lesezugriff einrichten. Das wäre sicherlich kein größerer Aufwand, aber ein nicht unerhebliches Sicherheitsrisiko. KlyX hat es dadurch eingedämmt, dass er den Lesezugriff auf einen kleinen Teil der Datenbank eingeschränkt hat. Laut Modi sind hier keine sicherheitskritischen Daten zu finden, aber durchaus Daten, die nicht unbedingt jeder Spieler in der Welt verteilt sehen möchte. Wenn KlyX das Passwort verschlüsselt in seiner Anwendung hinterlegt ist es sicherlich fraglich, ob sich jemand die Mühe macht, das Passwort für eher uninteressante Daten heraus zu kodieren, aber ich denke, dass die Shard-Admins von vorneherein sehr zögerlich damit reagieren würden, solche Lesezugriffe auf die Datenbank zu erteilen, wenn es schon Diskussionen darüber gab, ob man überhaupt eine Online-Liste veröffentlichen solle. Diesen Vorschlag halte ich daher für schwierig realisierbar.

2. Direktkommunikation mit dem Shard
Die Idee, die von Modi kam, beruht darauf, direkt mit dem Shard zu kommunizieren. Auch hier haben wir gleich ein standardisiertes Verfahren. Da jeder, der einen gültigen Account hat, mit dem Shard kommunizieren kann, können die Online-Listen bereits jetzt ohne ein Zutun der Shard-Admins ausgelesen werden. Der Client würde sich wie ein UU-Client am Shard anmelden und die benötigten Daten abfragen. Eine durchaus elegante Lösung, die jedoch auch ihre Nachteile hat. Wenn man nämlich den jetzig bestehenden Avatar verwenden würde, hätte man ständig Phantombilder in der Online-Anzeige. Denn dann würde ein anderer Spieler schließlich auch als online angezeigt, wenn er gar nicht den UU-Client, sondern nur den OnlineAnzeigen-Client verwendet. Das könnte man umgehen, indem jeder Spieler einen zusätlichen Avatar nur zu diesem Zweck einrichtet. Das würde aber wiederrum zu einer wundersamen Spielervermehrung in den Höhlen führen und gleichzeitig dazu führen, dass die jetzigen webbasierten Online-Listen der Shards völlig irritierend würden, da dann auch alle Spieler online erscheinen würden, die das Programm laufen haben, aber gar nicht selbst in den Höhlen sind. Die Shards müssten dann evtl. Filterregeln entwerfen, um Phantomspieler aussortieren; dafür bräuchte man wiederrum standardisierte Vorgaben für die Phantomavatare ... kurzum, dieser Vorschlaug ist meiner Meinung auch kaum realisierbar.

Um diese Probleme zu umfahren, hat Modi den Vorschlag gemacht, einen Zwischenserver einzubauen. Auf diesem würde dann ein UU-Client laufen, der als einziger die Online-Daten aller Shards abfragt. Diese würde er dann in einem wahlfreien Format den einzelnen OnlineAnzeige-Programmen zur Verfügung stellen. Es wäre demnach nur ein zusätzlicher Avatar pro Shard notwendig, was vertretbar ist und notfalls aus der Liste problemlos herauszufiltern wäre. Zudem wäre die zusätzliche Trafficbelastung der Shards gleich null, da einzig nur dieser Client die Daten abfragt. Die Frage wäre aber, ob wir mit einem einzigen Account gleichzeitig auf alle Shards zugreifen können, denn es wäre kaum sinnvoll die Verbindung nach jeder Shard-Abfrage abzubrechen, da die Anmeldung mit zusätlichem Austausch über den Authentifizierungsserver viel zu aufwendig ist, um sie bspw. alle 30 Sekunden durchzuführen. Dauert die Anmeldung sagen wir nur 5 Sekunden, könnten wir maximal 6 Shards in der Zeit abfragen. Und wir brauchen eine hohe Aktualisierungsrate, da sonst die Latenzzeit zu hoch wird, da die einzelnen Programm ja ihrerseits auch noch mal eine Abfrageverzögerung haben. Modi versucht daher derzeit rauszufinden, ob wir mit einem Account gleichzeitig auf mehrere Shards kommen, denn das Einrichten von mehreren Accounts dürfte ziemlich ins Geld gehen. Und noch was wäre zunächst bei dieser Lösung zu organisieren: ein geeigneter Server. Ich hab leider nicht die finanziellen Mittel, um einen eigenen Webserver in Betrieb zu nehmen; wenn, müssten wir also zunächst einen gütigen Sponsoren finden, der zufällig Kapazitäten übrig hat. Diesen Vorschlag halte ich für durchaus realsierbar, aber es müssten einige Dinge zu vor geklärt werden, vor allem die geldliche Frage.

3. Remotezugriff auf die Hintergrunddaten des Shards
Mein Vorschlag hat durchaus Parallelen mit KlyX Idee, aber ohne evtl. Sicherheitsbedenken. Zwar wird auch hier die Datenbank direkt abgefragt, aber nicht von den Client, sondern stellvertretend vom Shardserver selbst. Dadurch verbleibt der alleinige Zugriff auf die Datenbank beim Shardserver. Das Prinzip: Der Client stößt eine zusätzliche Software auf dem Shardserver an, die wiederum auf die Datenbank zugreift und die Online-Liste ermittelt. Danach werden einzig die erforderlichen Daten zurück an den Client geschickt. Ein Entwenden jeglicher anderer Daten ist dadurch ausgeschlossen. Standardisiert muss hier nicht einmal die Software, sondern nur das Ausgabeformat der Software zu sein. Als Software würde sich natürlich PHP mit einem entsprechenden Script anbieten, da es auf den meisten Shard-Servern eh verfügbar ist. Es wäre als Musterbeispiel sicherlich sinnvoll ein solches Script bereits zur Verfügung zu stellen. Die Shard-Admins müssten dann nur noch das Script in wenigen Punkten anpassen und hochladen. Insgesamt halte ich nach längeren Überlegungen diese Idee immer noch am besten geeignet.

Natürlich muss man dann mal einen Blick auf den entstehenden Traffic werfen. Ich habe mal durchgerechnet: Eine komplette Anfrage der Online-Liste dürfte ca. 1 kB Volumen haben über TCP/HTTP-Abfrage. Angenommen die Liste würde jede Minute abgefragt (wobei man sich noch eine Dynamik überlegen könnte, also bspw., wenn keiner auf dem Shard ist die Anfragedauer erhöhen). Nehmen wir weiterhin an, dass jeder Benutzer das Programm 6 Stunden am Tag laufen hat. Dann ergibt sich pro Benutzer ein Datenvolumen von ca. 10 MB pro Monat, bzw. bei 100 Benutzern 1 GB. Nicht wenig, aber ich denke, dass sind noch verkraftbare Werte. Leider weiß ich nicht wieviel Traffic UU produziert, aber ich denke es dürfte wesentlich mehr sein. Konkrete Werte lassen sich aber erst bestimmen, wenn man es testet.

Fazit
Mein Vorschlag wäre nun folgender. Ich versuche mein Programm zunächst mit meiner Idee aufzubauen. Ich denke der Reallife Shard dürfte so freundlich sein, und die PHP-Skripte testweise aufzuspielen. Dann könnte vor allem das entstehende Datenvolumen simuliert werden. Wenn Modi Interesse hat, könnte er die Idee mit dem Zwischenserver weiterentwickeln. Er müsste wahrscheinlich sowieso die Software für den Zwischenserver programmieren, da VB so schlecht auf Linux-Servern, was wohl den größten Teil der verfügbaren Servern darstellt, läuft. Sollten seine Test erfolgreich sein und sich eine echte Alternative daraus ergeben, sollte es durch den modularen Aufbau meiner Anwendung in kürzester Zeit möglich sein, das Verfahren auf die Abfrage von "Modis-Zwischenserver" umzustellen.

Angehängt habe ich jetzt mal eine modifizierte Version des von Marck verlinkten PHP-Scripts. Das Script verzichtet auf die ganzen HTML-Tags und verringert somit das Datenvolumen der Enddatei. Könnte bitte einer mit PHP und/oder Datenbankerfahrung mal drübersehen, ob das Script so richtig modifiziert wurde?
Dateianhänge
phpscript.zip
(803 Bytes) 233-mal heruntergeladen
Benutzeravatar
KlyX
Forscher
Beiträge: 4445
Registriert: 05.02.2004, 17:37
Wohnort: Langenthal, Schweiz
Alter: 39
Kontaktdaten:

Beitrag von KlyX » 14.04.2005, 14:07

Hallo Thoro

Vielen Dank für deinen spannenden Beitrag...
Die Idee, dass ich selbst so ein Tool programmiere, ist tatsächlich auf der Idee von Thoro aufgebaut. Da ich mich auch universitär mit Datenbanken beschäftigen muss, und MySQL über kurz oder lang so oder so für mich wichtig geworden wäre, habe ich mich für Thoros erste beschriebene Variante entschieden.
Wie er schon sagte, ist der Zugriff und das Auslesen ziemlich einfach und funktioneirt mit derselben SQL-Abfrage wie auch die im PHP-Skript auf dem Server, nur wird diese direkt von meinem Programm durchgeführt. Das SQL-Element, welches ich verwende, macht die Abfrage über den normalen SQL-Port und ist meines Wissens auch verschlüsselt, was ich aber nicht verschreien will. Modi wird das demnächst testen.
Auf jeden Fall ist die Abfrage sehr einfach und flexibel. Was die Datensicherheit anbelangt, ist es so dass die Nodes-Datenbank keine Daten enthält (soweit ich gesehen habe), die nicht auch andersweitig öffentlich sind. ;)
Das Tool ist eigentlich auch nur auf Single-Shard Basis und schliesst nur den Shard mit ein, dessen SQL-Zugangsdaten im programm angegeben sind... Sprich: Jeder Shard kann für sich ne Version haben.
Positiv: Kein Durcheinander
Negativ: Kein Gesamtüberblick ;)

KlyX

Wirf einen Blick in meinen Blog - und kommetiere :-)
Chris' Weblog
abacado.com - Total neu
Antworten