#47 przez Sru
Pn, 31 sie 2009, 18:44
Poniższy artykuł zawiera instrukcję jak udostępnić spakowane dema na stronie www w przypadku gdy mamy stronę na zwenętrznym hostingu w stosunku do serwera cs na naszym dedyku.
Sprawa nie jest skomplikowana, wymaga jedynie czytania ze zrozumieniem i trochę rozumu - już bardziej łopatologicznie nie umiałem tego napisać.

Całość składa się z 2 części tj.
1. Zainstalowania (za dużo powiedziane, bardziej pasuje skopiowania) u siebie na dedyku skryptu który zajmie się spakowaniem i przesłaniem plików na ftp.
2. Wrzucenia do odpowiedniego katalogu skryptu prezentującego pliki (w tym wypadku dema).



Instalacja:
Najpierw zajmiemy się skryptem który wysyła dema. Ściągamy załącznik (wysylanie.zip), rozpakowujemy - otwieramy w jakims edytorze tekstu i ustawiamy swoje dane (co i jak jest poniżej).

> Ustawienie skryptu (to co należy zmienić jest na kolorowo):

Należy ustawić adres serwera ftp, użytkownika ftp i hasło na ftp
oraz docelowy folder na ftp do którego będą wrzucane dema, oraz ścieżkę do katalogu cstrike w którym znajdują się nagrywane dema



_host="host"
_user="uzytkownik"
_pass="haslo"

_pliki="*.zip"
katalog_zdalny="dema"
katalog_lokalny="outbox"
katalog_cstrike="$HOME/hlds_l/cstrike/*.dem"

//tego już nie ruszacie
mkdir $katalog_lokalny
find $katalog_cstrike -mmin +2 -exec mv {} $katalog_lokalny \;
gzip -1f -S .zip $katalog_lokalny/*.dem

cd $katalog_lokalny
ftp -in $_host << KONIEC
user $_user $_pass
binary
mkdir $katalog_zdalny
cd $katalog_zdalny
send $_pliki
close
KONIEC

rm -f $katalog_lokalny


Wrzucamy na serwer (najlepiej do katalogu domowego - w innym wypadku należy poprawić ścieżki odpowiednio). Kolejną rzeczą jest ustawienie prawa do wykonywania
aby to zrobić, wpisujemy
Kod: Zaznacz całychmod +x ./wysylanie.sh

Wiadomo że nie będziemy co chwilę się łączyć do serwera i uruchamiać skrypt aby dema pojawiły się na stronie. W tym celu dodamy wpis do CRONTAB'a uruchamiający powiedzmy co 10 minut (dema będą dodawane min. 2 a max 10 minut po zakończeniu mapy).

wpisujemy
Kod: Zaznacz całycrontab -e

wciskamy insert i wpisujemy to:
*/10 * * * * ./wysylanie.sh


następnie wciskamy esc i shift+zz




Działanie skryptu:
1.Szukamy dem w katalogu cstrike do którego należy podać scieżkę
2. Pliki które zostały zmodyfikowane ostatnio później niż 2 minuty zostają przenoszone do katalogu "outbox" (katalog sam się utworzy, nie trzeba nic robić a po wysłaniu demek zostanie usunięty wraz z zawartością). Warunek modyfikacji > 2 min chroni przed kopiowaniem dem które się aktualnie nagrywają.
3. Po przeniesieniu plików .dem do tymczasowego katalogu zostają one spakowane gzipem.
4. Następnie następuje połączenie z serwerem ftp i upload spakowanych plików.
5. Po wysłaniu dema z tymczasowego folderu wraz z nim są usuwane.

Do działania oczywiście wymagany jest zainstalowany klient ftp, oraz gzip (ja zrobilem na podstawowym ftp bo najczęściej jest on wbudowany w podstawową instalację linuksa ale mozna po małych modyfikacjach skorzystać z innych). Katalog w którym znajduje się wysylanie.sh musi miec prawa zapisu - proponuje w $home go zostawić



Gdy już mamy dema na naszym ftp w katalogu który ustawiliśmy (w naszym wypadku katalog będzie się nazywał dema). Wrzucacmy załącznik dema.php do katalogu głównego ftp - chodzi o to aby plik dema.php był w tym samym katalogu co katalog "dema". Uwaga jeśli zmienialiśmy nazwę katalogu w skrypcie do którego są wysyłane dema, należy również w dema.php to zmienić (na samym początku).


Skrypt działa, testowałem - co prawda na jednym pliku .dem więc jeśli byłyby problemy z niepakowaniem wiekszej ilości plików przed wysłaniem to proszę o PW. Jeśli ktoś nie ma pojęcia jak to zrobić po przeczytaniu tego to niech da sobie spokój, ponieważ wszystko ogranicza się do wpisania odpowiednich danych. Skrypt pisałem kilka minut, może ktoś znajdzie lepsze rozwiązanie.


Przykład zastosowania: http://piaskownica.do.pl/dema

Podobne wątki Statistics Ostatni post
PO STRONIE SPRAWIEDLIWOSCI
przez defroy So, 23 cze 2012, 10:31 w Skargi
1 Odpowiedzi
906 Wyświetlone

Avatar użytkownika

przez enron
So, 23 cze 2012, 11:29
Status serwera Counter Strike na stronie - prosty trick
przez Sru Wt, 23 lut 2010, 11:32 w Dodatki CS 1.6/Webmastering
3 Odpowiedzi
16229 Wyświetlone

Avatar użytkownika

przez Sru
Pt, 25 gru 2015, 19:36
Anna Jantar/Natalia Kukulska - Po tamtej stronie 2 CD (2005)
przez wicek13 So, 19 lut 2011, 12:48 w Kosz
0 Odpowiedzi
1221 Wyświetlone

Avatar użytkownika

przez wicek13
So, 19 lut 2011, 12:48
Dema - "Jutro tez bedzie dzien"
przez BrokenNote So, 27 kwi 2013, 13:56 w Skargi
1 Odpowiedzi
891 Wyświetlone

Avatar użytkownika

przez makelele
So, 27 kwi 2013, 22:02
hltv!!!
przez utolek Pn, 1 lis 2010, 16:13 w Propozycje
10 Odpowiedzi
1628 Wyświetlone

Avatar użytkownika

przez enron
Wt, 16 lis 2010, 12:07
HLTV
przez *Pompa* Śr, 26 cze 2013, 16:21 w Serwerowy offtopic
2 Odpowiedzi
1678 Wyświetlone

Avatar użytkownika

przez *Pompa*
Pt, 28 cze 2013, 18:02
HLTV?
1, 2 przez Sru Pn, 19 lip 2010, 19:13 w Propozycje
16 Odpowiedzi
3281 Wyświetlone

Avatar użytkownika

przez undertaker
Wt, 3 sie 2010, 14:11
Modele HLTV
przez Sru N, 7 gru 2014, 23:26 w Poradniki
0 Odpowiedzi
2908 Wyświetlone

Avatar użytkownika

przez Sru
N, 7 gru 2014, 23:26
HLTV z FFA
przez keNzooo Wt, 27 mar 2012, 08:21 w Serwerowy offtopic
2 Odpowiedzi
1425 Wyświetlone

Avatar użytkownika

przez keNzooo
Wt, 27 mar 2012, 12:37
Polska a HLTV.org
przez MarkedOne Pn, 12 lip 2010, 10:22 w Kosz
4 Odpowiedzi
1622 Wyświetlone

Avatar użytkownika

przez MarkedOne
N, 3 paź 2010, 19:11

Kto przegląda forum

Zidentyfikowani użytkownicy: Google[BOT], Sogou [Bot], Tbot