SQL Befehle

Aus Invertika Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Account zum Administrator hochstufen

In der Tabelle mana_accounts muss das Level (level) für den entsprechen Nutzer auf 255 setzten.

UPDATE mana_accounts SET level=255 WHERE username='MyAccount';

Mit sqlite3 würde das dann auf der Kommandozeile wie folgt aussehen:

sqlite3 invertika.db "UPDATE mana_accounts SET level=255 WHERE username='MyAccount';"

Datenbank anonymisieren

Um die Datenbank zu anonymisieren sollte man folgendes eingeben:

UPDATE mana_accounts SET username=random(), password=random(), email=random()
UPDATE mana_characters SET name=random()
UPDATE mana_guilds SET name=random()
DELETE FROM mana_transactions

Questvariable abfragen

SQL:

SELECT * FROM mana_quests
WHERE owner_id IN (SELECT id FROM mana_characters WHERE name = 'postremus') AND name='more_mountains_maden_kill_quest_var';

Konsole:

sqlite3 invertika.db "SELECT * FROM mana_quests WHERE owner_id IN (SELECT id FROM mana_characters WHERE name = 'postremus') AND name='more_mountains_maden_kill_quest_var';"

Questvariable setzen

SQL:

UPDATE mana_quests SET value=10
WHERE owner_id IN (SELECT id FROM mana_characters WHERE name = 'Ablu') AND name='selphi_timlet_bruce_quest';

Konsole:

sqlite3 invertika.db "UPDATE mana_quests SET value=10 WHERE owner_id IN (SELECT id FROM mana_characters WHERE name = 'Ablu') AND name='selphi_timlet_bruce_quest';"

Neues Passwort setzen

SQL:

UPDATE mana_accounts SET password="newhashvalue"
WHERE username LIKE 'seeseekey';

Konsole:

sqlite3 invertika.db "UPDATE mana_accounts SET password='newhashvalue' WHERE username LIKE 'seeseekey';"

Skilllevel ermitteln

SELECT *
FROM mana_char_skills INNER JOIN mana_characters
ON mana_char_skills.char_id=mana_characters.id
WHERE mana_characters.name = 'Vanity'

User hinzufügen

INSERT INTO mana_accounts (username, password, level, email, banned, registration, lastlogin) VALUES ('Blubb', 'XXXXX', 255, random(), 0, 0, 0);

Bei obigem Befehl wird für den E-Mail-Hash lediglich ein Zufallswert verwendet. "Blubb" müsste man durch den Spielernamen ersetzen, "XXX" durch die Password-Hash, welche sich wie folgt berechnet (im veralteten Semistable Server):

sha256(sha256(username+password))

Dies lässt sich auf der Kommandozeile mit einer Zeile wie folgt berechnen:

username="Benutzername"; password="Passwort"; echo -n "$username$password" | sha256sum - | grep -o "^[a-zA-Z0-9]*" | tr -d '\n' | sha256sum - | grep -o "^[a-zA-Z0-9]*" | tr -d '\n'

Im neuen Server muss anders gehashed werden (insgesamt 3 Mal), wobei das System noch im Umbruch ist.

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Navigation
Projekt
Werkzeuge