Habe leider gerade erst bemerkt, dass seit dem Update auf WordPress 3.5 bestimmte Scripte nicht mehr mit mitegliefert, sondern per Googleapis eingebunden werden, sofern ein Plugin die Funktionalität benötigt. Somit hat man in den letzten Tagen von dort Scripte abgerufen, wenn man diesen Blog hier besucht hat und keinen Scriptblocker verwendet :/
Anscheinend benötigt das Plugin “Lightbox 2″ (Projektseite) einige dieser jetzt externen Scripte. Habe es deaktiviert und Bilder werden erstmal in einem eigenen Fenster geladen bis sich ein anderes Plugin dafür findet.
Jamendo-Listen ist ein Bash-Script zum Durchhören, Herunterladen und mehr von Alben bei Jamendo. Dabei wird ausgehend von einer (angegebenen) Album-ID die jeweils nächste Album-ID ermittelt und bei Bedarf werden die Lieder direkt in einem Player geladen.
Änderungen
Die Position der Parameter ist nicht mehr fest vorgegeben.
Das Script löst Weiterleitungen zu verschiedenen Jamendo-Hosts in der Playlist auf bevor diese an den Player weitergereicht wird. Seit einiger Zeit liegen selbst Tracks desselben Albums verstreut auf verschiedenen Hosts bei Jamendo und werden nicht auf die jeweils anderen Hosts gespiegelt, sondern liegen nur auf einem einzigen Host. Zur Auswertung der Weiterleitung wird cURL verwendet, d. h. man benötigt dieses Programm nun als Abhängigkeit.
Zusätzlich gibt es einen Debug-Modus (-debug), bei dem das Shell-Tracing (set -x) aktiviert wird.
Die Unterstützung für mehr als einen Strang (-sx) zum Durchhören wurde vereinfacht und man kann sich auch die zusätzlichen Stränge anzeigen lassen (-ps). Stränge geben einem die Möglichkeit, an einem bestimmten Album (z. B. das letzte verfügbare) anzusetzen und in ein paar Tagen von dort aus durchzuhören. Ohne Angabe von -sx wird der Standardstrang verwendet.
Nach 100 nicht gefundenen Album-IDs bricht der Suchvorgang ab und es erscheint eine entsprechende Meldung.
Der Quellcode sollte verständlicher und ordentlicher sein.
Verwendete Dateien mit IDs, History usw. werden nicht mehr in ~/.jamendo_listen gespeichert, sondern in ~/.local/share/jamendo_listen
Letzte gültige Album-ID des Strangs “current” anzeigen:
$ jamendo_listen.sh --suffix current -plv
Using suffix: current
112528
Nächstes Album ausgehend vom Strang “current” suchen und abspielen:
$ jamendo_listen.sh -snlm mplayer --suffix current
Using suffix: current
Song count: 4
Album ID: 112529
Playlist file: /tmp/jamendo/12967_jamendo.m3u
MPlayer SVN-r33094-4.5.3 (C) 2000-2011 MPlayer Team
Playing http://storage-new1.newjamendo.com/tracks/957000_112.ogg.
Bei Verwendung von -sn bzw. -snlm wird die nächste gültige Album-ID sofort gespeichert. Gefällt das abgespielte Album, kann man es gleichzeitig in einer zweiten Shell herunterladen mit:
$ jamendo_listen.sh -sx current -d
Man kann auch unabhängig von Strängen ein Album direkt abspielen:
jamendo_listen.sh -id 203 -lm mplayer
arg__start_id: 203
Song count: 15
Album ID: 203
Playlist file: /tmp/jamendo/13459_jamendo.m3u
MPlayer SVN-r33094-4.5.3 (C) 2000-2011 MPlayer Team
Spiele http://storage-new1.newjamendo.com/tracks/1317_112.ogg.
Der verwendete Code stammt hauptsächlich von mapc, ist im Wiki erhältlich und steht unter der PublicDomain.
Die Musik im Video stammt von Alexandr Filippov aus dem Album 4You-Reload (zweites Stück mit dem Namen Istambul) und ist lizenziert unter der Creative Commons BY-SA.
Die Tastenkürzel für “Verbinden” [Strg+o] und “Trennen” [Strg+w] wurden entfernt
Die Chatbar verwendet nun als voreingestelltes Ziel immer den aktuellen Kanal, in dem man sich befindet; will man wieder das alte Verhalten haben, so setzt man einen Haken bei Konfiguration -> Einstellungen -> Benutzerinterface -> “User selected item as the chat bar target”.
Bei Erstellung eines neuen Mumble-Servers wird automatisch ein Passwort für den SuperUser erstellt und in der Serverlog angezeigt:
<W>2012-05-11 22:19:10.704 1 => Password for 'SuperUser' set to 'iuikh%Wxc'"
Die folgende Funktion ist richtig cool und ermöglicht viele neue Ideen:
Über Ice kann man nun temporär die Namen der Benutzer auf dem Server live ändern.
In diesem Video wurde ein Benutzer als Uhr missbraucht (dieses Video auf Youtube):
Ungefähr zum Zeitpunkt als dieses Video aufgenommen wurde, hatte sich mapc auf unserem Mumble-Server eingefunden und nach einer kurzen Demonstration begonnen, eigenen Code zu schreiben, mit dem noch sehr viel mehr als nur eine simple Uhr möglich ist. Ein kurzes Demonstrationsvideo wird es hier zu einem Zeitpunkt ungleich jetzt noch geben
Das von ihm geschriebene Modul gibt es im Wiki und es steht unter Public Domain.
Die Codec-Umschaltung von Opus nach CELT und umgekehrt funktioniert nun, sodass man jetzt keinen extra Mumble-Client nur für Opus kompilieren muss.
Leider muss man sich Mumble, zumindest unter Windows noch selbst bauen, um den neuen Codec testen zu können, unter Linux wird die Unterstützung automatisch mitgebaut, wenn Opus verfügbar ist.
Die Information darüber, ob Opus letztlich vom Mumble-Clienten unterstützt wird, steht nun in den Benutzerinformationen (erstes Bild).
Die Version und Art des aktuell auf einem Server verwendeten Codecs ist in den Serverinformationen (zweites Bild) ersichtlich.
mcontrol.sh ist ein Shell-Script zur Steuerung von Minecraft-/Bukkit-Servern; wir verwenden es zur Verwaltung, Steuerung und für inkrementelle Backups unserer Bukkit-Server.
Eine genaue Beschreibung findet sich im Wiki unter: http://wiki.natenom.name/minecraft/mcontrol.
Das Löschen von älteren Backups bei Überschreitung des pro Server eingestellten Quotas ist nun nicht mehr so grausig gemacht und läuft schneller ab. Im Prinzip wird in einer Schleife einfach so lange das jeweils älteste Backup gelöscht, bis das Quota nicht mehr überschritten wird.
Die Einhaltung des Quota wird nun auf 1 MiB genau berechnet, nicht wie vorher auf 1 GiB.
Auch ein Amok laufender Server wird nun zuverlässig beendet.
Die Server können nun so gestartet werden, dass die Ingame-Nachrichten in der entsprechenden Sprache angezeigt werden, per Voreinstellung de_DE.UTF-8. Die Variable in der Konfiguration heisst MC_SERVER_LANG.
Die Quota-Handling-Option für tar wurde entfernt; war sowieso nie dabei.
Eine einfache Lotterie ist eingebaut; habe dafür leider kein schönes Plugin gefunden. Aus einer definierten Liste von Minecraft-Items wird eine zufällige Anzahl (1-10) eines zufällig ausgewählten Items ausgegeben.
Beispiel: mcontrol.sh serverconfig lottery natenom Die notwendigen Listen werden mitgeliefert. Im Spiel sieht man dann folgende Nachricht:
Update: Das Script unterstützt jetzt auch rdiff-backup; man kann einstellen ob dieses oder doch lieber tar verwendet werden soll.
Das Script mcontrol.sh basiert auf einem älteren Script (0.3.2 von 2011-01-27) welches es, mittlerweile in einer aktualisierten Version, im MinecraftWiki zum Herunterladen gibt.
Damit habe ich auch anfangs unsere MinecraftServer gesteuert.
Allerdings ist das Originalscript nur dafür ausgelegt, genau einen Server zu steuern; wir haben zwei, deshalb wurde es entsprechend angepasst und vereinfacht.
Mit mcontrol.sh kann man mehrere Minecraft-Server unter demselben und/oder mehreren Benutzeraccount/s steuern.
Für jeden Server gibt es dabei eine eigene Konfigurationsdatei.
Im Gegensatz zum Originalscript werden mit dieser Version seit einigen Tagen inkrementelle Backups erstellt.
D.h. es wird nur gesichert, was sich seit dem letzten Backup geändert hat, was den Vorteil eines geringeren Platzverbrauchs hat.
Dabei wird beim ersten Backup eines Tages ein komplettes Backup des Servers erstellt und danach nur noch inkrementelle Backups.
Und wenn auf dem Server nachts nichts los ist, dann wird auch kein Platz für Backups verschwendet.
Das Modul läuft soweit und die Funktionalität des alten Scripts ist komplett implementiert, wenn auch die Interaktion anders ist.
Der Code ist mit Sicherheit sehr unsauber; aber es funktioniert soweit.
Zumindest das Grundgerüst (MuMo) ist bestimmt sehr sauber. Es sollte also nicht mehr den Bug geben, dass nach einer gewissen Zeit der Server nicht mehr reagiert bis das Script gewaltsam beendet wird.
Dank MuMo kann man nun auch einstellen, für welche virtuellen Server sich das Modul verantworlich fühlen soll. Auch lässt sich die komplette Konfiguration pro virtuellem Server anders festlegen. Da es leider noch keine Möglichkeit gibt, Kontextmenüs zu verwenden, werden stattdessen die drei Befehle !allow, !list und !disallow verwendet, die als Nachricht an eine beliebige Stelle des Servers geschickt werden können (Benutzer oder Kanal).
Benutzer, die keine Aufnahmeerlaubnis haben, werden sofort stumm und taub gestellt; sobald sie ihre Aufnahme beenden können sie wieder hören und sprechen; genauso wie Benutzer, deren Aufnahmeerlaubnis während einer Aufnahme entzogen wird.
Mit dem Befehl !list bekommt man – nur als Mitglied der Gruppe canallowrecord – eine Übersicht der aktuell auf dem Server befindlichen Benutzer, deren SessionIDs und der Benutzer, die aktuell eine Aufnahmeerlaubnis haben:
So, es funktioniert im Prinzip … auf unserem Mumble-Server kann man nun “Schere, Stein, Papier” (SSP) über das Kontextmenü spielen
Die Idee dazu hatte ich heute morgen weil wir ab und an mal das Problem haben, dass manche Menschen aggro aufeinander sind ihre Rechte nutzen um sich zu beweisen …
… vielleicht wird es ja damit besser.
Es ist allerdings auf registrierte Benutzer beschränkt, da es auch eine Bestenliste geben soll.
Alles zum Spiel steht dann im Log-Bereich:
Noch wird natürlich nicht gekickt, das kommt erst später; oder eine sonstwie geartete Nachricht, whatever.
Features:
Wenn der Herausgeforderte oder der Herausforderer den Server verlässt, wird das Spiel automatisch gelöscht.
Die Nachricht über die Herausforderung geht an alle Kanäle in denen sich die beiden Spieler befinden; genauso verhält es sich mit dem Ergebnis.
Man kann nicht gegen sich selbst spielen
Geplante Features:
Bestenliste (SQLite), die man auch übers Kontextmenü abrufen kann
Verlierer wird gekickt oder bekommt eine Nachricht
Herausforderung verfällt nach 30 Sekunden
Wenn der Quellcode nicht mehr ganz so schrecklich ist, werde ich diesen auch wieder ins Wiki laden.
Ich höre gerne jedes neue Album bei Jamendo mehr oder weniger gründlich zumindest teilweise an.
Jedes Album bekommt von Jamendo eine eigene ID, die normalerweise die letzte ID + 1 ist.
Aus mir unbekannten Gründen sind jedoch teilweise die IDs nicht oder nicht mehr belegt und man landet auf einer Fehlerseite.
Es ist jedoch auch ohne nichts existierende IDs ziemlich nervig, per Hand im Browser immer wieder die letzte verfügbare Album ID zu inkrementieren und zu prüfen ob dahinter ein neues Album oder nur eine Fehlerseite zum Vorschein kommt.
Deshalb verwende ich nun ein Bash-Script, welches die lästige Aufgabe übernimmt, die nächste gültige ID zu suchen und ausserdem die Möglichkeit bietet, ein Album in verschiedene Player (derzeit VLC und MOC) zu laden, das Album herunterzuladen, die Albumseite zu öffnen und mehr.
Das uralte Stille-Treppe Script wurde überarbeitet und verbessert
Die Features des Sticky-Scripts sind:
Selbst ein Admin kann seinen Sticky Status nicht entfernen.
Wenn sich ein Admin im Sticky befindet, kann er nicht aus “Rache” einen anderen Benutzer in den Sticky Status versetzen.
Der Sticky Status wird auch über Reconnects gespeichert.
Wenn sich ein Benutzer mit Sticky zum Server verbindet, bekommt er einen Hinweistext.
Es ist nicht möglich, sich selbst versehentlich einen Sticky zu geben.
Wenn der Sticky entfernt wird, so wird der Benutzer automatisch in den Kanal verschoben in dem er vorher war.
Der “verurteilte” Benutzer wird automatisch in den Sticky-Raum – bei uns die Stille Treppe – verschoben und kommt dort erst wieder raus, wenn der Sticky Status entfernt wird. An die Benutzer im Kanal geht eine Meldung raus, was da gerade passiert.
Wer das ausprobieren möchte, ist auf unserem Server herzlich willkommen.