Aug 15
MartinEntwicklung, Software
Mein kleiner Debian Test Server hat die letzten Tage unwahrscheinlich viel Ram gezogen. Von 265MB welche verbaut sind, nutzte er bereits nach einem Neustart ganze 75% – das kann es ja nicht sein, schließlich laufen dort lediglich ein Lighttpd, MySQL, Exim4, Courier und SSH, also nichts weltbewegendes. Zu diesem Zeitpunkt griff ich auch nur mit 2 Rechnern auf meine PHP Anwendungen zu.
Also begann ich die vielen php5-cgi Prozesse genauer unter die Lupe zu nehmen, da diese am meisten Ram brauchten. Nach einigem unnützen hin und herstellen in der PHP.ini wagte ich mich noch an die FastCGI Konfiguration von Lighttpd, dort habe ich nur so zum Test die PHP_FCGI_CHILDREN heraus geschmissen und siehe da, der Server benötigt nach einem Neustart des Webservers Lighttpd nur noch gute 30 bis 50% Ram, wenn das mal kein befriedigendes Ergebnis ist.
Des weiteren habe ich nun anstatt 12 php5-fcgi Prozessen nur noch 4 Stück. Offenbar beendet PHP oder FastCGI die Geforkten Tasks nicht mehr richtig …
Laut PHP Bugtracker existiert dieser Bug schon seit gut 3,5 Jahren: http://bugs.php.net/40286
Jul 06
MartinSoftware
Gerade wollte ich zum Musik hören den Windows Media Player starten, klicke auf das Trayicon und der Media Player scheint zu laden, da er in der Taskleiste angezeigt wird – doch plötzlich hat er sich wieder von selbst beendet.
Das ganze habe ich 5 mal verucht selbst eine mp3 Datei zu öffnen brachte keinen Erfolg. Nun gut, dann habe ich im Taskmanager nachgesehen und siehe da, es taucht eine wmplayer.exe auf, obwohl er ja scheinbar nicht läuft. Kurzum habe ich diese Beendet und mein Media Player lässt sich wieder starten … ABER er bleibt einfach weis, kein Menü, keine Liste und das schlimmste keine Musik!

Nun höre ich erst mal weiter Musik auf Simfy, bis sich mein Media Player doch noch dazu entschließt mich Musikalisch zu verwöhnen
Jun 01
MartinAllgemein, Software
Gestern beim Updaten einiger Pakte auf meinem Debian Lenny Server hab ich zufällig folgendes entdeckt:
martin@ldsrv:/$ apt-get --help
[...]
apt-get ist ein einfaches Kommandozeilenwerkzeug zum Herunterladen
und Installieren von Paketen. Die am häufigsten benutzten Befehle
sind update und install.
[...]
Dieses APT hat Super-Kuh-Kräfte.
Der letzte Satz hat mich schon ein wenig Irritiert “Dieses APT hat Super-Kuh-Kräfte”. Super-Kuh-Kräfte? Ist damit etwa Root gemeint?
Als ob das noch nicht genug wäre, bin ich noch auf folgendes gestoßen:
martin@ldsrv:/$ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
Mal sehen was Aptitude dazu meint:
martin@ldsrv:/$ aptitude moo
In diesem Programm gibt es keine Easter Eggs.
… wenn man ein wenig mit dem Verbose Mode nachbohrt, bekommt man folgendes zu Gesicht:
martin@ldsrv:/$ aptitude -v moo
In diesem Programm gibt es wirklich keine Easter Eggs.
martin@ldsrv:/$ aptitude -vv moo
Habe ich nicht bereits erklärt, dass es in diesem Programm keine Easter Eggs gibt?
martin@ldsrv:/$ aptitude -vvv moo
Hör auf!
martin@ldsrv:/$ aptitude -vvvv moo
Okay, wenn ich Dir ein Easter Egg gebe, wirst Du dann aufhören?
martin@ldsrv:/$ aptitude -vvvvv moo
Gut, Du hast gewonnen.
/----\
-------/ \
/ \
/ |
-----------------/ --------\
----------------------------------------------
martin@ldsrv:/$ aptitude -vvvvvv moo
Was das ist? Natürlich ein Elefant, der von einer Schlange gefressen wurde.
Einfach toll diese Easter Eggs, wer nun als erster entdeckt, wie man in telnet Star Wars schaut, bekommt einen Keks von mir
Mai 15
MartinEntwicklung, Software
Heute geht für einen Leser ein Wunsch in Erfüllung. Viel Spaß beim lesen. Falls du dir auch einen Beitrag wünschen willst, schreib mir eine eMail.
Betreiber von Onlinespielen sowie Chats sind immer auf der suche nach sogenannten Doppel- oder Multi-Accounts, das sind Benutzer, die sich öfter auf einer Plattform wie einem Browsergame anmelden um dadurch Vorteile zu erhalten.
Das man sich dabei nicht nur auf sein Gespür verlassen sollte sollte natürlich auch klar sein, darum was kann man machen, damit solche User von vornherein keine Chance haben? Mit ist das sofort eine IP Sperre in den Sinn gekommen, gesagt getan, ich habe meine bestehenden IP Felder – welche die IP Adresse des letzten Logins beinhält – beim Login des Spielers nach seiner IP Adresse abgesucht und wenn sich ein User binnen weniger Stunden öfter als ein mal eingeloggt hat, hab ich ihm den Login untersagt.
Folgendermaßen sieht mein Script aus:
// IP Adresse vom User holen
$ip = $_SERVER['REMOTE_ADDR'];
// die Zeit ab der nach gleichen IPs gesucht wird
$time = time() - 24*60*60;
// nun kann die IP Adresse im users Table gespeichert werden
mysql_query("UPDATE users SET ip = '".$ip."' WHERE userid = '".$userid."'");
// nun können wir prüfen ob andere Benutzer mit dieser IP vorhanden sind
$count = mysql_num_rows("SELECT userid FROM users WHERE ip = '".$ip."' AND last_login > '".$time."'");
if($count > 1)
{
die('TO MUCH USERS PER IP!');
}
(Geschrieben in PHP)
Dies wäre nun die Brutale Lösung (Kann allerdings durch zusätzliche Filter wie z.B. Punkte entschärft werden), welche alle Multi Account Spieler Aussperrt. Das kann allerdings auch negative Nebeneffekte haben, und zwar können so Familien, Wohngemeinschaften und Büros diese Seite nicht mehr nutzen, da dort alle über einen Internet Anschluss ins Internet gehen und somit eine IP Adresse haben.
Deswegen empfehle ich solange sich der dadurch entstandene Schaden der durch solche Doppelaccounts entsteht in Grenzen hält erst ein mal ein Script zu schreiben, welches alle Doppelaccountspieler auflistet, um diese explizit zu befragen oder ihre Accounts zu überprüfen.
Folgendermaßen hab ich das einmal für ein Mafia Browsergame gemacht:
$query = mysql_query("SELECT ip, userid, username FROM users");
while($users = mysql_fetch_array($query))
{
// nun gehen wir alle user nach und nach durch
// falls auch hier ein Zeitlimit benötigt wird, kann das von oben übernommen werden
$count = mysql_num_rows("SELECT userid FROM users WHERE ip = '".$users['ip']."'");
if($count > 1)
{
// nun da es ja offensichtlich ein Multiaccount Spieler ist, wird er ausgegeben
// wenn gewünscht könnte man auch in diesem Schritt Informationen zu den
// gespielten Accounts holen, allerdings würde das dieses Beispiel sprengen
echo $users['username'] - $users['ip'];
}
}
(Geschrieben in PHP)
Nun haben wir 2 Möglichkeiten in Betracht gezogen wie man mit Doppelaccounts fertig wird. Ich hoffe sie finden Anklang, und Helfen den Admins bei ihrer Täglichen Arbeit.
Mai 08
MartinEntwicklung, Software
Letztens erst wieder wollte mein Apache (unter Windows 7) nicht starten, daraufhin hab ich alles mögliche versucht, diverse Optionen durchgetestet, aber kein Erfolg. Letztenendes lag der Fehler bei Skype, welches sich den
Port 80 standardmäßig reserviert. Dies kann man aber sehr leicht abstellen, einfach Skype öffnen, dann oben in der Menüleiste Aktionen –> Optionen –> Erweitert –> Verbindung und dort vor der obersten Checkbox den Haken entfernen, das ist alles. Nun sollte spätestens nach einem Skype neustart alles wieder wie gewohnt laufen.
Older Entries
Letzte Kommentare