PDA

View Full Version : bereits Laufenden Server auf SQL übertragen


Polliny
12-08-2009, 00:03
Hi @ all

Ich habe schon längere Zeit einen Server am laufen und vergeben an aufsteigende Clans usw. TS-Server.
Ich möchte den Server jetzt über eine SQL-DB laufen lassen ohne aktuellen Daten aus der dbs zu verlieren.
Wär echt super wenn jemand eine idioten sichere Anleitung hätte (bin noob)

Vielen Dank allen im Voraus!

Gruß
Polliny

Polliny
12-08-2009, 00:06
Sorry wegen mehrfach post hatte ein lag die anderen bitte löchen!

maxi1990
12-08-2009, 03:29
Hallo,

hast du durchschlagende Gründe, die einen Wechsel auf MySQL rechtfertigen?
Es bringt nämlich keinerlei Performance Vorteile das ganze über den nicht standartmäßig eingebauten Datenbanktyp laufen zu lassen.

Edit: Für die ganz korrekten: TeamSpeak benutzt eigentlich so schon eine SQL Datenbank, nämlich SQLite.

Germeshausen.de
12-08-2009, 07:20
Bis dato gibt es kaum einen Grund, warum man von SQLite abweichen muss. Sag uns was du vor hast und wir können dir sicherlich auch eine Lösung hierfür aufzeigen.

Sascha Henken
12-08-2009, 15:52
Ein Wechsel auf MySQL macht nur dann Sinn, wenn man eine gewisse Anzahl an registrieren Teamspeak Nutzern System übergreifend nutzen will. Beispielsweise nutzt der Online Flugsimulations Verein VATSIM und IVAO Teamspeak mit MySQL, da hier sämtliche Nutzer eine eindeutige ID haben müssen und diese via Datenbank ansprechbar sein müssen und zwischen verschiedenen Teamspeakserver verteilt sind und möglicherweise über einen zentralen MySQL-Server versorgt werden.

Für einen kleinen Clan mit 50-100 Nutzern, die sich immer auf dem gleichen TS-Server einfinden, ist SQLite die beste Variante.

Germeshausen.de
12-08-2009, 16:18
Beispielsweise nutzt der Online Flugsimulations Verein VATSIM und IVAO Teamspeak mit MySQL, da hier sämtliche Nutzer eine eindeutige ID haben müssen und diese via Datenbank ansprechbar sein müssen und zwischen verschiedenen Teamspeakserver verteilt sind und möglicherweise über einen zentralen MySQL-Server versorgt werden.
Selbst in dem Fall könnte man noch auf MySQL verzichten.

Polliny
12-08-2009, 20:23
also ich dachte an den wechsel da ich wie gesagt Free Server vergebe und das sind immer so kleinere server wie 20,15,12,10 usw. und bei einer SQL DB kann man das ganze besser überblicken, schneller bearbeiten usw.
Mir ist dabei aber auch wichtig das ich auch genutze server sofort erkennen kann spricht wird der server überhaupt genutzt oder kann ich ihn löschen.
Das ist ja sonst verschwendung wenn server nicht genutzt werden! und andere bekommen dann garnichts

Germeshausen.de
12-08-2009, 20:41
Und du willst nun per SQL prüfen, wann auf dem TS xy zuletzt Nutzer drauf waren? Das kannst du einerseits sogar ohne SQL machen, indem du per TCP-Query die Server abfragst und die Zeiten der Nutzer auswertest, wann diese zuletzt online waren.
Ansonsten via sql Befehl. Hier ist jedoch Vorsicht geboten, da die SQL-Befehle seitens TS Server nicht validiert werden und fehlerhafte Befehle die Datenbank zerschiessen kann.

Polliny
13-08-2009, 01:54
TCP-Query????
was ist das?

Gibs da nicht sowas wie ein script oder so das eine Log mit einer groben statisktik für jeden server darstellen kann
z.b.

ID 1 | Trafik: xxxMB | connects: xxx user | usw.

Germeshausen.de
13-08-2009, 08:46
TCP Query ist eine Textkonsole. Du kannst darüber Informationen und Aktionen ausführen. Beispielsweise kannst du, in Verbindung mit einem Cronjob, regelmäßig Informationen abrufen und diese in einer Datenbank hinterlegen.
Mittels sl erhälst du eine Liste mit den UDP-Ports der Server die online sind. Diese Information ist dann Grundlage für eine Schleife.
Durch si 8767 gibt die Konsole Serverinformationen wieder. Unter anderem kannst du dabei die Zeile server_currentusers=0 auswerten und erhälst die Information, wieviele Nutzer auf dem Server mit dem UDP-Port 8767 online sind.
Wird der Wert regelmäßig erfasst, kannst du daraus eine Grafik generieren lassen, die dir zeigt, wann wieviele auf dem Server waren. Zudem kannst du auch eine Benachrichtigung erstellen lassen, wenn auf einem Server für einen Zeitraum von x Stunden niemand mehr gewesen ist, dass dieser zum Beispiel abgeschaltet oder auch direkt gelöscht wird.

Bezüglich Traffic stehen dir folgende Informationen bereit:
server_bytessend=86858480136
server_bytesreceived=26124399677


Mit Hilfe der CyTS- oder ACTS-Klasse kannst du auf eine umfassende Klasse für PHP zurückgreifen, welche dir die meiste Arbeit in Sachen Serverkommunikation via TCP abnimmt.