Skocz do zawartości

Odnawianie się grzybków codziennie o północy za pomocą CronJob

Polecane posty

Autor tematu Napisano (edytowany)

Cześć, pokażę Wam jak w prosty sposób zrobić regenerację grzybków codziennie o północy przy pomocy CronJob (można też użyć zdarzeń w mysql, ale to nie jest włączone na każdym hostingu lub musicie mieć VPSa).

Najpierw trzeba napisać skrypt. Daję Wam swój:

$dbhost = "host";
$dbname = "nazwa db";
$dbuser = "login";
$dbpass = "haslo";
$dbc = @mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Nie
mogę połączyć się z bazą danych. Przepraszamy za kłopoty.Prawdopo​dobnie serwer na ktorym stoi gra ma awarie!');
mysql_select_db ($dbname) or die ('Problemy z baza danych. Przepraszamy za kłopoty');
echo mysql_error();
$mysql = mysql_query("UPDATE user_data SET mushroom = mushroom + 5");
?>

 

Następnie edytujemy skrypt.

Ustawiamy połączenie z bazą (tego nie muszę tłumaczyć).

mushroom = mushroom + 5 - oznacza to, że system doda każdemu 5 grzybków.

Wgrywamy skrypt do FTP.

Skrypt nazywamy tak: nazwa.php musi być końcówka php.

Teraz wchodzimy w directadmin (zależy od hostingu) i szukamy opcji CronJob.

Dodajemy nowe zadanie.

W miejscu minuta i w miejscu godzina wpisujemy 0, w pozostałych gwiazdka (*) - Oznacza to, że skrypt będzie wykonywany codziennie o godzinie 00:00.

w miejscu komenda należy wprowadzić ścieżkę w ten sposób:
/usr/local/bin/php /home/norbisfb/domains/norbisf.pl/public_html/nazwa.php

 

 

PS: Jak dodać spoiler w temacie?

Edytowano przez Norbertsons

baner.png

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Pani Kasia

Pani Kasia

Ile można dać max grzybków ? :)


POZYCJA W RANKINGU: 79    POZIOM GRACZA: 22      FIRMA: MMO     CZŁONEK OD: 08-03-2008

KONIEC GRY-2014 :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ile można dać max grzybków ? :)

Ile dokładnie to nie wiem, ale na pewno można więcej. 

 

Jedyne co bym dodał to możliwość resetu o określonej godzinie. 

­


|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||­

​|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

​|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

​|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

​|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Pani Kasia

@ref

 

Jak chcecie na przykład co dwa dni to w miejsce dni wpisujecie: /*2

Jeśli co godzinę to w godziny: /*1


baner.png

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 

Cześć, pokażę Wam jak w prosty sposób zrobić regenerację grzybków codziennie o północy przy pomocy CronJob (można też użyć zdarzeń w mysql, ale to nie jest włączone na każdym hostingu lub musicie mieć VPSa).

Najpierw trzeba napisać skrypt. Daję Wam swój:

$dbhost = "host";

$dbname = "nazwa db";

$dbuser = "login";

$dbpass = "haslo";

$dbc = @mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Nie

mogę połączyć się z bazą danych. Przepraszamy za kłopoty.Prawdopo​dobnie serwer na ktorym stoi gra ma awarie!');

mysql_select_db ($dbname) or die ('Problemy z baza danych. Przepraszamy za kłopoty');

echo mysql_error();

$mysql = mysql_query("UPDATE user_data SET mushroom = mushroom + 5");

?>

 

Następnie edytujemy skrypt.

Ustawiamy połączenie z bazą (tego nie muszę tłumaczyć).

mushroom = mushroom + 5 - oznacza to, że system doda każdemu 5 grzybków.

Wgrywamy skrypt do FTP.

Skrypt nazywamy tak: nazwa.php musi być końcówka php.

Teraz wchodzimy w directadmin (zależy od hostingu) i szukamy opcji CronJob.

Dodajemy nowe zadanie.

W miejscu minuta i w miejscu godzina wpisujemy 0, w pozostałych gwiazdka (*) - Oznacza to, że skrypt będzie wykonywany codziennie o godzinie 00:00.

w miejscu komenda należy wprowadzić ścieżkę w ten sposób:

/usr/local/bin/php /home/norbisfb/domains/norbisf.pl/public_html/nazwa.php

 

 

PS: Jak dodać spoiler w temacie?

 

 

 

Każdy znający lokalizację skryptu może w nieskończoność ładować grzybki...

radzę to zrobić tak :

<?php
if(isset($_GET['tajnehaslo'])) {

$dbhost = "host";
$dbname = "nazwa db";
$dbuser = "login";
$dbpass = "haslo";
$dbc = @mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Nie
mogę połączyć się z bazą danych. Przepraszamy za kłopoty.Prawdopo​dobnie serwer na ktorym stoi gra ma awarie!');
mysql_select_db ($dbname, $dbc) or die ('Problemy z baza danych. Przepraszamy za kłopoty');
$mysql = mysql_query("UPDATE user_data SET mushroom = mushroom + 5");
}
else {
echo "Tak łatwo to nie u Nas :)";
}

?>
/usr/local/bin/curl --silent https://domena.tld/skrypt.php?tajnehaslo &>/dev/null

Poza tym twój skrypt nie jest poprawny, wybierasz bazę danych nie będąc połączonym do serwera mysql (brak użycia zmiennej $dbc)

Edytowano przez Nitr0o

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Autor tematu Napisano (edytowany)

@Nitr0o

Nikt prócz mnie nie zna lokalizacji plik ma u mnie losową nazwę, prawdopodobieństwo, że ktoś znajdzie ten plik jest znikome.

Z tego co widzę, twój skrypt jest lepszy, jak ktoś znajdzie lokalizację to musi znać jeszcze hasło, więc jest zabezpieczone dwukrotnie.

 

PS:
O co chodzi z Silent ?

 

Edytowano przez Norbertsons

baner.png

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Pani Kasia

 

@czerwony_rudolf

Ile chcesz, ale nie dodaj triliarda, bo zejdą na minus.

 

@"SeterN."

Ja zrobiłem paczki dzienne.

Jak zrobic paczki dzienne w is ? :)

Są w is by ZeuSXP edited by Nerfinek w dziale poradniki, wystarczy kliknąć i pobrać

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wiecie może czy sposób dalej działa? I czy działa na normalnym serwerze?

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
2 godziny temu, Marvalias napisał:

Wiecie może czy sposób dalej działa?

Sposób działać, działa ale lepiej skorzystać z strtotime('tomorrow') nie dość, że nie wymaga nastawiania cronów to nie dodaje wszystkim grzybów tylko tym co wejdą do gry. Wystarczy dopisać kod w akcie logowania ex:

$newday = strtotime('tomorrow');
if($db_data['newday'] < time()){
$GLOBALS['db']->exec("UPDATE user_data SET mushroom = mushroom + 5, newday = '$newday' WHERE user_id = ".$db_data['user_id']);
}

 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×
Okienko zamknie się za 5 sekund...