SUM2: Connection-Timeout mit Hamachi

Gerätepriorität

Da Ich beim Schlacht um Mittelerde 2 spielen über Hamachi des öfteren den weithin bekannten “Connection-Timeout” bekomme, habe ich einige Nachforschungen angestellt und die besten Ergebnisse zusammengetragen. Welche das Problem jedoch nicht vollständig beseitigen.

  1. Prozesspriorität

    Man gehe in die “Netwerkverbindungen” (im Startmenü eintippen)

  2. Im Explorer-Menü dann “Erweitert” -> “Erweiterte Einstellungen”
  3. Die Hamachi-Verbindung in der Liste ganz nach oben schieben.
  4. Taskmanager (Strg+Shift+Esc) öffnen, “hamachi-2.exe” finden, im Rechtsklick-Menü auf dem Prozess die Priorität auf “Hoch” stellen.
  5. SuM2 starten und spielen. Zeige diese Anleitung auch deinen Freunden, mit denen du spielst.

Viel Glück!

Postfix mit MySQL streikt nach Update

Wenn du auf deinem Debian (vielleicht auch Verwandte) System neulich postfix geupdated hast, postfix mit MySQL verwendest, und dich nun wunderst warum du keine E-Mails mehr bekommst, gibt’s hier die Lösung!

1. In deiner /var/log/mail.warn und /var/log/mail.err tauchen sachen auf wie

postfix/trivial-rewrite[23095]: warning: connect
to mysql server localhost:
Can't connect to local MySQL server through socket
'/var/run/mysqld/mysqld.sock'

2. Dein E-Mail client Spuckt meldungen aus wie

mail_err

3. Dein ganzes Serversystem kommt dir ungewöhnlich langsam vor.

Hier die Ursache:

Das Update hat das Init-Script zum starten von Postfix ausgetauscht und nach beenden des Updates ausgeführt. Im neuen Init-Script fehlt jedoch der Teil der die Socket-Datei von MySQL in die ChRoot-Umgebung von Postfix linkt. Das Resultat daraus ist, das Postfix sich nicht mehr mit dem MySQL Server verbinden kann, weil in der ChRoot-Umgebung eine alte oder garkeine Socket-Datei ist.

Um diesen schwerwiegenden Fehler zu beheben fügt man einfach die nachfolgende Zeilen in /etc/init.d/postfix zwischen

case "$1" in
    start)
        log_daemon_msg "Starting Postfix Mail Transport Agent" postfix
        RUNNING=$(running)
        if [ -n "$RUNNING" ]; then
            log_end_msg 0
        else

und

# see if anything is running chrooted.
            NEED_CHROOT=$(awk '/^[0-9a-z]/ && ($5 ~ "[-yY]") { print "y"; exit}' /etc/postfix/master.cf)

ein.
Hier nun die entscheidenden Zeilen zum erfolg:

# CHANGE FOR USE WITH MYSQL
 
        if [ -e /var/spool/postfix/var/run/mysqld/mysqld.sock ]; then
            rm /var/spool/postfix/var/run/mysqld/mysqld.sock;
        fi
 
        mkdir -p /var/spool/postfix/var/run/mysqld
        chown mysql /var/spool/postfix/var/run/mysqld
        ln /var/run/mysqld/mysqld.sock /var/spool/postfix/var/run/mysqld/mysqld.sock
 
 
        # END OF CHANGE FOR USE WITH MYSQL

Wenn ihr dann versucht wieder E-Mail abzurufen, nicht vergessen ggf. den courier-authdeamon wieder anzuschmeissen, sonst klappts auch nicht.

Appendix:
Es kann auch vorkommen das sich durch den Updatevorgang euer MySQL aufhängt, welches ihr dann per kill-Kommando getötet habt. Achtung! Einige hatten danach beschädigte Tabellen, diese sind zu löschen falls sie nicht repariert werden können! Ist schade und doof, aber es geht nicht anders. Lasst ihr diese Tabellen beschädigt wird sich euer MySQL bei jedem zugriff auf diese Tabellen aufhängen. Sucht als erstes bei den Mailtabellen und danach nach häufigkeit der Verwendung der Tabellen/Datenbanken.

Viel Glück!

Schlechte Besucherzähler verbessern

Durch einen Verwandten bin ich nun auf ein paar Internetseiten gest0ßen die eine art Rangliste der Benutzerseiten aufgrund der Aufrufstatistiken aufstellt. Wer die meisten Klicks hat steht ganz vorne.

Soweit sogut ist die Idee, so ein Ranking zwischen beliebten und unbeliebten Profilen zu erstellen und den Besuchern das Navigieren zu häufig besuchten Seiten zu erleichtern. Nur leider wurde hier nicht ganz zu Ende gedacht (oder der zuständige Programmierer war einfach unfähig), denn auf dieser Seite seine eigenen Besucherzahlen in die höhe zu treiben ist so einfach wie Brot schneiden.

Mit Firefox alleine schon lassen sich mit intensivem Klicken auf den eigenen Profillink, so das Firefox mehrere Anfragen absendet, ohne Probleme bis zu 150 Klicks in kürzester Zeit (1 Minute) produzieren. Nicht auszudenken wären die Auswirkungen eines Scriptes welches von einem Server aus ausgeführt würde und jede Sekunde zwei mal klickt. Jeder könnte nach belieben seine Besucherzahlen gestalten, und es ginge nicht mehr danach wer der Bessere ist sondern wer die bessere Klickmaschine hat.

Dabei ist es doch garnicht so schwer das zu verhindern. Da die meisten dieser Seiten (und höchst wahrscheinlich auch diese spezielle) an eine Datenbank angebunden sind, lässt sich ein IP-Klick-Limiter doch ohne weiteres in wenigen Minuten einbauen. Alles was man hinzufügen muss ist eine Tabelle mit zwei Spalten und ein paar wenige Zeilen Code.

CREATE TABLE clicklimit (
 ip INT(14) NOT NULL,
 la INT(14) NOT NULL,
 PRIMARY KEY (ip)
)

Nun den PHP Teil:

 // aktuelle ip eintragen wenn sie nicht existiert,
 // mit time()-30 damit der klick gezaehlt wird
 mysql_query("INSERT IGNORE INTO clicklimit
 ( ip, la)
 VALUES ( ".ip2long($_SERVER['REMOTE_ADDR'])."
 , ".time()-30.")");
 
 // die daten fuer die aktuelle ip auslesen
 $req = mysql_query("SELECT * FROM clicklimit
 WHERE ip = ".ip2long($_SERVER['REMOTE_ADDR']));
 $tmp = mysql_fetch_array($req);
 $res = $tmp[0]; unset($tmp);
 
 // klick nur zaehlen wenn seit dem
 // letzten klick 30 sekunden vergangen sind
 if ( $res['la']+30 <= time() ) {
  // besucherzahl erhoehen code
 
  // nun die aktuelle ip akutalisieren,
  // damit man nicht betruegen kann
  mysql_query("UPDATE clicklimit SET
  la = ".time()." WHERE
  ip = ".ip2long($_SERVER['REMOTE_ADDR']));
 }

Wie man sieht nur wenige Zeilen zusätzlicher Code mit großer wirkung! Und ich hoffe das hilft einigen Webmastern und/oder Webdevelopern weiter und macht nicht nur Rankingsysteme sondern auch Online-Votings sicherer!

Passwort Generator

Ich habe mich dazu entschieden entlich mal mit der Entwicklung von Desktopapplikationen mit VisualC# zu beginnen. Erstes Produkt dieses Entschlusses ist nun ein Passwort Generator, welcher dem Benutzer erlaubt vorher zu definieren wie die Passwörter aus zu sehen haben, damit der Erfolg garantiert ist.

Das Programm steht unter der Creative Commons, Namensnennung Nicht-Kommerziell Keine-Bearbeitung, Lizenz zum download.

Password Generator by Cobra_Fast Setup

Password Generator by Cobra_Fast Setup

Ellaskins – Der DJ-Tutor

Habe durch Zufall auf YouTube einen britischen DJ namens Jonathan (aka Ellaskins) gefunden, welcher es sich zum Hobby gemacht hat angehenden DJs zu helfen, zu lehren und zu inspirieren. All dies macht er sehr lebendig und lustig über YouTube. Kann ich nur empfehlen!

Web 2.0 Design Tutorial Sammlung

Wer immer schonmal wissen wollte wies geht, oder einfach ein paar gute Ansätze braucht kann sich in dieser Sammlung alles besorgen was er braucht. Von einfachen Buttons über Navigationselemente bis zu kompletten Layouts findet man dort eigentlich alles um sich eine passable Homepage zusammenzubasteln ;-)