Pobieranie map z WWW

Od HLDS.pl
(Różnice między wersjami)
Skocz do: nawigacji, wyszukiwania
(.ztmp)
(literowki)
 
(Nie pokazano 7 wersji utworzonych przez jednego użytkownika)
Linia 3: Linia 3:
 
Artykuł porusza kwestię zmiennej sv_downloadurl stosowanej na platformie Steam w  [[HLDS]] i [[SRCDS]].
 
Artykuł porusza kwestię zmiennej sv_downloadurl stosowanej na platformie Steam w  [[HLDS]] i [[SRCDS]].
  
Zobacz także [[Niestandardowe_Mapy]]
+
Co więcej ten artykuł jest napisany z myślą o serwerach [[WWW]] (czyli wszelkie linki będą poprzez http://) ale można także użyć serwera [[FTP]] (czyli wtedy wszelkie linki powinny się zaczynać od ftp://)
 +
 
 +
Powróć do [[Niestandardowe_Mapy]].
  
 
= Szybkie pobieranie z WWW =
 
= Szybkie pobieranie z WWW =
Opcja ta jest dostępna od jakiegoś czasu w serwerach na platformie Steam.
+
Opcja ta jest dostępna od jakiegoś czasu w serwerach na platformie [[Steam]].
  
 
Jeśli mamy dostęp do serwera WWW możemy przyśpieszyć ściąganie plików z serwera
 
Jeśli mamy dostęp do serwera WWW możemy przyśpieszyć ściąganie plików z serwera
normalnie transfer wynosi jakieś 3k/s, z wykorzystaniem sv_downloadurl przeważnie idzie to 10x szybciej, jeśli nie jeszcze szybciej - zamiast np. 10 minut, gracz ściąga wszstko w minutę.
+
normalnie transfer wynosi jakieś 3k/s, z wykorzystaniem sv_downloadurl przeważnie idzie to 10x szybciej, jeśli nie jeszcze szybciej - zamiast np. 10 minut, gracz ściąga wszystko w minutę.
 
A na lanie... no cóż, wszystkie pliki zasysane są przeważnie w kilka sekund - jest to fantastyczne na lanparty.
 
A na lanie... no cóż, wszystkie pliki zasysane są przeważnie w kilka sekund - jest to fantastyczne na lanparty.
  
 
Funkcja sv_downloadurl oznacza, że musimy udostępnić pliki na WWW tak ja są one w katalogu cstrike . Oczywiście powinniśmy zabezpieczyć ważne pliki przed niepowołanym dostępem, np katalog addons, plik server.cfg, przy użyciu np plików .htaccess czy innych sposobów.
 
Funkcja sv_downloadurl oznacza, że musimy udostępnić pliki na WWW tak ja są one w katalogu cstrike . Oczywiście powinniśmy zabezpieczyć ważne pliki przed niepowołanym dostępem, np katalog addons, plik server.cfg, przy użyciu np plików .htaccess czy innych sposobów.
  
 +
<span style="color:red">UWAGA</span>: Zauważcie, że w sv_downloadurl na końcu <span style="color:red">nie ma</span> ukośnika!!!!
 +
Druga sprawa to to, że wiele zależy od ustawień  Internet Explorera klienta, jeśli ma zrypane ustawienia to zacznie ściągać starą metodą (albo wcale).
  
 
Powiedzmy ze mamy taką oto ścieżkę lokalna (może to by np symbolic link (symlink))
 
Powiedzmy ze mamy taką oto ścieżkę lokalna (może to by np symbolic link (symlink))
 
  /var/www/html/sciezka/do/hlds_l/cstrike
 
  /var/www/html/sciezka/do/hlds_l/cstrike
która jest dostępna z zewnętrz poprzez url
+
która jest dostępna z zewnątrz poprzez url
 
  http://nasz.serwer.com.pl/sciezka/do/hlds_l/cstrike
 
  http://nasz.serwer.com.pl/sciezka/do/hlds_l/cstrike
  
Katalogi muszą mieć możliwość 'execute for everyone' (a dokładniej dla serwera WWW) a pliki 'read' (dla serwera WWW). W tym celu uzywamy w konsoli linuksowej polecenia chmod, pod Windows można pobawić się opcją Właściwości -> Zabezpieczenia, a przez FTP także opcją chmod (to gdzieś powinno być w kliencie FTP, file permissions)
+
Katalogi muszą mieć możliwość 'execute for everyone' (a dokładniej dla serwera WWW) a pliki 'read' (dla serwera WWW). W tym celu używamy w konsoli linuksowej polecenia chmod, pod Windows można pobawić się opcją Właściwości -> Zabezpieczenia, a przez FTP także opcją chmod (to gdzieś powinno być w kliencie FTP, file permissions)
  
 
Zaawansowani mogą dać ustawienie w konfiguracji Apache, ale to już jest w manualu do httpd.
 
Zaawansowani mogą dać ustawienie w konfiguracji Apache, ale to już jest w manualu do httpd.
Linia 45: Linia 49:
  
  
Często można do hostowania zawartości kilku publicznych serwerów gry używać 1 hosta WWW z różnymi ścieżkami (dla kazdego mod'a gry inny, np cstrike, dod, czero). Można albo wrzucić wszystkie pliki jakie są na serwerach do 1 katalogu, albo stworzy oddzielny katalog do downloadu dla każdego z nich (przeważnie strata miejsca)
+
Często można do hostowania zawartości kilku publicznych serwerów gry używać 1 hosta WWW z różnymi ścieżkami (dla każdego mod'a gry inny, np cstrike, dod, czero). Można albo wrzucić wszystkie pliki jakie są na serwerach do 1 katalogu, albo stworzy oddzielny katalog do downloadu dla każdego z nich (przeważnie strata miejsca)
  
 
Oczywiście nie musisz używać na końcu dokładnie nazwy cstrike, może być jakakolwiek ale poprawna (no ale to utrudnia życie)
 
Oczywiście nie musisz używać na końcu dokładnie nazwy cstrike, może być jakakolwiek ale poprawna (no ale to utrudnia życie)
 
Np można mieć dostęp do http://krzywy.host.dzies.w.com.pl/~stefan/dzika_malina/maps/de_biochem.bsp
 
Np można mieć dostęp do http://krzywy.host.dzies.w.com.pl/~stefan/dzika_malina/maps/de_biochem.bsp
 +
 
= .ztmp =
 
= .ztmp =
Pewnie po jakimś czasie zauwazycie pliki .ztmp w katalogach serwera. Pliki te są wykorzystywane do przesyłu danych do klienta - spakowane programem z/bzip2 zaoszczędzają czas i łącze, jeśli osoba ściaga pliki z serwera (jeśli funkcja downloadu jest aktywna i nie korzystamy z sv_downloadurl).
+
Pewnie po jakimś czasie zauważycie pliki .ztmp w katalogach serwera. Pliki te są wykorzystywane do przesyłu danych do klienta - spakowane programem z/bzip2 zaoszczędzają czas i łącze, jeśli osoba ściąga pliki z serwera (jeśli funkcja downloadu jest aktywna i nie korzystamy z sv_downloadurl).
  
Pliki jeśli są tworzone, to niestety nie są aktualizowane jeśli np wrzucimy nowszą wersję mapy czy dzwięków - dlatego trzeba się ich pozbywac ręcznie.
+
Pliki jeśli są tworzone, to niestety nie są aktualizowane jeśli np wrzucimy nowszą wersję mapy czy dźwięków - dlatego trzeba się ich pozbywać ręcznie.
  
 
Aby serwer nie tworzy skompresowanych plików .ztmp w katalogach serwera dodaj do server.cfg poniższą linię
 
Aby serwer nie tworzy skompresowanych plików .ztmp w katalogach serwera dodaj do server.cfg poniższą linię
 
  sv_filetransfercompression 0
 
  sv_filetransfercompression 0
  
Domyslnie wartośc zmiennej jest równa 1, ale jesli wykorzystujemy sv_downloadurl warto ustawić na 0 - zaoszczędzi to nam troche miejsca i bałaganu na serwerze gry.
+
Domyślnie wartość zmiennej jest równa 1, ale jeśli wykorzystujemy sv_downloadurl warto ustawić na 0 - zaoszczędzi to nam trochę miejsca i bałaganu na serwerze gry.
  
 
Serwer sam z siebie nie kasuje plików .ztmp - musimy je skasować ręcznie.
 
Serwer sam z siebie nie kasuje plików .ztmp - musimy je skasować ręcznie.
=Banner=
+
=Banner (nieaktualne!)=
'''Uwaga''' -jakiś czas temu Valve zmieniło system bannerów i moglą one nie działać porawnie.
+
'''Uwaga''' -jakiś czas temu Valve zmieniło system bannerów i niestety już nie da się ich podmieniać.
  
  
 
Parokrotnie widzieliście jak pojawia się logo podczas ściągania zasobów z serwera. Pokazywany jest banner o rozmiarach 340x56, musi to być plik  
 
Parokrotnie widzieliście jak pojawia się logo podczas ściągania zasobów z serwera. Pokazywany jest banner o rozmiarach 340x56, musi to być plik  
  gfx/banner.gif.
+
  gfx/banner.gif
 
Czyli musi być w podkatalogu gfx na serwerze WWW tam gdzie macie ustawione sv_downloadurl.
 
Czyli musi być w podkatalogu gfx na serwerze WWW tam gdzie macie ustawione sv_downloadurl.
  
Jesli macie np adres:
+
Jeśli macie np adres:
 
  sv_downloadurl "http://nasz.serwer.com.pl/sciezka/do/hlds_l/cstrike/"
 
  sv_downloadurl "http://nasz.serwer.com.pl/sciezka/do/hlds_l/cstrike/"
 
to banner musi być pod adresem:
 
to banner musi być pod adresem:
 
  http://nasz.serwer.com.pl/sciezka/do/hlds_l/cstrike/gfx/banner.gif
 
  http://nasz.serwer.com.pl/sciezka/do/hlds_l/cstrike/gfx/banner.gif
 +
 
= Mirrory =
 
= Mirrory =
 
Istnieją też dodatki w PHP które dają możliwość używania kilku hostów do rozpowszechniania zawartości serwera na kilka maszyn (mirroring albo rozproszenie).
 
Istnieją też dodatki w PHP które dają możliwość używania kilku hostów do rozpowszechniania zawartości serwera na kilka maszyn (mirroring albo rozproszenie).
 
Szczególnie często używane na zachodzie, Niemcy np mają 3 hosty - jeden na stronę klanową, drugi na ftp i pliki www, a trzeci np na BNC i także na pliki WWW.
 
Szczególnie często używane na zachodzie, Niemcy np mają 3 hosty - jeden na stronę klanową, drugi na ftp i pliki www, a trzeci np na BNC i także na pliki WWW.
  
Przykładem jest dlurl_mirror, którego jestem autorem : (stare ale działa, aczkolwiek trzebaby odświeżyć)
+
Przykładem jest dlurl_mirror, którego jestem autorem : (stare ale działa, aczkolwiek trzeba by odświeżyć)
Można w nim ustawić nawet listę gdzie jakie pliki są - np na hoscie A są tylko pliki .bsp a na hoscie B tylko dźwięki...
+
Można w nim ustawić nawet listę gdzie jakie pliki są - np na hoście A są tylko pliki .bsp a na hoscie B tylko dźwięki...
  
 
Tłumaczenie: kiedyś....
 
Tłumaczenie: kiedyś....
Linia 83: Linia 89:
 
http://info.wsisiz.edu.pl/~sochon/page.php?id=19
 
http://info.wsisiz.edu.pl/~sochon/page.php?id=19
  
 +
=Bezpieczeństwo=
 +
Warto oczywiście zabezpieczyć dostęp poprzez WWW aby na przykład nie pobrał nap pliku server.cfg albo innych ważnych, w których mamy informacje o adminach czy logi serwera.
 +
Idealnym przypadkiem jest po prostu skopiować te dane które nie są ważne - czyli wszelkie podkatalogi z modelami, dźwiękami , mapami , pliki wad, i tekstury .tga - do odpowiedniego katalogu (zachowując strukturę katalogów). dopiero wtedy linkować z sv_downloaurl.
 +
 +
Ale jeśli nie ma co się bawić w marnowanie miejsca na serwerze, to można pobawić się w prosty sposób funkcją '''.htaccess''' na serwerze wyposażonym w [http://httpd.apache.org Apache].
 +
Przykład poniżej filtruje dostęp do plików:
 +
*.cfg - jak server.cfg czy amxx.cfg
 +
*.ini - jak plugins.ini, users.ini
 +
*.log - do logów serwera.
 +
*.dll i .so - pliki binarne.
 +
starczy że do katalogu np cstrike wrzucimy plik '''.htaccess''' (''z nadanymi na niego prawami 755'') i w nim zamieścimy poniższe linie:
 +
<c>
 +
Order Allow,Deny
 +
Allow from all
 +
 +
<Files *.ini>
 +
Order Deny,Allow
 +
Deny from all
 +
</Files>
 +
 +
<Files *.cfg>
 +
Order Deny,Allow
 +
Deny from all
 +
</Files>
  
 +
<Files *.log>
 +
Order Deny,Allow
 +
Deny from all
 +
</Files>
 +
<Files *.inf>
 +
Order Deny,Allow
 +
Deny from all
 +
</Files>
 +
<Files *.dll>
 +
Order Deny,Allow
 +
Deny from all
 +
</Files>
 +
<Files *.so>
 +
Order Deny,Allow
 +
Deny from all
 +
</Files>
 +
</c>
 
[[kategoria:Serwery gier]]
 
[[kategoria:Serwery gier]]
 
[[kategoria:HLDS]]
 
[[kategoria:HLDS]]

Aktualna wersja na dzień 23:05, 14 mar 2009

Spis treści

Opis

Artykuł porusza kwestię zmiennej sv_downloadurl stosowanej na platformie Steam w HLDS i SRCDS.

Co więcej ten artykuł jest napisany z myślą o serwerach WWW (czyli wszelkie linki będą poprzez http://) ale można także użyć serwera FTP (czyli wtedy wszelkie linki powinny się zaczynać od ftp://)

Powróć do Niestandardowe_Mapy.

Szybkie pobieranie z WWW

Opcja ta jest dostępna od jakiegoś czasu w serwerach na platformie Steam.

Jeśli mamy dostęp do serwera WWW możemy przyśpieszyć ściąganie plików z serwera normalnie transfer wynosi jakieś 3k/s, z wykorzystaniem sv_downloadurl przeważnie idzie to 10x szybciej, jeśli nie jeszcze szybciej - zamiast np. 10 minut, gracz ściąga wszystko w minutę. A na lanie... no cóż, wszystkie pliki zasysane są przeważnie w kilka sekund - jest to fantastyczne na lanparty.

Funkcja sv_downloadurl oznacza, że musimy udostępnić pliki na WWW tak ja są one w katalogu cstrike . Oczywiście powinniśmy zabezpieczyć ważne pliki przed niepowołanym dostępem, np katalog addons, plik server.cfg, przy użyciu np plików .htaccess czy innych sposobów.

UWAGA: Zauważcie, że w sv_downloadurl na końcu nie ma ukośnika!!!! Druga sprawa to to, że wiele zależy od ustawień Internet Explorera klienta, jeśli ma zrypane ustawienia to zacznie ściągać starą metodą (albo wcale).

Powiedzmy ze mamy taką oto ścieżkę lokalna (może to by np symbolic link (symlink))

/var/www/html/sciezka/do/hlds_l/cstrike

która jest dostępna z zewnątrz poprzez url

http://nasz.serwer.com.pl/sciezka/do/hlds_l/cstrike

Katalogi muszą mieć możliwość 'execute for everyone' (a dokładniej dla serwera WWW) a pliki 'read' (dla serwera WWW). W tym celu używamy w konsoli linuksowej polecenia chmod, pod Windows można pobawić się opcją Właściwości -> Zabezpieczenia, a przez FTP także opcją chmod (to gdzieś powinno być w kliencie FTP, file permissions)

Zaawansowani mogą dać ustawienie w konfiguracji Apache, ale to już jest w manualu do httpd.

Powinniśmy mieć możliwość swobodnego pobierania plików, np

http://nasz.serwer.com.pl/sciezka/do/hlds_l/cstrike/maps/de_biochem.bsp

Opcja wyświetlania zawartości katalogów nie jest wymagana - dzięki temu uzyskamy jeszcze wyższy poziom bezpieczeństwa na serwerze.

W takim ustawieniu dodajemy do server.cfg

sv_downloadurl "http://nasz.serwer.com.pl/sciezka/do/hlds_l/cstrike"

Uwaga adres w sv_downloadurl nie może mieć więcej niż 127 znaków.

Jeśli mamy serwer Condition-Zero możemy zrobić też katalog obok o nazwie

http://nasz.serwer.com.pl/sciezka/do/hlds_l/czero

z użyciem

sv_downloadurl "http://nasz.serwer.com.pl/sciezka/do/hlds_l/czero"


Można także użyć jakiegoś ogólnie dostępnego innego serwera WWW, który wiemy, że udostępnia pliki jakich także i my używamy (oczywiście jeśli serwer istnieje, poniższa linia jest wymyślona)

sv_downloadurl http://hosting.serwerow.com.pl/common/cstrike


Często można do hostowania zawartości kilku publicznych serwerów gry używać 1 hosta WWW z różnymi ścieżkami (dla każdego mod'a gry inny, np cstrike, dod, czero). Można albo wrzucić wszystkie pliki jakie są na serwerach do 1 katalogu, albo stworzy oddzielny katalog do downloadu dla każdego z nich (przeważnie strata miejsca)

Oczywiście nie musisz używać na końcu dokładnie nazwy cstrike, może być jakakolwiek ale poprawna (no ale to utrudnia życie) Np można mieć dostęp do http://krzywy.host.dzies.w.com.pl/~stefan/dzika_malina/maps/de_biochem.bsp

.ztmp

Pewnie po jakimś czasie zauważycie pliki .ztmp w katalogach serwera. Pliki te są wykorzystywane do przesyłu danych do klienta - spakowane programem z/bzip2 zaoszczędzają czas i łącze, jeśli osoba ściąga pliki z serwera (jeśli funkcja downloadu jest aktywna i nie korzystamy z sv_downloadurl).

Pliki jeśli są tworzone, to niestety nie są aktualizowane jeśli np wrzucimy nowszą wersję mapy czy dźwięków - dlatego trzeba się ich pozbywać ręcznie.

Aby serwer nie tworzy skompresowanych plików .ztmp w katalogach serwera dodaj do server.cfg poniższą linię

sv_filetransfercompression 0

Domyślnie wartość zmiennej jest równa 1, ale jeśli wykorzystujemy sv_downloadurl warto ustawić na 0 - zaoszczędzi to nam trochę miejsca i bałaganu na serwerze gry.

Serwer sam z siebie nie kasuje plików .ztmp - musimy je skasować ręcznie.

Uwaga -jakiś czas temu Valve zmieniło system bannerów i niestety już nie da się ich podmieniać.


Parokrotnie widzieliście jak pojawia się logo podczas ściągania zasobów z serwera. Pokazywany jest banner o rozmiarach 340x56, musi to być plik

gfx/banner.gif

Czyli musi być w podkatalogu gfx na serwerze WWW tam gdzie macie ustawione sv_downloadurl.

Jeśli macie np adres:

sv_downloadurl "http://nasz.serwer.com.pl/sciezka/do/hlds_l/cstrike/"

to banner musi być pod adresem:

banner.gif

Mirrory

Istnieją też dodatki w PHP które dają możliwość używania kilku hostów do rozpowszechniania zawartości serwera na kilka maszyn (mirroring albo rozproszenie). Szczególnie często używane na zachodzie, Niemcy np mają 3 hosty - jeden na stronę klanową, drugi na ftp i pliki www, a trzeci np na BNC i także na pliki WWW.

Przykładem jest dlurl_mirror, którego jestem autorem : (stare ale działa, aczkolwiek trzeba by odświeżyć) Można w nim ustawić nawet listę gdzie jakie pliki są - np na hoście A są tylko pliki .bsp a na hoscie B tylko dźwięki...

Tłumaczenie: kiedyś....

http://info.wsisiz.edu.pl/~sochon/page.php?id=19

Bezpieczeństwo

Warto oczywiście zabezpieczyć dostęp poprzez WWW aby na przykład nie pobrał nap pliku server.cfg albo innych ważnych, w których mamy informacje o adminach czy logi serwera. Idealnym przypadkiem jest po prostu skopiować te dane które nie są ważne - czyli wszelkie podkatalogi z modelami, dźwiękami , mapami , pliki wad, i tekstury .tga - do odpowiedniego katalogu (zachowując strukturę katalogów). dopiero wtedy linkować z sv_downloaurl.

Ale jeśli nie ma co się bawić w marnowanie miejsca na serwerze, to można pobawić się w prosty sposób funkcją .htaccess na serwerze wyposażonym w Apache. Przykład poniżej filtruje dostęp do plików:

  • .cfg - jak server.cfg czy amxx.cfg
  • .ini - jak plugins.ini, users.ini
  • .log - do logów serwera.
  • .dll i .so - pliki binarne.

starczy że do katalogu np cstrike wrzucimy plik .htaccess (z nadanymi na niego prawami 755) i w nim zamieścimy poniższe linie:

Order Allow,Deny
Allow from all
 
<Files *.ini>
	Order Deny,Allow
	Deny from all
</Files>
 
<Files *.cfg>
	Order Deny,Allow
	Deny from all
</Files>
 
<Files *.log>
	Order Deny,Allow
	Deny from all
</Files>
<Files *.inf>
	Order Deny,Allow
	Deny from all
</Files>
<Files *.dll>
	Order Deny,Allow
	Deny from all
</Files>
<Files *.so>
	Order Deny,Allow
	Deny from all
</Files>
Osobiste
Przestrzenie nazw
Warianty
Działania
HLDS.pl - Menu:
Inne
IRC
Inne sekcje:
Znajomi:
Narzędzia