Rollback Probleme und Verbesserungsvorschläge

German
User avatar
Cooper97
Member
Posts: 52
Joined: Thu Feb 21, 2013 19:55
Location: Germany

Rollback Probleme und Verbesserungsvorschläge

by Cooper97 » Post

Hallo liebes Minetest Forum,

Mir ist aufgefallen dass die Rollback Funktion in Minetest noch einige Bugs hat.
Da ich leider kein / sehr wenig Lua programmieren kann wollte ich euch mal fragen ob ihr Interesse hättet einiges an der Rollback Funktion zu verbessern.

Bugs: -z.B. TNT Krater des Nuke Mods können nicht vollständig "gerollbacked" werden.

Verbesserungsvorschläge:

1. Wäre es möglich dass die Rollback Funktion für jeden Spieler ein eigenes Log erstellt?
(Das Rollback Mod das es im Forum gibt macht das zwar, aber nicht das eingebaute Rollback von Minetest.)

2. Wäre es möglich dass noch der Befehl /rollbackclear [username] hinzugefügt wird, um Logs von Spielern zu löschen, die nicht gegrieft haben?

3. Könnte man auch so wie bei Minecraft Parameter hinzufügen wie r: für den Radius oder e: für Blöcke die nicht "gerollbacked" werden sollen?

Könnte man diese Vorschläge umsetzen / hättet ihr Lust dazu (da ich leider so etwas nicht programmieren kann.)

Mit freundlichen Grüßen
Cooper97
Sorry for my bad english. (I am from germany.)

User avatar
PilzAdam
Member
Posts: 4026
Joined: Fri Jul 20, 2012 16:19
GitHub: PilzAdam
IRC: PilzAdam
Location: Germany

by PilzAdam » Post

Das rollback features ist momentan mehr ein "proof of concept". Es müsste mal komplett überarbeitet und vernüftig implementiert werden.
Soweit ich weiß ist es komplett in der Core Engine, also in C++ geschrieben, hat also nichts mit Lua zu tun.

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

by Sokomine » Post

Ich habe mir die Rollback-Funktion einmal kurz angeschaut, bin dort aber leider noch nicht wirklich weit gekommen. Nur das Interface für die Befehle an sich ist in lua geschrieben. Der Rest läuft über C++. Erfreulicherweise werden auch Blöcke geladen und bearbeitet, die aktuell nicht geladen sind. Von daher wäre es sehr interessant, diese Funktion beispielsweise für das Importieren von größeren Bauwerken oder Minecraft-Maps zu mißbrauchen. Das Einlesen in den C++-Teil dauert leider seine Zeit. Hauptproblem sind für mich nicht Funktionen wie TNT (auf Bau-Servern will man das sowieso nicht haben) sondern das viel zu lahme rollback_check, das die Hälfte der Spieler per Timeout vom Server wirft. Zudem fehlt eine sinnvolle Möglichkeit, die Tätigkeit eines möglichen Griefers besser einschätzen zu können (war das jetzt eher ein Versehen oder hat der Spieler noch mehr gegrieft?). Interessant könnte hier das Format werden, in welchem die Daten für Rollback gespeichert werden. Ich bin leider noch nicht dazu gekommen mich da einzulesen.
A list of my mods can be found here.

sfan5
Moderator
Posts: 4094
Joined: Wed Aug 24, 2011 09:44
GitHub: sfan5
IRC: sfan5
Location: Germany

by sfan5 » Post

Zum Rollback log gehörten nur blöcke die von Spielern direkt zerstört wurden.
Die TNT vom Nuke Mod werden "indirekt" zerstört.
Außerdem ist es nicht immer möglich zu bestimmen wer das TNT angezündet hat.
Mods: Mesecons | WorldEdit | Nuke & Minetest builds for Windows (32-bit & 64-bit)

User avatar
Cooper97
Member
Posts: 52
Joined: Thu Feb 21, 2013 19:55
Location: Germany

by Cooper97 » Post

Vielen Dank für eure schnellen Antworten. Ich weiss aus eigener Erfahrung dass Protector Mods nicht immer vor griefing schützen können. Daher finde ich dass das Rollback Mod / die Rollback Funktion "Mega hammer super wichtig" ist. Darum finde ich dass diese Funktion unbedingt stark verbessert werden sollte, und zwar so schnell wie möglich. Denn: eines ist fast sicher: Griefer wird es immer geben.
Sorry for my bad english. (I am from germany.)

User avatar
Cooper97
Member
Posts: 52
Joined: Thu Feb 21, 2013 19:55
Location: Germany

by Cooper97 » Post

Mir ist gerade auch noch etwas eingefallen: Die /rollback_check Funktion stimmt auch nicht so ganz. Wenn ein Griefer nämlich nur Blöcke entfernt kann man mit dieser Funktion nicht herausfinden wer das war, diese Funktion geht nämlich nur wenn ein Block gesetzt wurde.
Sorry for my bad english. (I am from germany.)

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

by Sokomine » Post

Bei mir zeigt die rollback_check-Funktion gegriefte (d.h. entfernte) Blöcke problemlos an ("node is now air"). Es dauert nur zu lange.
Wenn man die richtigen mods verwendet, so schützen diese Gebäude ziemlich zuverlässig vor Griefern. Das Problem im Alltag sind Gebäude, die noch nicht/nicht vollständig geschützt wurden. Auch wird gern Glas oder Glowglas gestohlen wenn es nicht festgeschraubt ist.
A list of my mods can be found here.

User avatar
Cooper97
Member
Posts: 52
Joined: Thu Feb 21, 2013 19:55
Location: Germany

by Cooper97 » Post

Also ich baue gerade im LAN mit zwei Freunden an einem Minetest Server den ich vielleicht bald auch online stellen werde. Zurzeit nutze ich als Protector Mods node_ownership für große Bereiche wie den Spawn Bereich und das Protector Mod von Zeg9 für die Spieler, damit jeder sein Haus mit den Protector Blöcken selbst schützen kann. Ich denke dass dadurch das Griefen doch sehr erschwert wird und Rollback vielleicht gar nicht so oft benötigt wird.
Sorry for my bad english. (I am from germany.)

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

by Sokomine » Post

Wenn du beide Mods kombinierst, könnte das zu einem sehr langsamen Server führen, denn beide prüfen auf unterschiedliche Art und Weise, ob ein Block einen Besitzer hat.
Rollback braucht man auf öffentlichen Servern eigentlich immer.
A list of my mods can be found here.

User avatar
Cooper97
Member
Posts: 52
Joined: Thu Feb 21, 2013 19:55
Location: Germany

by Cooper97 » Post

Ja ich werde natürlich auf jeden Fall enable_rollback_recording in der configuration auf true stellen.

@Sokomine
Dann hab ich jetzt vielleicht ein kleines Problem: node_ownership würde ich gerne für Dinge wie den Spawn benutzen, da der Spawn ja nicht mit "hässlichen" Protector Blöcken übersäht sein soll. Allerdings möchte ich dass jeder Spieler sein Haus selbst schützen kann und nicht immer ein Admin jedes einzelne Haus protecten muss.

Was sollte ich jetzt tun? Doch beide benutzen? Oder hättet ihr einen anderen Vorschlag?

P.S. Wegen den Protector Blöcken: nein ich werde die Protector Textur nicht verändern den am Spawn sind die Böcke immer hässlich egal welche Textur sie haben.
Sorry for my bad english. (I am from germany.)

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

by Sokomine » Post

Redcrabs Server bietet die Möglichkeit, zwei kleinere Grundstücke selbst zu schützen. Das könnte man ja evtl. noch erweitern, loggen und gelegentlich prüfen (damit nicht ein Spieler ganze Landstriche für sich beansprucht und so Mitspieler verärgert). Für richtige Server mit großen Bauwerken halte ich node_ownership für sinnvoll. Schließlich wollen Spieler, die schöne Häuser bauen, diese auch nicht durch Protector-Blöcke verunstaltet wissen oder ständig Blöcke zählen müssen um nichts zu vergessen.
Wenn es nur um den Spawn-Bereich geht, so ließe sich das Protector-Mod sicher auch erweitern und dieser eine Bereich hardcoden. Das Protector-Mod ist für kleinere Bauwerke einfacher nutzbar.
A list of my mods can be found here.

User avatar
Cooper97
Member
Posts: 52
Joined: Thu Feb 21, 2013 19:55
Location: Germany

by Cooper97 » Post

hmmm, ich hätte mich jetzt eigentlich für das protector Mod node_ownership entschieden, allerdings hat das anscheinend auch noch sehr viele Bugs.

Ich kann (als Admin mit allen rechten) nur /set_owner Cooper97 100,10,100 200,100,200 ausführen, allerdings kann ich als Cooper97 kein /set_owner singleplayer 900,10,900 1000,10,1000 ausführen, das bedeutet ich könnte große Gebäude zwar protecten, aber der Spieler dem das gehört kann dann auch nicht mehr bauen sondern nur noch ich, da ich Gebäude nur auf meinen Namen protecten kann. Der Befehl /add_owner funktioniert nämlich übrigens auch nicht.

habt ihr ähnliche Erfahrungen mit dem Mod? Welches protector Mod (ohne Blöcke) sollte ich jetzt verwenden?

MfG
Cooper97
Sorry for my bad english. (I am from germany.)

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

by Sokomine » Post

Nein, das funktioniert eigentlich sehr gut. Sowohl auf Redcrabs Server mit /set_owner spielername x1,y1,z1 x2,y2,z2 (benutze ich dort häufig) als auch auf VanessaEs Server. Vielleicht fehlt Dir ein priv? Ansonsten könntest du VanessaE um ihre Version bitten (Redcrab ist leider schlechter erreichbar).
A list of my mods can be found here.

User avatar
Cooper97
Member
Posts: 52
Joined: Thu Feb 21, 2013 19:55
Location: Germany

by Cooper97 » Post

Vielen Dank für deine Antwort Sokomine. Ich werde wahrscheinlich VanessaE bald mal nach ihrer Version fragen. Zurzeit haben mein Freund und ich die Protector Mods node_ownership und die Protector Blöcke durch das Land Rush Mod von BrandonReese ersetzt. Dieses Mod hat zwar auch Protector Blöcke, diese Blöcke werden aber nach dem setzen sofort unsichtbar. Das ist einer der vielen Vorteile dieses Mods.

Was das Rollback angeht bitte ich das Core Team von Minetest dies zu verbessern und aus diesem wie Adam sagt "proof of concept" eine richtige vollständige Version zu machen, die mehr Features hat und bei der auch das Rollback und der Rollback_check funktioniert, ohne dass der Server laggt und ohne dass beim TimeOut gleich alle Spieler vom Server gekickt werden.
Sorry for my bad english. (I am from germany.)

twoelk
Member
Posts: 1482
Joined: Fri Apr 19, 2013 16:19
GitHub: twoelk
IRC: twoelk
In-game: twoelk
Location: northern Germany

by twoelk » Post

Koennte man die rollback funktion nutzen um Protokolle mit definierten Inhalt zu schreiben?
So in der Art das nur das setzen von Lava quellen oder TNT usw protokolliert wird.
Das koennte zur Ueberwachung von Vandalismus auf Servern nuetzlich sein. Sowohl um einen Rollback Zeitpunkt zu bestimmen als auch um Griefer zu ueberfuehren.

User avatar
Cooper97
Member
Posts: 52
Joined: Thu Feb 21, 2013 19:55
Location: Germany

by Cooper97 » Post

Also wir haben jetzt auf unserem Server alle protection Mods entfernt, und dann die aktuellste Version von Node_ownership mit Patch installiert. Wir haben jetzt damit alles protected. Wir wissen jetzt auch warum die /add_owner Funktion nie funktionierte. Es ist der allerselbe Grund wie bei BrandonReese's LandRush Mod; man kann Spieler nur hinzufügen wenn diese online sind. Daher konnte ich wenn ich als Singleplayer auf der Map war auch nie etwas mit /set_owner oder mit /add_owner für meinen Account Cooper97 protecten. P.S. VanessaE hat tatsächlich eine eigene Version. Diese kann man auch downloaden. (Der Download Link steht in einem Beitrag zum Mod Node_ownership.)

@twoelk
Das finde ich sehr unpraktisch. Die meisten Bau Server haben die TNT Mods und das Bucket (Eimer) Mod sowieso entfernt, deshalb wird meistens mit normalen Blöcken gegrieft bzw. einfach nur mit der Spitzhacke zerstört.
Sorry for my bad english. (I am from germany.)

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

by Sokomine » Post

Cooper97 wrote: Es ist der allerselbe Grund wie bei BrandonReese's LandRush Mod; man kann Spieler nur hinzufügen wenn diese online sind.
Unpraktisch. Das sollte repariert werden. Außerdem wäre es gut, wenn die Versionen auf den verschiedenen Servern nicht so stark auseinanderdriften würden. Redcrab hat soweit ich weiß auch eine leicht angepasste Version.

Die Rollback-Funktion des Kernels schreibt ein recht brauchbares Log, das sich auch für ganz andere Dinge prima nutzen ließe (Blueprints von Gebäuden). Mit ein bißchen grep und awk kann man bereits einfache Statistiken erstellen (z.B. wieviele Blöcke man gegraben/gesetzt hat). Problem ist das elendig langsame rollback_check. Gefühlt geht grep schneller...
A list of my mods can be found here.

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

by Sokomine » Post

Ich teste seit kurzem auf Menches Server mein neues Mod inspector. Das Mod stellt ein Tool bereit, das bei Benutzung die Koordinaten des Blockes ermittelt und damit ein Bash-Script füttert. Das sucht dann per grep in rollback.txt und schreibt eine Ergebnis-Datei. Wenn die auftaucht, wird sie von Minetest aufbereitet und an den aufrufenden Spieler geschickt. Das ist um Größenordnungen schneller als das interne /rollback_check. Mit /inspect <nr> kann man sich zudem anzeigen lassen, was der Spieler zu der Zeit, als er mit dem Block interagierte, sonst noch so angestellt hat.
A list of my mods can be found here.

User avatar
Cooper97
Member
Posts: 52
Joined: Thu Feb 21, 2013 19:55
Location: Germany

by Cooper97 » Post

Einfach genial :)

Ich werde das Mod mal heute auf meiner Mod-test-map ausprobieren.
Falls ich noch Bugs finde poste ich es hier.
Falls es keine Bugs mehr gibt sollte man das Mod bei Minetest 0.4.8 auf jeden Fall als default hinzufügen :)
Sorry for my bad english. (I am from germany.)

sfan5
Moderator
Posts: 4094
Joined: Wed Aug 24, 2011 09:44
GitHub: sfan5
IRC: sfan5
Location: Germany

by sfan5 » Post

Sokomine wrote:Bash-Script
Cooper97 wrote:auf jeden Fall als default hinzufügen
Microsoft wrote:Windows
Mods: Mesecons | WorldEdit | Nuke & Minetest builds for Windows (32-bit & 64-bit)

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

by Sokomine » Post

Das Mod ist nur für größere Server interessant, auf denen mit Griefern zu rechnen ist. Da kann man schon erwarten, daß die Serverbetreiber wissen, wie man im Forum nach Mods sucht und die installiert :-) Und daß sie kein Windows einsetzen.
Der Pfad zur rollback.txt muß in den beiden Bash-Scripten eingetragen werden (grep.search_by_*), und rollback muß aktiviert sein (das braucht man für das Schreiben der Logs und für das tatsächliche Rollback).
A list of my mods can be found here.

User avatar
Cooper97
Member
Posts: 52
Joined: Thu Feb 21, 2013 19:55
Location: Germany

by Cooper97 » Post

sfan5 wrote:
Microsoft wrote:Windows
So viel ich weiss kann man mit Konvertern doch auch Bash Skripte in Batch Skripte für Windows umkonvertieren oder?
Sorry for my bad english. (I am from germany.)

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

by Sokomine » Post

Keine Ahnung wie das unter Windows aussieht. Läßt den überhaupt irgendwer einen größeren Server unter Windows laufen? Der Clou des Mods besteht ja darin, grep statt der Minetest-eigenen Implementierung für die Suche nach dem Griefer zu verwenden. Bei einem normalen Windows gibt es soweit ich weiß kein mitgeliefertes grep. Man kann es nachinstallieren, aber wenn man das macht, nutzt man das Windows wahrscheinlich sowieso nicht freiwillig :-)
Ich würde mich über Feedback über das Mod freuen. Bevor ich es offiziell ankündige (interessiert wahrscheinlich eh nur wenige Leute), wollte ich noch eine Fassung schreiben, die in debug.txt sucht. Viele Server verwenden nämlich gar kein rollback.
A list of my mods can be found here.

User avatar
Cooper97
Member
Posts: 52
Joined: Thu Feb 21, 2013 19:55
Location: Germany

by Cooper97 » Post

Sokomine wrote:Wenn du beide Mods kombinierst, könnte das zu einem sehr langsamen Server führen, denn beide prüfen auf unterschiedliche Art und Weise, ob ein Block einen Besitzer hat.
Als ich das letzte mal auf Menches Server war hatte er node_ owner, node_ownership und Landrush installiert. Drei protection Mods laggt das nicht oder stürzt da nicht der Server ab??
Sorry for my bad english. (I am from germany.)

PenguinDad
Member
Posts: 122
Joined: Wed Apr 10, 2013 16:46

by PenguinDad » Post

Cooper97 wrote:
Sokomine wrote:Wenn du beide Mods kombinierst, könnte das zu einem sehr langsamen Server führen, denn beide prüfen auf unterschiedliche Art und Weise, ob ein Block einen Besitzer hat.
Als ich das letzte mal auf Menches Server war hatte er node_ owner, node_ownership und Landrush installiert. Drei protection Mods laggt das nicht oder stürzt da nicht der Server ab??
Das könnte zwar zu Lags führen, aber abstürzen würde der Server nur wenn mindestens zwei dieser Mods mindestens eine globale Funktion mit dem selben Namen definieren.

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests