Zum Inhalt springen

Games::Midgard Perl Object


Empfohlene Beiträge

Moin,

 

Games::Midgard::Abenteurer ist ein Perl Object zur schnellen Erzeugung

von Midgard Abenteurern.

 

Grund fuer dieses Modul ist, dass ich mal wieder vergeblich versucht hab,

den Magus auf meinem Debian zu uebersetzen, und mir dann gedacht hab :

 

" Perl is the language to get your job done. "

 

Also hab ich die bestehende PostgreSQL Datenbasis aus dem Magus genommen,

und ein bisschen Perl/DBI & object Magie drumrumgestrickt. Ziel ist :

 

" There should be more than one way. "

 

d.h. das Perl Objekt hat derzeit sowohl Kommandozeilen als auch CGI

Schnittstelle. Die derzeitige Oberflaeche ist natuerlich KISS :

 

" Keep it simple stupid. "

 

d.h. auf Kommandozeile :

 

midgard typ=sHx gender=f | less

 

oder als CGI :

 

http://midgard.copyleft.de/cgi-bin/midgard.cgi?typ=Tm;name=Altomir

 

Geplant ist XML Daten im Magus kompatiblem Format zu speichern, und

diese Daten zu verarbeiten. Dabei bin ich eher ein Freund der

Stapelverarbeitung. d.h. wer es bunt haben will sollte noch ein paar

Wochen warten bis sich das Modul stabilisiert hat, dann ein Download

machen, zuhause installieren und das CSS Style dem eigenen Gutduenken

anpassen.

 

Systemvorrausetzungen :

 

Unix Looklike mit Perl 5, DBI und einer DBD unterstuetzen SQL Datenbank.

Das koennte also auch Perl 5/DBI/Access sein. Nur hab ich kein Windoof

zuhause, kann das also nicht supporten. Beim Perl unter Windoof hab ich

jedoch schon die unangenehme Erfahrung gemacht, dass der selbe C Compiler

der selbe sein muss der auch das ActiveState Perl uebersetzt hat, um

komplexe Perl Module zu uebersetzen, und das M$C war nicht vorhanden.

 

Neben dem Perl Modul wird noch die Midgard Datenbank aus dem Magus

gebraucht. Nach dem Einspielen der Datenbank, sollten die Scripte

PostgreSQL-scripts/midgard-patch und PostgreSQL-scripts/midgard-grant

einmal laufen. Ersteres behebt kleine Fehler, die mir bisher aufgefallen

sind, letzteres erlaubt web Zugriff auf die Midgard Datenbank, wenn

zuhause ein CGI installiert werden soll.

 

ciao,Kraehe

Link zu diesem Kommentar

Schicke Sache!

 

Du hast das Postgres-Modul hart-codiert, oder? Bzw., hast du einen Wechsel auf bspw. MySQL bereits eingeplant? Ebenso hart-codiert sind die Connect-Daten auf die Datenbank, oder? Wie steht es mit der Datenbasis? Muss man dazu vorher Magus installieren und die Daten dann importieren?

Link zu diesem Kommentar

Moin Ca5ey,

 

Du hast das Postgres-Modul hart-codiert, oder? Bzw., hast du einen Wechsel auf bspw. MySQL bereits eingeplant? Ebenso hart-codiert sind die Connect-Daten auf die Datenbank, oder? Wie steht es mit der Datenbasis? Muss man dazu vorher Magus installieren und die Daten dann importieren?

 

Jain - Um das Modul zum laufen zu bekommen ist die PostgreSQL Datenbank vom Magus in der Version 0.96 noetig. d.h. der Magus wird nicht gebraucht, nur seine Datenbank. Nach installation dieser Datenbasis, sollten auf dieser noch eine Handvoll updates laufen.

 

Zudem steht derzeit versteckt im source lib/Games/Midgard/Database.pm:

 

DBI->connect("dbi:Pg:host=bakunin.copyleft.de;dbname=midgard")

 

das ist natuerlich nicht portable, weil bakunin.copyleft.de von euch aus gesehen hinter der firewall ist. Das :Pg: durch eine andere datenbank zu ersetzen ist jedoch trivial. Bisher hab ich auch noch keine konstrukte benutzt, die MySQL nicht verstehen wurde. Sobald mir klar ist, welche View's ich aus der Magus Datenbank brauche, kann ich diese extrahieren, und so buendeln, dass sowohl MySQL als auch PostgreSQL als Datenbank funktionieren wuerden.

 

Um jedoch eine eigene Datenbasis zu buendeln, sollte ich mich vorher mit dem © Inhaber kurzschliessen, weil die Magus Datenbasis durch abtippen aus den Original Regeln entstanden ist, und damit das © von Midgard erbt.

 

btw - parameterisierung derzeit :

 

midgard.cgi?p1=v1;p2=v2;...

 

name, typ, gender, groesse, gewicht, st, gs, gw, ko, in, zt, au, pa, wk, sb, bw, lp, ap, haendigw, stadt_land, standw, angb, lernfach, lernwaff, lernallg, lernunge, lernzaub.

 

Die syntax und die parameter koennen sich noch aendern, da ich noch kein formular davor hab, und kein URL (un)escaping brauche.

 

ciao,Kraehe

Link zu diesem Kommentar

Moin Branwen,

 

... der Magus wird nicht gebraucht, nur seine Datenbank.

Bitte beachte das Copyright bei Deiner Arbeit!

 

*oups* boeser fehler - die 0.10 darf nicht kopiert werden, weil es kein copyright gibt.

 

Die 0.11 Version auf http://midgard.copyleft.de/Games-Midgard-0.11.tar.gz hat jetzt eine Copyright Datei, und auch ein Perldoc fuer die Objecte.

 

Also - auch wenn sich zwischen der 0.10 und der 0.11 nur wenig geaendet hat : Download der 9729 bytes lohnt, weil es eine Dokumentation gibt.

 

ciao,Michael

Link zu diesem Kommentar
... der Magus wird nicht gebraucht, nur seine Datenbank.

Bitte beachte das Copyright bei Deiner Arbeit!

 

Muss er das? Er braucht die Datenbank nicht mitzuliefern, wer die haben will lädt sich MAGUS runter und hat sie dann. Oder verstehe ich den Hinweis falsch?

 

Semour, nachdenklich

Die Magus-Macher haben die Erlaubnis, dass ihre Datenbank für Magus verwendet wird. Wenn genau diese Datenbank für etwas anderes verwendet werden soll, dann ist dies erstmal nicht erlaubt. Unabhängig davon, ob es rechtlich nötig ist, ich halte es für höflich, dass man fragt, wenn so etwas ins Netz gestellt werden soll.

 

Solwac

Link zu diesem Kommentar

Moin,

 

Seamor hat schon recht mit dem was er sagt. Krähe darf hat nicht (wobei ich kein Urheberrechtsexperte bin) die DB zusammen mit dem Programm anbieten sondern darf natürlich angeben wo man die DB beziehen kann.

 

Aehnlich sehe ich das auch. Das Midgard Tabellenwerk ist nicht mit meinem Programm gebuendelt, sondern extra zu beziehen. Dennoch sollte ich mich natuerlich mal wieder an die Magus Authoren wenden, da es Sinn macht, wenn 2 verschiedene Programme auf den gleichen Daten arbeiten koennen. Zudem ist zu ueberlegen, ob mein noch nicht mal 10kb grosses Perl Modul, nicht einfach als AddOn auf die naechste Magus CD gebuendelt wird. Irgendwann war ich auch mal auf der Magus Mailing-Liste - muss da mal die Addressen raussuchen.

 

Ich betrachte den Games::Midgard::Abenteurer als Magus AddOn, das auch dann noch funktioniert, wenn der Magus sich nicht uebersetzen laesst, wie z.b. auf meinem Debian/Woody. Nach alter Tradition haben 2 interoperable und frei verfuegbare Programme ausgereicht um einen RFC anzumelden. Magus + Games::Midgard::Abenteurer koennten so was wie einen Midgard-InterNet-Standard bilden, dem sich mehr Programme anschliessen, die auf dem selben Datenbestand arbeiten koennen.

 

Das Programm ist so weit eigenstaendig entwickelt, dass es Charaktere ausduckt, die aehnlich aussehen wie Midgard Charaktere, ich aber nicht die Regeln 1 zu 1 in Formeln umgesetzt hab, sondern so angepasst hab, dass es vorher moeglich ist, sich zu entscheiden, was am Ende rauskommt. Mit den Midgard Authoren muss ich also hauptsaechlich abklaeren, ob und in welcher Form ich das eingetragene Warenzeichen "Midgard" ueberhaupt verwenden darf, und ob ich zusaetzlich fuer ein Midgard Character Datenblatt das offizielle Layout mit den Graphiken aus dem Magus verwenden darf.

 

Dies sollte hoffentlich nicht so kompliziert sein wie 2001. Damals haben Rainer und andere auch erstmal gemuetlich auf der Mailing Liste zugeschaut, ob ueberhaupt aus dem Magus irgendwas wird. Dann ist das Copyright Problem mit dem Tabellenwerk im November ploetzlich bewusst geworden. Dabei wurden die kritischte Punkte, d.h. das Tabellenwerk, das Charakterbogenlayout und sogar die Verwendung von Originalgraphiken so geloest, dass es den Magus gibt. Immerhin reden wir hier ueber Midgard und nicht einen annonymen von Anwaelten regierten US Konzern.

 

ciao,Kraehe

Link zu diesem Kommentar
... der Magus wird nicht gebraucht, nur seine Datenbank.

Bitte beachte das Copyright bei Deiner Arbeit!

 

Muss er das? Er braucht die Datenbank nicht mitzuliefern, wer die haben will lädt sich MAGUS runter und hat sie dann. Oder verstehe ich den Hinweis falsch?

 

Semour, nachdenklich

Die Magus-Macher haben die Erlaubnis, dass ihre Datenbank für Magus verwendet wird. Wenn genau diese Datenbank für etwas anderes verwendet werden soll, dann ist dies erstmal nicht erlaubt. Unabhängig davon, ob es rechtlich nötig ist, ich halte es für höflich, dass man fragt, wenn so etwas ins Netz gestellt werden soll.

 

Solwac

 

Unabhängig von Fragen der Höflichkeit:

Die Magnusmacher verwenden die Datenbank ja nicht für was anderes. Und Krähe liefert nur ein Werkzeugt, das diese Datenbank verwendet. Die andere Verwendung der Datenbank findet dann durch den Benutzer statt. Da ist die Frage, ist das denn zu beanstanden? Was ist denn genau nicht erlaubt?

 

Semour

Link zu diesem Kommentar
@Semour: Also, ich würde mir am ehesten über die Webanwendung Sorgen machen, die Krähe freundlicherweise für jeden zur Verfügung stellt, denn mit dieser bietet er ja praktisch die Datenbank doch online an.

 

Ansonsten: Tolle Idee!

 

lg

Philipp

 

Auch da verstehe ich die Argumentation nicht ganz. Die Webanwendung an sich ermöglicht Zugriff auf die Datenbank, indirekt, aber er betreibt ja keinen Webserver, der die Webanwendung jedem zugänglich macht, oder etwa doch?

Und der Zugriff auf die Datenbank hat doch nichts direkt mit den möglichen Rechten an Midgard zu tun. Die Datenbank an sich stellt ja ein eigenes Werk da.

 

Semour

Link zu diesem Kommentar

Moin nonamenobody,

 

@Semour: Also, ich würde mir am ehesten über die Webanwendung Sorgen machen, die Krähe freundlicherweise für jeden zur Verfügung stellt, denn mit dieser bietet er ja praktisch die Datenbank doch online an.

 

*aehm* hast Du dir das CGI mal angeschaut ?

 

Ich biete kein Tabellenwerk online zum Download, und auch kein Querry By Example Interface zur Datenbank. Derzeit bietet das CGI - 1 Click Stufe 1 NSC's - nicht mehr - nicht weniger. Demnaechst kann es vielleicht Magus compatible XML Spieler Charactere laden, steigern und speichern.

 

ciao,Kraehe

Link zu diesem Kommentar
  • 1 Monat später...

Ich biete kein Tabellenwerk online zum Download, und auch kein Querry By Example Interface zur Datenbank. Derzeit bietet das CGI - 1 Click Stufe 1 NSC's - nicht mehr - nicht weniger. Demnaechst kann es vielleicht Magus compatible XML Spieler Charactere laden, steigern und speichern.

ciao,Kraehe

 

Gibt es da schon Neuigkeiten?

 

Semour

Link zu diesem Kommentar

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...