PDA

View Full Version : Datenbank und Logfile in RAM ?


bluesky1234
28-11-2003, 09:37
Hallo,

Zur info:
Ich habe bereits einen Server auf einem Debian System etabliert.

nun möchte ich das ganze auf einer Slackware CDROM Distro unterbringen.
Ich habe das ganze auch bereits auf der CDROM eingebaut, und der Server startet auch. Allerdings muß ich dazu das ganze Verzeichnis in ein "Ram" Verzeichnis kopieren da ich ja für das Server.log und server.dbs und tsserver.pid schreibrechte brauche.
Eine Festplatte ist in dem Rechner nicht vorhanden.

Hat jemand eine Idee, wie ich es veranstalten kann, die Sourcen (server_linux,tss.startscript,sqlite.so,httpdocs usw.) auf der cdrom zu belassen, und nur die zu beschreibenen Dateien in den RAM kopiere und dort auch nutzen kann ?

Wenn ich das startscript aus einem anderen Verzeichnis aus starte bekomme ich eine Fehlermeldung.

Meine Idee ist, dem Server beim starten mitzugeben, wo er die server.log,server.dbs usw. findet. Ist das irgendwie möglich ?
Die FAQ und Installationsanleitung schweigt sich dazu aus, oder ich habe es nicht gefunden...

P.S das beim nächsten start die Dateien weg sind ist mir klar, aber ich brauche nur einen bestimmten Stand, und möchte dann aber ganze (Spiel)Sessions mitloggen können...

Gruß
Kai

Dummer Sack
28-11-2003, 10:53
Hmm, bei der server.log und der server.pid ist das ganze kein Probelm.
Einfach mit -PID= und mit -LOG= die Pfade angeben. Das ganze tut auch mit der server.ini (-INI=).

Leider finde ich die Doku hierzu nicht mehr und deshalb weiss ich nicht ob es auch einen Parameter für die server.dbs gibt.

bluesky1234
28-11-2003, 13:37
Hallo,

wieso habe ich das in dem Script übersehen ? hmm... blöd.

Aber vielen danke für den Hinweis !

Jetzt folgendes: Soweit so gut.
Logfile,Inifile,pidfile funktionieren.

Nun habe ich mal geschlußfolgert (leider falsch) und habe noch
-DBS=/pfad/zu/server.dbs in das script eingebaut.
Aber ich bekommen in der Server.log folgenden Fehler:

ERROR,ALL,SQL Database initalitiation error: SQL logic error or missing database

Vermutlich weil er versucht die server.dbs trotzdem im eigenen Pfad zu finden.
Jetzt zwei Fragen:
1)Findet jemand (bzw. gibt es den überhaupt) den parameter zur DBS Pfad übergabe ?
2) Habe ich das richtig verstanden, das MySQL in TS2 im nächsten release eingebunden wird ?

Gruß
Kai

Dummer Sack
28-11-2003, 14:48
MySQL ist shon im aktuellen developer release drin (2.0.19.46). Was fehlt ist die Doku wie man TS dazu überredet MySQL zu verwenden.
Ausserdem gibt es mit MySQL noch einige bugs. Im nächsten release wird es aber wohl fehlerfrei drin sein. Auch mit Doku.

bluesky1234
02-12-2003, 15:08
Hallo,

trotzdem währe ich bis dahin noch sehr dankbar, wenn mir einer sagen könnte ob ein dbs Pfad parameter gibt !

Gruß
Kai

TR-13
03-12-2003, 13:31
Also ich habe gerade mal was probiert und das geht.

kopier die schon erstellte server.dbs in deinen Ramdrive irgendwo hin und erstelle im TS-Verzeicnis einen Symlink zur DB

bei mir lokal geht das

Dummer Sack
03-12-2003, 19:08
So sollte es gehen.

Eleganter wäre natürlich ein Parameter, aber ich meine mich zu erinnern das es nur die drei -PID, -LOG und -INI gab.

bluesky1234
05-12-2003, 10:39
@Tr-13

das war eine sehr gute Idee.
Es funktioniert so wie ich es brauche.
Danke !!!!!

Jetzt frage ich mal ganz vorsichtig:

Wenn MySQL im nächsten release geht, geht dann auch Microsoft SQL Server?
Sollte doch eigendlich nur eine Frage der Treiber sein oder ?

(Ich habe bereits einen im Lan laufen den ich gern nutzen würde)

Gruß
Kai

Dummer Sack
05-12-2003, 12:06
Kommt drauf an. Wenn direkt das native MySQL API verwendet wurde dann ist es etwas mehr aufwand. Ich denke also das in der nächsten version nur MySQL tut. Wenn die C/C++ version fertig ist gibt es möglicherweise eine mit einer etwas generelleren Library. Dann könnte auch Microsoft SQL server tun.

Aber ich denke nicht im nächsten release. Allerdings ist das hier nur spekulation und es sollte sich dazu eher einer der Developer äussern.

xoron
16-12-2003, 01:48
Originally posted by Dummer Sack
Eleganter wäre natürlich ein Parameter, aber ich meine mich zu erinnern das es nur die drei -PID, -LOG und -INI gab.
versuchs mit -DB ;)

es gibt übrigens auch noch -HTTPDOCS und -SQL, falls du diese in anderen verzeichnissen ablegen willst..

greetz, xoron

Dummer Sack
16-12-2003, 13:01
Ah, genau.

Aber wo war die Doku dazu?

PS: Möglicherweise in der original readme. Aber in der .46 readme is es nicht drin.

Peter
12-01-2004, 08:20
pwk@notch b50 $ ./server_linux /h
Version TeamSpeak v2.0.19.50
Command parameters:
-db=<path>
-ini=<path>
-sql=<path>
-log=<path>
-pid=<path>
-badnames=<filename>
-httpdocs=<path>
-tcpquerydocs=<path>