Register for your free account! | Forgot your password?

You last visited: Today at 21:43

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Cronjob] Statistiken

Discussion on [Cronjob] Statistiken within the Metin2 PServer Designs, Websites & Scripts forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
.PolluX's Avatar
 
elite*gold: 81
Join Date: Nov 2012
Posts: 975
Received Thanks: 531
Post [Cronjob] Statistiken

Hallihallo Epvp,
ich habe "noch-nicht-oop"-Files (PHP) gefunden, die ich mit euch teilen möchte.

Hierbei handelt es sich um eine kleine Erweiterung für das Hen-Script, die eurem Server einige Datenbankabfragen sparen wird - kurz genannt: Cronjob (oder unter Windows: "Zeitgesteuerte Aufgabe" )

Die Scripts werden am besten bei eurem Hoster direkt als Cronjob eingebunden, bei Blazingfast z.b. gibt es da direkt eine Funktion, wo nur die URL und die Zeit eingetragen werden muss.

Die URL sollte allerdings wie folgt aussehen, da ansonsten keine Daten aus der DB gelesen werden (Stichwort: Zugriffsschutz):
Code:
http://www.servername.tld/cronjobs/top10_guilds.php?usrnme=pollux&xpassXphrasex=pollux
Der Username, wie auch das Passwort müssen in jedem Script (Zeile 5) im "cronjobs"-Ordner angepasst werden, lasst dort auf KEINEN fall "pollux" stehen.. ^^

Also da:
PHP Code:
if($_GET['usrnme'] != "pollux" && $_GET['xpassXphrasex'] != "pollux"

Alle aus der Datenbank geladenen Werte, werden in eine eigene Textdatei geschrieben, die ihr mit folgender Funktion auslesen könnt:

PHP Code:
function readStats($type){
    
$res fopen('cache/'.$type.'.txt''r');
    
$i 1;
    while(!
feof($res)){
        
$line fgets($res);
        if(
$line != '') {
            
$value explode(';'$line);
            return 
$value[0];
        }
    }
    
fclose($res);

Der "$type" entspricht hierbei dem Namen der Textdatei, die ihr auslesen wollt. D.h. ihr könnt die Cronjobs auch erweitern, durch eigene Abfragen und diese Funktion nutzen, um ein Array erstellen zu lassen.

Um es dann endgültig auf der Homepage anzeigen zu lassen, benötigt ihr wiederrum kleine Modifikationen.

Ein Beispiel wäre z.B. folgendes: Ihr ersetzt euren Code für die Top 10 Spieler (meistens ja ein include aus dem inc-Ordner) mit folgendem:
PHP Code:
$res fopen('cache/player_top10.txt''r');
$i 1;
while(!
feof($res)){
    
$line fgets($res);
    if(
$line != '') {
        
$value explode(';'$line);
        echo 
"<tr><td>" $i "</td><td>" $value[1] . "</td><td>" $value[2] . "</td></tr>";
        
$i++;
    }
}
fclose($res); 
Und schon habt ihr eure Top10 mit dem Cronjob "verbunden". Selbes auch mit der Gildenliste.

Ein Beispiel noch für Online/Accounts/Yang etc (in diesem Fall - wv. Charaktere sind bisher erstellt):
PHP Code:
echo number_format(readStats('player'), 0',''.'); 
Im Anhang findet ihr eine zip-Datei, die ihr einfach nurnoch in den Hauptordner eurer Homepage einfügen müsst (achja und natürlich Username & Passwort in jedem Script ändern).

Viel Spaß damit und bei Fragen, fragen!

PS.: Wer beim Einbau Hilfe benötigt:
Attached Files
File Type: zip cronjob.zip (5.0 KB, 18 views)
.PolluX is offline  
Thanks
8 Users
Old 07/25/2015, 22:42   #2
 
..ѕιяιυѕѕ¢нωєят's Avatar
 
elite*gold: 0
Join Date: Dec 2014
Posts: 33
Received Thanks: 22
naice <3
..ѕιяιυѕѕ¢нωєят is offline  
Old 07/26/2015, 00:51   #3
 
elite*gold: 1
Join Date: Mar 2015
Posts: 287
Received Thanks: 421
naiiice <3
C95 is offline  
Old 07/26/2015, 19:19   #4
 
elite*gold: 0
Join Date: Sep 2013
Posts: 491
Received Thanks: 675
Du kannst das ganze auch ohne Cronjob machen indem du den Cache nur bei neuen Seitenaufrufen änderst und außerdem würde ich dir eine PHP Klasse zum cachen empfehlen welche z.b. SQLite,PDO,Memcache oder sonstige Sachen verwenden. Ich finde .txt Datein ist die nervigste Variante um Sachen zu cachen.
.Kibito is offline  
Old 07/26/2015, 20:15   #5
 
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,725
ist natuerlich ne moeglichkeit, aber find ich iwie unnoetig ueber cronjob.

lieber nen ordentliches cache system.
da sparste dir im endeffekt noch mehr abfragen
ProfessorEnte is offline  
Thanks
1 User
Old 07/26/2015, 22:13   #6
 
elite*gold: 0
Join Date: Jun 2013
Posts: 60
Received Thanks: 107
Gute Arbeit
Michax33 is offline  
Thanks
2 Users
Old 07/27/2015, 03:23   #7
 
.PolluX's Avatar
 
elite*gold: 81
Join Date: Nov 2012
Posts: 975
Received Thanks: 531
Quote:
Originally Posted by .Kibito View Post
Du kannst das ganze auch ohne Cronjob machen indem du den Cache nur bei neuen Seitenaufrufen änderst und außerdem würde ich dir eine PHP Klasse zum cachen empfehlen welche z.b. SQLite,PDO,Memcache oder sonstige Sachen verwenden. Ich finde .txt Datein ist die nervigste Variante um Sachen zu cachen.
Aber für den Durchschnitts-Metin2-Admin ist das die einfachste Variante.

Quote:
Originally Posted by ProfessorEnte View Post
ist natuerlich ne moeglichkeit, aber find ich iwie unnoetig ueber cronjob.

lieber nen ordentliches cache system.
da sparste dir im endeffekt noch mehr abfragen
s.o. - aber recht habta schon^^
.PolluX is offline  
Old 07/27/2015, 06:09   #8
 
Da' Real Ano's Avatar
 
elite*gold: 23
Join Date: Jan 2012
Posts: 1,437
Received Thanks: 2,438
Super Arbeit , mein Pollux.
Da' Real Ano is offline  
Reply

Tags
cronjob, homepage, metin2, server, statistik


Similar Threads Similar Threads
Suche Coder für nen Cronjob
05/29/2015 - Coders Trading - 4 Replies
Moin, ich weiß nicht ob es möglich ist was ich möchte aber das Script das per Cronjob aufgerufen wird soll dich auf einer Seite einloggen und dort etwas ausführen. Desweiteren suche ich einen Kompetenten Webcoder der sich mit Wordpress / php / HTML etc auskennt. Für immer mal wieder kleine Sachen die an meiner Seite anfallen. Wird selbstverständlich alles vergütet. Lasst mir einfach euren Skypenamen hier oder schreibt mich per PN an.
[Webserver]Cronjob ersatz
08/22/2014 - Metin2 PServer Guides & Strategies - 26 Replies
Ein Freund von mir hatte jetzt das Problem, dass er keine Cronjobs auf seinem Server erstellen konnte. Die Lösung ist dieser Code. $crontime = 120; $filepath = "inc/vote_cron.php" if(file_exists("last_api.time")){ $thetime = filemtime("last_api.time"); if($thetime < time() - $crontime){
Suche Cronjob/Crontab
04/14/2014 - Metin2 Private Server - 9 Replies
Suche ein Cronjob/Crontab der den Server genau um 23:54 Stoppt und um 23:55 Rebootet und nach dem Reboot sobald er wieder oben ist soll er noch ca 1 Min warten und dann wieder Startet mit 2 Channels... Wäre sehr Korrekt wenn mir jemand da helfen könnte...
Corerestarter Cronjob !
11/11/2013 - Metin2 Private Server - 1 Replies
Guten Abend. Ich habe den Corerestarter installiert. #!/bin/sh # Metin 2 Corerestarter # v 1.0b # by aiiR7 # Settings
Cronjob Programm
03/03/2013 - Web Development - 8 Replies
Jo, guten abend zusammen, ich suche ein Programm, welches ich auf meinen Windows vServer installieren kann, das alle 5 min meine Cronjob-site aufruft ( Bsp: http : / /127.0.0.1/cronjob.php?site_ranking ) Muss nicht unbedingt kostenlos sein, sollte jetzt aber nichts sein was xxxx€ kostet. Vielen Dank im vorraus.



All times are GMT +2. The time now is 21:43.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.