You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Dear visitor, welcome to Nitrado.net Prepaid Gameserver Community-Support - Archiv. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Wyqer

User / Kunde

  • "Wyqer" is male
  • "Wyqer" started this thread

Posts: 81

Location: Kiel

  • Send private message

1

Saturday, February 7th 2015, 12:10pm

[PHP Script] Datenbankreinigung ohne Datenverlust (Lite DB)

Hallo Nitrado Community,

aufgrund der Tatsache, dass wir von GRS unseren Overpoch Server auf einen normalen Epoch Server zurücksetzen wollen ist folgendes Skript entstanden.
Wir wollen komfortabel bestimmte Items (neue Waffen, Munitionstypen, etc.) welche durch entsprechende Waffenpacks und Overwatch in die Datenbank eingetragen wurden löschen ohne dass wir dabei die Datenbank zurücksetzen müssen und somit jeder von vorne anfangen würde.

Also habe ich mich daran gemacht und ein PHP Script geschrieben das über eine Konfigurationsdatei entsprechend angepasst werden kann.

Es ist dabei nicht auf Epoch oder Overpoch etc. beschränkt. Lediglich für eine Lite DB. Ansonsten können hiermit, unabhängig vom Mod, Gegenstände gesucht und gelöscht werden.

---Was das Script macht---
Man gibt in der Konfigurationsdatei seine Datenbankdaten ein, stellt ein ob gestorbene Charaktere vor der Suche gelöscht werden sollen, ob Charaktere und/oder Objekte (Fahrzeuge, Schuppen, Safes, etc.) durchsucht werden sollen und letztlich die zu löschenden ItemIDs.
Das Hauptscript durchsucht dann die Datenbank, zerlegt die Inventare und Rucksäcke der Charaktere, sucht nach den zu löschenden Items, löscht sie wenn sie gefunden wurden, baut das Inventar und den Rucksack zusammen und ersetzt den alten Inhalt des Inventars und des Rucksacks mit dem neuen Inhalt. Dies dann ebenso mit dem Inventar von Fahrzeugen etc.
Im Anschluss erfolgt eine Übersicht darüber wieviele Charaktere und Objekte betroffen waren, wieviele Items gelöscht wurden, die Charakternamen der betroffenen Charaktere und eine Auflistung aller durchgeführten SQL UPDATE Befehle.

---Installation---
1. Download des Tools von: http://www.wyqer.net/db-cleaning-tool.rar
2. Entpacken des Archivs mit z.B. WinRAR
3. Die Datei config.php mit einem Editor (z.B. Notepad++) mit den eigenen Daten editieren
4. Die Dateien config.php und cleaner.php auf einen Webserver hochladen

---Script ausführen---
Um das Script durchlaufen zu lassen muss nur die cleaner.php per Browser aufgerufen werden. (z.B. http://www.deinedomain.de/deinordner/cleaner.php)

!!WICHTIG!!
Erstellt vor dem Durchlaufen ein Backup eurer Character_DATA und Object_DATA Tabelle.
Es gibt keine Sicherheitsabfrage beim Aufrufen der cleaner.php daher empfiehlt es sich die Variable $update_db in der config.php erst auf true zu setzen, wenn man schon einen Suchlauf mit $update_db = false unternommen hat.

Für Kommentare oder Hinweise auf Bugs wäre ich sehr dankbar.

Beste Grüße
Wyqer

This post has been edited 3 times, last edit by "Wyqer" (Feb 7th 2015, 5:13pm)


Jaeger90Patriot

User / Kunde

  • "Jaeger90Patriot" is male

Posts: 594

Location: NRW

  • Send private message

2

Saturday, February 7th 2015, 4:52pm

Ich hoffe, der Tutorial Bereich bekommt Nachwuchs.
Super Sache das.

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net