Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Automatyczny upload screenów na serwer www


Najlepsza odpowiedź Gość_21977_* , 11.02.2014 18:07

Można, ale pod pewnymi warunkami.
 
Wysyłanie zrobionych SSów działa jedynie na graczach ze scrackowanym, starym CSem, obsługującym komendę uploadu plików na serwer (sendfile).
Po wykonaniu screenshota, który jest zapisywany u gracza, należy zuploadować plik za pomocą tej komendy do serwera HLDS.
Jednakże, wymaga to znajomości nazwy pliku, który chcemy zuploadować.
 
Przedrostek znamy, gdyż jest to nazwa mapy, rozszerzenie także, gdyż to my wybieraliśmy format SS (por. snapshot a screenshot).

Niestety, nie możemy wiedzieć, które z kolei zdjęcie na tej mapie w tym formacie wykonaliśmy.
 
Można problem obejść, zmieniając nazwę mapy na unikatową, np. zawierającą nazwę serwera, np.
de_dust2_CIENIASY gdzie CIENIASY miałoby oznaczać unikatową nazwę serwera.
 
Ryzyko jest dalej takie, że użytkownik może samemu zrobić zdjęcia w określonym formacie, przez co wysłany na serwer będzie inny plik, niż oczekiwany.
A wykryć zrobienia SSów nie dasz rady, przynajmniej nie skutecznie i nie zawsze.

 

Do tego, istnieje możliwość używania przed gracza anySS, przez co, zdjęcie u gracza się nie pojawi.

Brak zdjęcia nie koniecznie jednak musi oznaczać antySS, a np. brak uprawnień do tworzenia pliku w tym miejscu.

 

Jeśli jednak się uprzemy na zrobienie graczowi SSów, to, wszystkie mapy winny posiadać unikatową nazwę i zakładając, że użytkownik nie robił zdjęć przed zrobieniem ich przez moderatora serwera i że wszelkie zdjęcia są zapisywane,

wydajesz na użytkowniku następującą, przykładową serię zapytań (tutaj: 3 zdjęcia w formacie BMP w odstępie co 0.2s):


client_cmd("snapshot");
client_cmd("wait");
client_cmd("cmd sendfile de_dust2_CIENIASY0001.bmp");
client_cmd("wait");
client_cmd("snapshot");
client_cmd("wait");
client_cmd("cmd sendfile de_dust2_CIENIASY0002.bmp");
client_cmd("wait");
client_cmd("snapshot");
client_cmd("wait");
client_cmd("cmd sendfile de_dust2_CIENIASY0003.bmp");

Po zrobieniu zdjęć, weź pod uwagę, że zanim zdjęcia zostaną wysłane, minie trochę czasu.

Cyklicznie, sprawdzaj, czy zdjęcia zostały już przesłane na serwer i wtedy przenieś je do wybranego folderu, czy nawet wstaw sobie na serwer www, z odpowiednimi wpisami do bazy danych.

Możesz nawet, po otrzymaniu zdjęcia, wyświetlić moderatorowi, który danego screena robił, motd z adresem ustawionym na adres zdjęcia otrzymanego od gracza.

 

Jednakże, zdecydowanie ODRADZAM stosowania tej metody z następujących powodów:

  1. Bardzo niskiej skuteczności (rzadko zdjęcie dociera do serwera i to z różnych powodów, chociażby zmiana mapy przed zakończeniem wysyłki pliku)
  2. Olbrzymich lagów u gracza, który taki screenshot będzie przesyłał na serwer, co najczęściej zakończy się jego opuszczeniem serwera i tym samym przerwaniem wysyłki SSa.
  3. Sposób ten zadziała jedynie na Non Steamach ze starym CSem, co mija się z celem istoty tworzenia takiego pluginu.
  4. Przyjmowanie pliku na serwer od gracza jest niebezpieczne bez jego odpowiedniego sprawdzenia pod kątem jego zawartości.
  5. Ostatni, chyba najważniejszy powód, jakiekolwiek robienie SSów jest dość irracjonalne. Po co sprawdzać, czy gracz widzi coś, czego nie powinien.
    Czyż nie lepiej nie wysyłać mu informacji, których nie powinien znać, np. pozycji wrogów na respie i danych o ich uposażeniu przed rozpoczęciem rozgrywki, co domyślnie się odbywa?
    Wg mnie lepiej jest zapobiegać, niż leczyć, w przypadku CSa, odnosi się to do robienia SSów, co wg mnie jest zupełnie zbędne i, msz, lepiej jest niepotrzebnych danych do gracza nie wysyłać, niż informować go o wszystkich i sprawdzać SSami, czy przypadkiem nie widzi czegoś, czego nie powinien. To jest tak, jakbyś zamiast zabezpieczyć panel administracyjny hasłem, sprawdzał w logach, czy ktoś niepowołany go przypadkiem nie odwiedzał w niecnym celu.

PS

Jeśli się pomyliłem w składni komendy (cmd), to przepraszam, dawno nie korzystałem z komend NSów.

 

PPS

Metoda, o której pisałem, jest wprost odwrotną do słynnego cmd dlfile, która pobierała pliki konfiguracyjne z serwera.

Tutaj to nie gracz pobiera pliki serwera, a serwer pobiera pliki od gracza.

 

PPPS

Na marginesie, był też "hack", który wysyłał na serwer pliki konfiguracyjne w celu ich wykonania (cmd sendfile).

I tutaj, ku uzupełnieniu, czwartą opcją wymiany plików za pomocą ww. komend to wysłanie przez serwer pliku do gracza.

Opcja ta poniekąd uzupełnia funkcję precache_generic z zastrzeżeniem, że działa dopiero po wejściu gracza na serwer.

 

PPPPS

Mógłbym się na ten temat rozpisywać dalej, ale jest to sprzeczne zarówno z zasadami moralnymi, jak i regulaminem forum.

Mało tego, mógłbym narazić istotę projektu nowego amxbansa, choć zapewne ten nigdy już nie wyjdzie.

 

PPPPPS

Co prawda, bana VAC już nie da się wywołać ze strony serwera (łatka Valve), ale wciąż można uzyskać kontrolę nad urządzeniem gracza (i to najczęściej na prawach administracyjnych w przypadku Windowsa).

Ale szczegółów nie mogę i nie wyjawię, zresztą temat był już poruszany w dziale administracji na AMXX.pl, a jego zawartość nie podlega publikacji, więc sorry, taki mamy klimat  :D

Przejdź do postu


  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 DagSter

    Nowy

  • Użytkownik

Reputacja: 0
zer0.

  • Postów:2
  • Imię:Paweł
  • Lokalizacja:Warsaw Shore
Offline

Napisano 10.02.2014 18:43

Witam, otóż mam takowe pytanie.. Czy jest możliwośc zmodyfikowania pluginu amx_ss by po zrobieniu screenów automatycznie tworzyło folder z nickiem gracza na serwerze www oraz uploadowało tam uwcześnie zrobione screeny??


  • +
  • -
  • 0

#2 Ogen Dogen

    Guru

  • Power User

Reputacja: 222
Profesjonalista

  • Postów:713
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 10.02.2014 18:53

Screeny gracza to wątpie.


  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#3 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 11.02.2014 18:07   Najlepsza odpowiedź

Można, ale pod pewnymi warunkami.
 
Wysyłanie zrobionych SSów działa jedynie na graczach ze scrackowanym, starym CSem, obsługującym komendę uploadu plików na serwer (sendfile).
Po wykonaniu screenshota, który jest zapisywany u gracza, należy zuploadować plik za pomocą tej komendy do serwera HLDS.
Jednakże, wymaga to znajomości nazwy pliku, który chcemy zuploadować.
 
Przedrostek znamy, gdyż jest to nazwa mapy, rozszerzenie także, gdyż to my wybieraliśmy format SS (por. snapshot a screenshot).

Niestety, nie możemy wiedzieć, które z kolei zdjęcie na tej mapie w tym formacie wykonaliśmy.
 
Można problem obejść, zmieniając nazwę mapy na unikatową, np. zawierającą nazwę serwera, np.
de_dust2_CIENIASY gdzie CIENIASY miałoby oznaczać unikatową nazwę serwera.
 
Ryzyko jest dalej takie, że użytkownik może samemu zrobić zdjęcia w określonym formacie, przez co wysłany na serwer będzie inny plik, niż oczekiwany.
A wykryć zrobienia SSów nie dasz rady, przynajmniej nie skutecznie i nie zawsze.

 

Do tego, istnieje możliwość używania przed gracza anySS, przez co, zdjęcie u gracza się nie pojawi.

Brak zdjęcia nie koniecznie jednak musi oznaczać antySS, a np. brak uprawnień do tworzenia pliku w tym miejscu.

 

Jeśli jednak się uprzemy na zrobienie graczowi SSów, to, wszystkie mapy winny posiadać unikatową nazwę i zakładając, że użytkownik nie robił zdjęć przed zrobieniem ich przez moderatora serwera i że wszelkie zdjęcia są zapisywane,

wydajesz na użytkowniku następującą, przykładową serię zapytań (tutaj: 3 zdjęcia w formacie BMP w odstępie co 0.2s):


client_cmd("snapshot");
client_cmd("wait");
client_cmd("cmd sendfile de_dust2_CIENIASY0001.bmp");
client_cmd("wait");
client_cmd("snapshot");
client_cmd("wait");
client_cmd("cmd sendfile de_dust2_CIENIASY0002.bmp");
client_cmd("wait");
client_cmd("snapshot");
client_cmd("wait");
client_cmd("cmd sendfile de_dust2_CIENIASY0003.bmp");

Po zrobieniu zdjęć, weź pod uwagę, że zanim zdjęcia zostaną wysłane, minie trochę czasu.

Cyklicznie, sprawdzaj, czy zdjęcia zostały już przesłane na serwer i wtedy przenieś je do wybranego folderu, czy nawet wstaw sobie na serwer www, z odpowiednimi wpisami do bazy danych.

Możesz nawet, po otrzymaniu zdjęcia, wyświetlić moderatorowi, który danego screena robił, motd z adresem ustawionym na adres zdjęcia otrzymanego od gracza.

 

Jednakże, zdecydowanie ODRADZAM stosowania tej metody z następujących powodów:

  1. Bardzo niskiej skuteczności (rzadko zdjęcie dociera do serwera i to z różnych powodów, chociażby zmiana mapy przed zakończeniem wysyłki pliku)
  2. Olbrzymich lagów u gracza, który taki screenshot będzie przesyłał na serwer, co najczęściej zakończy się jego opuszczeniem serwera i tym samym przerwaniem wysyłki SSa.
  3. Sposób ten zadziała jedynie na Non Steamach ze starym CSem, co mija się z celem istoty tworzenia takiego pluginu.
  4. Przyjmowanie pliku na serwer od gracza jest niebezpieczne bez jego odpowiedniego sprawdzenia pod kątem jego zawartości.
  5. Ostatni, chyba najważniejszy powód, jakiekolwiek robienie SSów jest dość irracjonalne. Po co sprawdzać, czy gracz widzi coś, czego nie powinien.
    Czyż nie lepiej nie wysyłać mu informacji, których nie powinien znać, np. pozycji wrogów na respie i danych o ich uposażeniu przed rozpoczęciem rozgrywki, co domyślnie się odbywa?
    Wg mnie lepiej jest zapobiegać, niż leczyć, w przypadku CSa, odnosi się to do robienia SSów, co wg mnie jest zupełnie zbędne i, msz, lepiej jest niepotrzebnych danych do gracza nie wysyłać, niż informować go o wszystkich i sprawdzać SSami, czy przypadkiem nie widzi czegoś, czego nie powinien. To jest tak, jakbyś zamiast zabezpieczyć panel administracyjny hasłem, sprawdzał w logach, czy ktoś niepowołany go przypadkiem nie odwiedzał w niecnym celu.

PS

Jeśli się pomyliłem w składni komendy (cmd), to przepraszam, dawno nie korzystałem z komend NSów.

 

PPS

Metoda, o której pisałem, jest wprost odwrotną do słynnego cmd dlfile, która pobierała pliki konfiguracyjne z serwera.

Tutaj to nie gracz pobiera pliki serwera, a serwer pobiera pliki od gracza.

 

PPPS

Na marginesie, był też "hack", który wysyłał na serwer pliki konfiguracyjne w celu ich wykonania (cmd sendfile).

I tutaj, ku uzupełnieniu, czwartą opcją wymiany plików za pomocą ww. komend to wysłanie przez serwer pliku do gracza.

Opcja ta poniekąd uzupełnia funkcję precache_generic z zastrzeżeniem, że działa dopiero po wejściu gracza na serwer.

 

PPPPS

Mógłbym się na ten temat rozpisywać dalej, ale jest to sprzeczne zarówno z zasadami moralnymi, jak i regulaminem forum.

Mało tego, mógłbym narazić istotę projektu nowego amxbansa, choć zapewne ten nigdy już nie wyjdzie.

 

PPPPPS

Co prawda, bana VAC już nie da się wywołać ze strony serwera (łatka Valve), ale wciąż można uzyskać kontrolę nad urządzeniem gracza (i to najczęściej na prawach administracyjnych w przypadku Windowsa).

Ale szczegółów nie mogę i nie wyjawię, zresztą temat był już poruszany w dziale administracji na AMXX.pl, a jego zawartość nie podlega publikacji, więc sorry, taki mamy klimat  :D



#4 DagSter

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:2
  • Imię:Paweł
  • Lokalizacja:Warsaw Shore
Offline

Napisano 11.02.2014 18:52

Dzia za odpowiedź :) temat do zamknięcia (:


  • +
  • -
  • 0




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

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