Forum ChaosCreators Strona Główna
  FAQ  Szukaj  Użytkownicy  Grupy  Galerie   Rejestracja   Profil  Zaloguj się, by sprawdzić wiadomości  Zaloguj 

Szybsze pobieranie map z serwera

Napisz nowy tematOdpowiedz do tematu Forum ChaosCreators Strona Główna -> Kompendium wiedzy o HLDS
Zobacz poprzedni temat :: Zobacz następny temat
Autor Wiadomość
Vest
Administrator
Administrator



Dołączył: 05 Kwi 2008
Posty: 311
Przeczytał: 0 tematów

Pomógł: 7 razy
Ostrzeżeń: 0/5
Skąd: Katowice
Płeć: Chłopczyk

PostWysłany: Nie 15:02, 06 Kwi 2008 Temat postu: Szybsze pobieranie map z serwera

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 wszstko 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 srpawa to to, że wiele zależy od ustawień Internet Explorera klienta, jesli ma zrypane ustawienia to zacznie ściągac starą metodą (albo wogóle).

Powiedzmy ze mamy taką oto ścieżkę lokalna (może to by np symbolic link (symlink))
Cytat:
/var/www/html/sciezka/do/hlds_l/cstrike



która jest dostępna z zewnętrz poprzez url
Cytat:
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)
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
Cytat:
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
Cytat:
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
Cytat:
http://nasz.serwer.com.pl/sciezka/do/hlds_l/czero



z użyciem
Cytat:
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)
Cytat:
sv_downloadurl [link widoczny dla zalogowanych]



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)
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 [link widoczny dla zalogowanych]

.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).
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.
Aby serwer nie tworzy skompresowanych plików .ztmp w katalogach serwera dodaj do server.cfg poniższą linię
Cytat:
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.
Serwer sam z siebie nie kasuje plików .ztmp - musimy je skasować ręcznie.

Banner

Uwaga -jakiś czas temu Valve zmieniło system bannerów i moglą one nie działać porawnie.
Parokrotnie widzieliście jak pojawia się logo podczas ściągania zasobów z serwera. Pokazywany jest banner o rozmiarach 340x56, musi to być plik
Cytat:
gfx/banner.gif



Czyli musi być w podkatalogu gfx na serwerze WWW tam gdzie macie ustawione sv_downloadurl.
Jesli macie np adres:
Cytat:
sv_downloadurl "http://nasz.serwer.com.pl/sciezka/do/hlds_l/cstrike/"



to banner musi być pod adresem:
Cytat:
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 [link widoczny dla zalogowanych]
Przykładem jest dlurl_mirror, którego jestem autorem : (stare ale działa, aczkolwiek trzebaby 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...
Tłumaczenie: kiedyś....
[link widoczny dla zalogowanych]

Bezpieczeństwo

Warto oczywiście zabezpieczyć dostęp porzez 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 testury .tga - do odpowiedniego katalogu (zachowując strukturę katalogów). dopiero wtedy linkowac z sv_downloaurl.

Ale jeśli nie ma co się bawic w marnowanie miejsca na serwerze, to można pobawić sie w prosty sposób funckją .htaccess na serwerze wyposażonym w Apache. Przył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:
Cytat:
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>


Źródło : [link widoczny dla zalogowanych]


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
seba76
Przyjaciel
Przyjaciel



Dołączył: 05 Kwi 2008
Posty: 1340
Przeczytał: 0 tematów

Pomógł: 9 razy
Ostrzeżeń: 0/5
Skąd: Katowice
Płeć: Chłopczyk

PostWysłany: Nie 23:10, 06 Kwi 2008 Temat postu:

Można skorzystać z [link widoczny dla zalogowanych]

tylko ludzie, patrzcie gdzie pliki wrzucacie !!!!!!!
Kod:
Upload to:
New subdirectory? Name:
(will be created inside the selected directory)


Nie róbmy syfu !!!!

Zawsze w Upload to: musi cyć /server/cstrike/...... !!!!!
======================================
Niestety, "gameloaderz" nie hostuje już plików free.


Post został pochwalony 0 razy

Ostatnio zmieniony przez seba76 dnia Śro 8:32, 30 Kwi 2008, w całości zmieniany 3 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:
Napisz nowy tematOdpowiedz do tematu Forum ChaosCreators Strona Główna -> Kompendium wiedzy o HLDS Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1


Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB Š 2001, 2005 phpBB Group
Theme bLock created by JR9 for stylerbb.net
Regulamin