Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[HLTV] Skrypty do kompresji i wyświetlania dem


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
45 odpowiedzi w tym temacie

#1 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 18.04.2010 21:18

Tym razem mam do zaoferowania zestaw skryptów umożliwiający pobranie, kompresję, dalsze przesłanie, wyświetlenie i usuwanie demek po określonym czasie.
Pliki mogą być pobierane z FTP lub katalogu na dysku gdzie jest uruchamiany skryp jak również mogą być wysyłane na kolejne FTP lub do innego folderu.
Wszystkie dane demek zapisywane są na serwerze mysql dzięki czemu możemy je dodatkowo wykorzystać w innych skryptach(np. automatycznie dodawanie dema do bana w AMXBans).
Nawet jeżeli hosting blokuje usuwanie dem to dzięki temu że są zapisane w bazie danych nie zostaną one pobrane ponownie.
Każde demo(niezależnie od tego czy jest wcześniej kompresowane) może zostać skompresowane ZIP'em o różnych poziomach kompresji (od 0 do 9).
Całkowita dowolność jeżeli chodzi o czas przetrzymywania dema. Podajemy go w sekundach więc równie dobrze może to być 30min jak i 120dni.
Wyświetlane może być również dopasowane do gustów. Wystarczy znajomość HTML + CSS (i PHP jeżeli chcemy coś więcej). Dostępne jest sortowanie i wyświetlanie dem z danego dnia i serwera.
podglad.jpg

Wymagania:
  • obsługa skryptów PERL (moduły DBI, Date::Parse, Archive::Zip, Net::FTP, File::Copy; [pogrubione są załączone, reszta powinna być w standardzie])
  • dostęp do Crontab'a
  • serwer mysql
  • serwer z obsługą php
Instalacja. (pobieramy i rozpakowujemy Załączony plik  dema.zip   89,9 KB  716 Ilość pobrań
)

1. Skrypty Perl.
Zawartość katalogu perl (lub cały katalog) kopiujemy w dowolne miejsce na serwerze z obsługą perl'a
Edytujemy pliki install.pl i dema.pl zgodnie z danymi serwera mysql i ftp (instrukcje w plikach)
Nadajemy plikom install.pl i dema.pl prawa do uruchamiania.
  • w konsoli wpisujemy: chmod +x install.pl i chmod +x dema.pl chmod_cmd.jpg
  • lub w przypadku programu typu Total Commander wybieramy zezwolenia pliku i ustawiamy coś podobnego do: chmod.jpg (screen z WinSCP)
Następnie możemy uruchomić skrypt który stworzy nam odpowiednie wpisy w bazie danych.
W tym celu przechodzimy do katalogu w którym zostały rozpakowane pliki i wpisujemy komendę:
perl install.pl
(lub ewentualnie ./install.pl)
Jeżeli wprowadzone dane serwera mysql były prawidłowe to otrzymamy informację o poprawnej instalacji.

Następnie dodajemy do crontab'a wpis odpowiedzialny za obsługę demek, np:
*/10 * * * * cd /home/uzytkownik/perl && perl dema.pl -1 > /dev/null
Spowoduje on uruchamianie kodu co 10min. "> /dev/null" oznacza że nie będą wysyłane żadne informacje w mail'u. Korzystamy z tego gdy już mamy pewność że wszystko działa.

2. WWW
Zawartość katalogu www kopiujemy na serwer z obsługą PHP (np do głównego katalogu) i edytujemy plik dema.php wprowadzając w nim poprawne dane serwera mysql i folderów (informacje w pliku).



Konfiguracja.
Perl.

my $COMP_LEVEL = 6; #poziom kompresji; 0-brak, 9-max
my $max_demo = 60*60*24*30; #ile sekund trzymac dema, standardowo 30dni (2592000)


#USTAWIENIA FOLDEROW

my $from = 1; #pliki pobierane z: 0 - FTP, 1 - lokalny
my $to = 0; #pliki wysyłane na: 0 - FTP, 1 - lokalny
my $compress = 1; #kompresja pobieranych plików: 0 - pliki juz sa skompresowane, 1 - kompresuj pliki
my $cext = ".dem"; #rozszerzenie plików;

Jeżeli chcemy żeby pliki pobierane były z serwera FTP ustawiamy $from=0, jeżeli z katalogu na tym samym serwerze to ustawiamy $from=1
Jeżeli chcemy żeby pliki były wysyłane na serwer FTP ustawiamy $to=0, jeżeli mają być kopiowane do katalogu na tym samym serwerze to ustawiamy $to=1
Jeżeli dema mają być kompresowane to ustawiamy $compress=1, jeżeli już są skompresowane lub nie chcemy ich kompresować to ustawiamy $compress=0
Jeżeli dema nie są skompresowane to rozszerzenie ustawiamy na $cext=".dem" , w przeciwnym wypadku ustawiamy rozszerzenie w jakim są dostępne dema np $cext=".dem.gz", $cext=".dem.tgz", $cext=".dem.zip"

#USTAWIENIA BAZY DANYCH

my $DB_host = "localhost"; #adres
my $DB_port = "3306"; #port
my $DB_user = "user"; #uzytkownik
my $DB_pass = "password"; #haslo uzytkownika
my $DB_name = "dbname"; #nazwa bazy
my $DB_table = "hlds_dema"; #nazwa tabeli
my $DB_type = "mysql";


#FTP ZRODLOWY (zdalny HLDS) [[jesli $from==0]

my $ftp_host_from = "first.ftp.com"; #adres serwera
my $ftp_user_from = "login"; #login
my $ftp_pass_from = "password"; #haslo


#FTP DOCELOWY (zdalny WWW) [jesli $to==0]

my $ftp_host_to = "second.ftp.com"; #nazwa serwera
my $ftp_user_to = "login"; #login
my $ftp_pass_to = "password"; #haslo



#FOLDER ZRODLOWY (zdalny HLDS) [jesli $from==0]
my @FTPdir_from = ("", "/cstrike/");

#FTP DOCELOWY (zdalny WWW) [jesli $to==0]
my @FTPdir_to = ("", "/cstrike/dema/");

#FOLDER ZRODLOWY (lokalny HLDS) [jesli $from==1]
my @loc_dir_from = ("", "/home/user/cstrike/dema/");

#FOLDER DOCELOWY (lokalny WWW) [jesli $to==1]
my @loc_dir_to = ("", "/home/user/www/dema/");


Jeżeli na jednej maszynie znajduje się więcej niż jeden serwer z którego chcemy pobierać dema to możemy podać kolejne dema oddzielając je przecinkami, np dla kopiowania z FTP do Katalogu ($from=0, $to=1):

my @FTPdir_from = ("", "/serwer1/dema", "/serwer2/dema);
my @loc_dir_to = ("", "/home/user/www/dema", "/home/user/www/dema2");



WWW

$dbhost = 'localhost'; //adres bazy danych
$dbuser = 'user'; //uzytkownik
$dbpasswd = 'password'; //haslo
$dbname = 'dbname'; //nazwa bazy
$dbtable = 'hlds_dema'; //tabela

Dane serwera mysql.

$servers = array('', 'Serwer 1'); //wyswietlane nazwy serwerow
$folders = array('', 'dema/'); //katalogi w ktorych znajduja sie demka
$folder = "http://moj.serwer.pl/"; //adres z którego beda pobierane dema
$secret = 0; //serwer nr $secret widoczny tylko jesli $isgroup==TRUE


Przykładowo:

$folders = array('', 'serwerek');
$folder = "http: //amxx.pl/dema/"

I dema będą pobierane z adresu
http: //amxx.pl/dema/serwerek/nazwadema.zip
chociaż wyświetlane mogą być gdzie indziej.
Dzięki temu można ominąć np. limity transferu zmieniając serwer gdy zajdzie taka potrzeba.
  • +
  • -
  • 2

#2 haerde

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:98
  • GG:
  • Lokalizacja:Nysa
Offline

Napisano 19.05.2010 02:23

Mam taki problem, otóż:

XXX@vs1151112:/var/www/vhosts/Grajkownia.com/subdomains/dema/perl# ./dema.pl
Can't locate Compress/Zlib.pm in @INC (@INC contains: ./lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at lib/Archive/Zip.pm line 11.
BEGIN failed--compilation aborted at lib/Archive/Zip.pm line 11.
Compilation failed in require at ./dema.pl line 7.
BEGIN failed--compilation aborted at ./dema.pl line 7.

Skonfigurowałem wszystkie pliki, chmody są nadane. OS to Debian 5, perl 5.8.

Dzięki za pomoc,
haerde
  • +
  • -
  • 0

#3 mgr inż. Pavulon

    C35H60Br2N2O4

  • Autor tematu
  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 19.05.2010 09:18

Mam taki problem, otóż:

XXX@vs1151112:/var/www/vhosts/Grajkownia.com/subdomains/dema/perl# ./dema.pl
Can't locate Compress/Zlib.pm in @INC (@INC contains: ./lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at lib/Archive/Zip.pm line 11.
BEGIN failed--compilation aborted at lib/Archive/Zip.pm line 11.
Compilation failed in require at ./dema.pl line 7.
BEGIN failed--compilation aborted at ./dema.pl line 7.

Skonfigurowałem wszystkie pliki, chmody są nadane. OS to Debian 5, perl 5.8.

Dzięki za pomoc,
haerde


Spróbuj dorzucić zawartość tego archiwum: Załączony plik  lib.rar   117,76 KB  304 Ilość pobrań

  • +
  • -
  • 0

#4 haerde

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:98
  • GG:
  • Lokalizacja:Nysa
Offline

Napisano 19.05.2010 10:29

Niestety nadal jest to samo :(
:/var/www/vhosts/Grajkownia.com/subdomains/dema/perl# ./dema.pl
Can't locate Compress/Raw/Zlib.pm in @INC (@INC contains: ./lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at lib/Compress/Zlib.pm line 11.
BEGIN failed--compilation aborted at lib/Compress/Zlib.pm line 11.
Compilation failed in require at lib/Archive/Zip.pm line 11.
BEGIN failed--compilation aborted at lib/Archive/Zip.pm line 11.
Compilation failed in require at ./dema.pl line 7.
BEGIN failed--compilation aborted at ./dema.pl line 7.

  • +
  • -
  • 0

#5 mgr inż. Pavulon

    C35H60Br2N2O4

  • Autor tematu
  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 19.05.2010 10:45

Jeżeli masz możliwość instalowania poprzez CPAN'a to to zalecam.
cpan
install Compress::Raw::Zlib
jak nie to Załączony plik  Compress.rar   8,56 KB  295 Ilość pobrań
do folderu lib.
  • +
  • -
  • 0

#6 haerde

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:98
  • GG:
  • Lokalizacja:Nysa
Offline

Napisano 19.05.2010 11:06

Zainstalowałem przez cpan'a, lecz błąd nadal występuje :(.
  • +
  • -
  • 0

#7 mgr inż. Pavulon

    C35H60Br2N2O4

  • Autor tematu
  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 19.05.2010 13:43

Ale zapewne inny ;>
Bo już wcześniej pisałeś że jest "to samo" a były 2 inne błędy.

Jak masz dostęp do cpan'a to zainstaluj:
DBI
Date::Parse
Archive::Zip
Net::FTP
File::Copy

  • +
  • -
  • 0

#8 haerde

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:98
  • GG:
  • Lokalizacja:Nysa
Offline

Napisano 25.05.2010 02:35

Mam teraz następujący błąd:
/var/www/vhosts/Grajkownia.com/subdomains/dema/perl# ./dema.pl
Can't locate Compress/Zlib.pm in @INC (@INC contains: ./lib /etc/perl /usr/local            /lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr            /lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at lib/Archive/Zip            .pm line 11.
BEGIN failed--compilation aborted at lib/Archive/Zip.pm line 11.
Compilation failed in require at ./dema.pl line 7.
BEGIN failed--compilation aborted at ./dema.pl line 7.
root@vs1191142:/var/www/vhosts/Grajkownia.com/subdomains/dema/perl#

Oczywiście wszystko zainstalowałem przez Cpan'a tak jak radziłeś.
  • +
  • -
  • 0

#9 mgr inż. Pavulon

    C35H60Br2N2O4

  • Autor tematu
  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 25.05.2010 06:28

Teraz masz jakoś taki błąd jak na początku... :mur:
Skrypty do kompresji i wyświetlania dem - Nieoficjalny polski support AMX Mod X

Can't locate Compress/Zlib.pm in @INC

czyli instalujesz
Compress::Zlib

  • +
  • -
  • 0

#10 haerde

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:98
  • GG:
  • Lokalizacja:Nysa
Offline

Napisano 25.05.2010 19:36

Zrobiłem tak jak radziłeś i otrzymuję taki błąd:
root@vs1191142:/var/www/vhosts/Grajkownia.com/subdomains/dema/perl# ./dema.pl
Can't locate Compress/Zlib.pm in @INC (@INC contains: ./lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at lib/Archive/Zip.pm line 11.
BEGIN failed--compilation aborted at lib/Archive/Zip.pm line 11.
Compilation failed in require at ./dema.pl line 7.
BEGIN failed--compilation aborted at ./dema.pl line 7.

  • +
  • -
  • 0

#11 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 25.05.2010 20:00

Can't locate Compress/Zlib.pm in @INC (@INC contains: ./lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8
Zrobimy to "łopatologicznie":
wget http://cserwerek.pl/Compress.tar.gz
tar -xvf Compress.tar.gz
mv `pwd`/Compress /usr/lib/perl5

  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#12 haerde

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:98
  • GG:
  • Lokalizacja:Nysa
Offline

Napisano 25.05.2010 20:17

Niestety błąd wciąż występuje

root@vs1191142:/var/www/vhosts/Grajkownia.com/subdomains/dema/perl# ./dema.pl
Can't locate Compress/Zlib.pm in @INC (@INC contains: ./lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at lib/Archive/Zip.pm line 11.
BEGIN failed--compilation aborted at lib/Archive/Zip.pm line 11
Compilation failed in require at ./dema.pl line 7.
BEGIN failed--compilation aborted at ./dema.pl line 7.

Jeśli to coś pomoże, to dodam iż posiadam PLESK'a 9.3. Już miałem kilka problemów z tym związanych i wiem, że czasami wymagane były różne 'dziwne' rozwiązania.

Użytkownik haerde edytował ten post 25.05.2010 20:21

  • +
  • -
  • 0

#13 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 25.05.2010 20:22

ls /usr/lib/perl5

  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#14 haerde

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:98
  • GG:
  • Lokalizacja:Nysa
Offline

Napisano 25.05.2010 20:23

Apache   Archive  DBI        Locale        Mysql.pm     Win32

Apache2  auto     DBI.pm     ModPerl       Roadmap.pod  Zip

APR      Bundle   dialog.pl  mod_perl2.pm  TASKS.pod    Zip.pm

APR.pm   DBD      HTML       Mysql         Text


  • +
  • -
  • 0

#15 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 25.05.2010 20:30

Wykonaj operacje jeszcze raz, pomyliłem biblioteki wcześniej, linijki zaktualizowałem.
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#16 haerde

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:98
  • GG:
  • Lokalizacja:Nysa
Offline

Napisano 25.05.2010 20:34

Sprawdź proszę poprawność ścieżki, ponieważ na http://cserwerek.pl/Compress.tar.gz otwiera mi się Twoje forum, a archiwum brak.
  • +
  • -
  • 0

#17 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 25.05.2010 20:47

Mój błąd, znów pomyliłem archiwa, tym razem usunąłem nie to co trzeba ;>
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#18 haerde

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:98
  • GG:
  • Lokalizacja:Nysa
Offline

Napisano 25.05.2010 20:50

A teraz błąd jest jeszcze 'milszy':


root@vs1191142:/var/www/vhosts/Grajkownia.com/subdomains/dema/perl# ./dema.pl
Can't locate auto/Compress/Zlib/autosplit.ix in @INC (@INC contains: ./lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /usr/share/perl/5.8/AutoLoader.pm line 160.
 at /usr/lib/perl5/Compress/Zlib.pm line 6
Can't locate IO/Compress/Base/Common.pm in @INC (@INC contains: ./lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /usr/lib/perl5/Compress/Zlib.pm line 11.
BEGIN failed--compilation aborted at /usr/lib/perl5/Compress/Zlib.pm line 11.
Compilation failed in require at lib/Archive/Zip.pm line 11.
BEGIN failed--compilation aborted at lib/Archive/Zip.pm line 11.
Compilation failed in require at ./dema.pl line 7.
BEGIN failed--compilation aborted at ./dema.pl line 7.

  • +
  • -
  • 0

#19 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 26.05.2010 18:56

Po głębszych poszukiwaniach znalazłem ten że pakiet u siebie :) Swoją drogą zastanawia mnie preinstalowany perl bez modułów ;P

wget http://cserwerek.pl/auto.tar.gz
tar -xvf auto.tar.gz
mv `pwd`/auto /usr/lib/perl5

  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#20 vasco

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:3
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 12.07.2010 11:31

Witam a mnie wyskakuje następujący błąd:

error #03 :: Zle ID => 0

Co zrobiłem nie tak??
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych