Thread Rating:
  • 1 Vote(s) - 3 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Runden speichern...
#1
... als SQL-Backup.
Einer genaueren Erklärung bedarf es da eigentlich nicht, aber ich gebe mal eine:
Dieses Tool speichert je nach Auswahl die Datenbanken mit den Spielerdaten, die Spielerdaten und die Dörfer Tables, oder alle Tables.
Die Sql-files werden in den ordner [DsLan]\htdocs\admin\rounds\[Dateiname].sql gespeichert.
Der name der Runde ist frei wählbar, doch unerlaubte zeichen werden ersetzt (hoffe ich)
Screenshot
[Image: screen.PNG]
Ein komplett-Reset (bots mitresetten) kommt dann wohl auch noch, aber nicht jetzt ;D
Version 0.9
Download

[Image: download-1067.png]
Version 0.2
Download
[Image: download-1066.png]
Version 0.1
Download
[Image: download-1062.png]
[Anmerkungen]
Dieses Tool funktioniert nur, wenn die Datenbank von DsLan 'lan' heißt.
Anleitung zum individualisieren:
Quote:1. Öffne [DsLan]\htdocs\admin\actions\save.php mit einem Editor (mit Zeilenangabe wäre gut)
2. Ändere in Zeile 89
PHP Code:
$query $db -> query('SHOW TABLES FROM lan'); 
in
PHP Code:
$query $db -> query('SHOW TABLES FROM Dein_Datenbank_Name'); 
Fertig
Bekannte Bugs
Reply
#2
Hört sich gut an, werds nachher auch mal ausprobieren^^
Dann kann man endlich mal rcihtig "Speichern" Big Grin
Lg
B8shT1m3 aka A-m-OSmile
______________________________________________

Bewerte mich bitte wenn ich dir geholfen hab.

PS:Bin Vollidiot des Monats, ich darf das![Image: awesome.gif]
Reply
#3
Ähm, kann man die Runden dann wieder laden?
Manchmal denke ich:
Reply
#4
Klar:
du kannst dann nen Reset machen und im phpmyadmin die Datei importieren
Reply
#5
(12.12.2009, 23:16)InsertNameHere Wrote: Klar:
du kannst dann nen Reset machen und im phpmyadmin die Datei importieren

Wär schön wenn du das auch noch beim Tool machen könntest,
das man irgendwie über einen Pfad die Datei dann angibt,
und so dann die automatisch hochgeladen wird.
Noch was, das Tool ist ja eigentlich das gleiche wie das Tool von ink oder ?
Nur ist deins etwas schöner zu bedienen wenn ich das mal sagen darf..

DSLan Szenarien
 Du suchst ein Tool? Dann sieh doch mal in meine Toolsammlung!
Reply
#6
(12.12.2009, 23:16)InsertNameHere Wrote: Klar:
du kannst dann nen Reset machen und im phpmyadmin die Datei importieren

Wäre besser, wenn das Tool so ausgearbeitet wird, dass man das nicht importieren muss, sondern das Automatisch geht Big Grin
Manchmal denke ich:
Reply
#7
Das mit dem importieren hab ich soweit (musste einen kleinen Parser zusammenbasteln, der die SQL auf die INSERT befehle und dann noch einen, der daraus die Tabellennamen holt und überprüft, ob die auch leer sind).
Noch ein paar kleine Tests und dann habt ihrs ^^

/E: Geupdated
Viel spaß damit ^^
Anleitung zur Benutzung:
Quote:0. Ihr erstellt ein Backup der aktuell laufenden Runde, wenn ihr keines habt.
0.1. Wenn ihr ein Anderes Backup "einspielen" wollt, erstellt ihr eine Sicherung der aktuellen runde
1. Ihr führt einen Reset durch
2. Ihr gebt unter Dateiimport den Namen der SQL ohne ordner und endung ein (Beispiel: die Datei ist rounds/round1.sql, dann lautet die Eingabe: round1)
3. Auf "hochladen" klicken.
3.5. -> Error: "Tabelle `xxxxx` ist nicht leer, Backup gescheitert"
3.6. -> Tabelle manuell leeren und Fehler posten.
3.7. -> Schritt 2 und 3 Nochmal durchführen
3.8. -> Bei erneutem Fehler wieder Schritt 3.5-3.8 druchführen
4. Fertig


(12.12.2009, 23:19)Jonsn Wrote:
(12.12.2009, 23:16)InsertNameHere Wrote: Klar:
du kannst dann nen Reset machen und im phpmyadmin die Datei importieren

Wär schön wenn du das auch noch beim Tool machen könntest,
das man irgendwie über einen Pfad die Datei dann angibt,
und so dann die automatisch hochgeladen wird.
Noch was, das Tool ist ja eigentlich das gleiche wie das Tool von ink oder ?
Nur ist deins etwas schöner zu bedienen wenn ich das mal sagen darf..

DSLan Szenarien
Nur, dass es ein paar andere moden gibt, die man benutzen kann.
Und dass es sich hier nicht um Bot configs handelt, sondern um Sicherungsbackups der Datenbank, womit es ja eigentlich möglich wäre, für Lans runden ohne großen aufwand vorzubereiten und auf einem Anderen pc wieder zu "installieren".
Dieses Tool sollte aber auch für frühere Versionen als 1.3 funktionieren.
Reply
#8
(12.12.2009, 23:16)InsertNameHere Wrote: Nur, dass es ein paar andere moden gibt, die man benutzen kann.
Und dass es sich hier nicht um Bot configs handelt, sondern um Sicherungsbackups der Datenbank, womit es ja eigentlich möglich wäre, für Lans runden ohne großen aufwand vorzubereiten und auf einem Anderen pc wieder zu "installieren".
Dieses Tool sollte aber auch für frühere Versionen als 1.3 funktionieren.

Naja, bei dem Tool von ink wird ja auch die DB gespeichert, bei dir kann man halt auswählen was genau gespeichert werden soll..
Aber nur so.. Im Prinzip ist es das gleiche!

Aber benutz jetzt sowieso das, echt schönes Tool.
Finde dich echt super, kannst sehr gut proggen!
So jetzt hab ich gleich mal eine Frage...
Ich habe nun diese Fehlermeldung, als ich das Backup einspielen wollte:


Die Tabelle `abot_attack` ist nicht leer! Backup gescheitert!



InsertNameHere Wrote:3.6. -> Tabelle manuell leeren und Fehler posten.

Kannst du diesen Punkt genauer erklären, wo soll ich die Tabelle denn leren in der DB?
Wie geht das??
 Du suchst ein Tool? Dann sieh doch mal in meine Toolsammlung!
Reply
#9
Dass es mit anderen DB-Name funzt, kannst du ja einfach den Configeintrag hinschreiben:
PHP Code:
$query $db -> query('SHOW TABLES FROM ' $config['mysql']['db']); 

MfG Manuel
Reply
#10
Das ist der aBot, bei dem die Tabelle nach dem Reset nicht automatisch geleert wird.
Leere die Tabelle per phpmyadmin und starte aBot nichtmehr Big Grin

Dann ist die Tabelle leer und du kannst das Backup einspielen.
Manchmal denke ich:
Reply
#11
Jonsn Wrote:So jetzt hab ich gleich mal eine Frage...
Ich habe nun diese Fehlermeldung, als ich das Backup einspielen wollte:


Die Tabelle `abot_attack` ist nicht leer! Backup gescheitert!
Du hast ein backup der ganzen datenbank erstellt.
Beim einspielen des Backups, bzw davor wird geprüft, ob die Tabelle wirklich leer ist, um einen Mysql Error und doppelte einträge vorzubeugen.
Es wird also nur was eingetragen, wenn die Tabelle abot leer ist, hat mit mysql zu tun:
Ein PRIMARY KEY darf immer nur einen Wert haben (bei DsLan ist es immer die id).
Wenn man jetzt versucht, die id 1 einzutragen und diese id gibt es schon ist das ein Fehler und der Query schlägt fehl.

SlimShady95 Wrote:Dass es mit anderen DB-Name funzt, kannst du ja einfach den Configeintrag hinschreiben:
PHP Code:
$query $db -> query('SHOW TABLES FROM ' $config['mysql']['db']); 
MfG Manuel
... gibt keinen Error sonder nur leeren TExt, toll, ne ^^
$config['db_name'] müsste es sein.
Werd ich ma ändern
Reply
#12
(13.12.2009, 14:14)InsertNameHere Wrote:
SlimShady95 Wrote:Dass es mit anderen DB-Name funzt, kannst du ja einfach den Configeintrag hinschreiben:
PHP Code:
$query $db -> query('SHOW TABLES FROM ' $config['mysql']['db']); 
MfG Manuel
... gibt keinen Error sonder nur leeren TExt, toll, ne ^^
$config['db_name'] müsste es sein.
Werd ich ma ändern

Ich meinte ja $config['db_name'], hab mich nur verschrieben Wink
Denn ich schreibe bei meinen Scripten immer $config['mysql']['db']

MfG Manuel
Reply
#13
Noch eine Anmerkung: Du sperrst deine Backup-Datei wärend dem Schreibvorgang nicht, wenn also jemand zufällig doppelt auf "Backup" klickt kann es zu fehlern kommen. Das gleiche gillt für den Import: Verhindern, dass zwei Importscripts gleichzeitig arbeiten.
Reply




Users browsing this thread: 1 Guest(s)