PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Highscore auf FTP speichern



bernator
23-10-2004, 02:14
Hallo,

folgendes Anliegen...

Wir sind zu dritt und spielen das selbe Spiel. Nun gibt es bei dem Spiel eine highscore.dat. Ich habe die Idee diese Datei auf meinen Serverplatz per FTP hochzuladen, damit alle die selben Highscores haben. Leider bekomme ich das nicht hin. Wie mache ich das am besten - geht das überhaupt?

Wally
23-10-2004, 08:41
Hi,

nun theoretisch sollte es gehen. Dazu müsstest Du aber Mame umprogrammieren. Erforderlich wäre eine Pfadanpassung auf deinen FTP Server. Problem wird sein hier auch noch die Login Daten mit unterzubringen den ich vermute es wird kein öffentlicher Zugang sein.

bernator
23-10-2004, 09:28
Hallo Wally,

wie kann man das denn umprogrammieren? HELP

Berni

Wally
23-10-2004, 09:39
Hi,

na ob Du es selber kannst weiß ich nicht. Dazu müsstest Du in den Programmcode und dort Änderungen vornehmen.

In Mame kann mann doch m.W. den Pfad zur Highscore Datei angeben,oder ? Hast Du da mal probiert eine Netzwerkadresse anzugeben. Glaube zwar nicht das das geht aber man kann es ja mal versuchen. Wenn dies -vielleicht auch über umwege- gehen sollte dann muss der FTP Server aber auf jedenfall frei zugänglich sein. ANsonsten müsstest DU da sonst noch die Loginabfrage einbauen.

xl8
23-10-2004, 13:31
habe ich auch schon dran gedacht bzw. es ausprobiert.

mame.ini (hiscore.dat)


ftp://user:pass@home.srv.net/hiscore.dat

geht leider nicht :(

nachtrag:
weils auch nicht gehen kann.
die hiscore.dat speichert ja auch keine highscores *irrtum*
mame\hs\spiel.hs

http://www.mameworld.net/highscore/download.htm
http://www.mame.net/hiscore.html

Wally
23-10-2004, 14:50
Tja dann weiß ich es auch nicht. Mal im I-Net suchen.... Sollte ich was finde melde ich mich hier wieder.

wolfi
23-10-2004, 17:32
Da ftp Batch-fähig ist, würde es mit einer Batch-Datei gehen, in der zunächst per ftp die Server-Hiscore-Datei auf die lokale Festplatte geholt, dann MAME gestartet und schließlich die Hiscore-Datei wieder aktualisiert auf den FTP-Server geschoben wird.

Ungefähr so:

@echo off
echo open (servername) >1.txt
echo user (username) >>1.txt
echo get %1.hi >>1.txt
echo bye >>1.txt
ftp < 1.txt

mame %1

echo open (servername) >1.txt
echo user (username) >>1.txt
echo put %1.hi >>1.txt
echo bye >>1.txt
ftp < 1.txt

Dies als Batch-Datei speichern und mit dem Parameter <Spielename>, z.B. "1942" aufrufen.

Mit der folgenden Batchdatei kann man sich alle möglichen Ftp-Kommandos anzeigen lassen:

@echo off
echo ? >1.txt
echo bye >>1.txt
ftp < 1.txt

Gruss
Wolfgang (Ex-UNIX-Administrator)

Dr.Creep
23-10-2004, 18:45
Aber was passiert, wenn zwischem dem Laden und Speichern ein 2.Spieler auf die Datei zugreift? Dann gehen Informationen verloren. Man müßte das irgenwie so machen, dass die Datei nur kurz vor den Speichern vom Server geholt wird, wärend der Zeit für weiteren Zugriff gesperrt wird, und dann sofort wieder mit den aktuellen Werten geschrieben und anschließend freigegeben wird.

Gruß,
Dr.Creep

wolfi
23-10-2004, 19:11
Viel Spass, dafür müssten die MAME-Hiscore-Routinen komplett geändert werden. Außerdem müssten ja deine im Speicher befindlichen erspielten Hiscores mit denen auf dem Server irgendwie abgeglichen werden. Dies wiederum müsste für jedes Spiel separat gemacht werden, da die Hiscores ja keinen Standard haben. Das ist m.E. kaum zu leisten.

Gruss
Wolfgang

Glare
23-10-2004, 20:44
Hmm, vielleicht eine Freigabe per Samba-Server?

wolfi
23-10-2004, 21:34
Ja, SAMBA könnte gehen. Ist aber funktional auch nur ein File-Server, der ebenfalls das von Dr. Creep beschriebene Problem hätte, dass bei gleichzeitiger Nutzung einer Hiscore-Datei nur gewinnt, wer als letzter MAME beendet ;). Der Original-Poster wollte so wie ich es verstanden habe ja lediglich einen Hiscore-Pool für sich und ein paar Freunde haben, also wäre es bei 5000 MAME-Games wohl statistisch gesehen relativ unwahrscheinlich, dass mehrere das gleich Game gleichzeitig starten ?!?

Gruss
Wolfgang


Achnee, hab nochmal nachgelesen, die spielen ja alle drei das gleiche Spiel. Dann gibts wohl keine einfache Lösung....