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

Konta Neo.


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

#1 bisser

    Profesjonalista

  • Użytkownik

Reputacja: 7
Nowy

  • Postów:177
  • Lokalizacja:Zachód
Offline

Napisano 17.08.2009 11:33

Witam.

Używam na serwerze pluginu hugeban.amxx zrobionego przez Kobre z Ledspleja.

W związku z tym że serwer biega na dwóch protokołach czy idzie przerobić ten plugin aby wpuszczał
graczy którzy posiadają konto STEAM ale ich ip są w zablokowanej puli (.sma w załączniku).

Załączone pliki


  • +
  • -
  • 0

#2 KobraPL

    Życzliwy

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:23
Offline

Napisano 18.08.2009 10:58

Jedynym problemem jest fakt, że cracki na podwójne protokoły symulują STEAM_ID - trzeba by było sprawdzić, co zwraca get_user_authid dla no-steamowców.
Możesz spróbować w procedurach "client_connect" oraz "check_ip" dopisać po
new ipLarge,aLarge,bLarge
coś takiego
new authid[32]
	get_user_authid(id, authid, 32)
	if(equali("STEAM_", authid, 6)) 
		return PLUGIN_CONTINUE

Generalnie tego pluga już mam całkiem przepisanego (nie upubliczniam, bo musiałbym go poopisywać), więc opieram się na wersji, którą dałeś (masakrycznie mój kod mi się nie podoba :P). Przetestuj i daj znać.
  • +
  • -
  • 0

#3 bisser

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:177
  • Lokalizacja:Zachód
Offline

Napisano 18.08.2009 14:29

No nie wiem czy to przejdzie ponieważ STEAM_ID_LAN zakwalifikuje do wpuszczenia.

Tego pluga używam na serwerze z powodzeniem już 1.5 roku jest o wiele lepszy od tych które używają modułu netdb_amxx_i386.so. (fakt że kod jest masakryczny, ale skuteczny :> )

W nim przynajmniej można zablokować konkretne ip.

Jedyna wada to że nie sprawdza hasła przy połączeniu.
  • +
  • -
  • 0

#4 KobraPL

    Życzliwy

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:23
Offline

Napisano 19.08.2009 13:16

Właśnie patrzyłem na przypisywanie ID na LeDsplej i rzeczywiście NoSteam dostaje STEAM_ID_LAND, a Steam zwykłe ID Steamowe - przynajmniej crack, z którego ja korzystałem. W cfg znalazłem listę przypisywania ID:
# 1: Real steam (STEAM_xx:xx:xx)
# 2: Real valve (VALVE_xx:xx:xx)
# 3: STEAM_ by IP
# 4: VALVE_ by IP
# 5: Deprected - client will be rejected
# 6: reserved
# 7: HLTV
# 8: STEAM_ID_LAN
# 9: STEAM_ID_PENDING
# 10: VALVE_ID_LAN
# 11: VALVE_ID_PENDING
# 12: STEAM_666:88:666

a przypisywanie mam skonfigurowane tak:
cid_HLTV = 7
cid_NoSteam47 = 8
cid_NoSteam48 = 10
cid_Steam = 1

Problemu więc nie będzie, de facto trzeba przewidzieć 2 ID. Wystarczy zmienić:

new authid[32]
    get_user_authid(id, authid, 32)
    if(!( equali("STEAM_ID_LAN", authid) || equali("VALVE_ID_LAN", authid)))
        return PLUGIN_CONTINUE

  • +
  • -
  • 0

#5 bisser

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:177
  • Lokalizacja:Zachód
Offline

Napisano 19.08.2009 17:16

Widzę że też serwer jedzie dproto.

Ale z tego kodu co teraz podałeś, jak sądzę, to serwer będzie wpuszczał
wszystkich nonsteamowców, a ma być odwrotnie.
  • +
  • -
  • 0

#6 KobraPL

    Życzliwy

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:23
Offline

Napisano 19.08.2009 19:35

Widzę że też serwer jedzie dproto.

Ale z tego kodu co teraz podałeś, jak sądzę, to serwer będzie wpuszczał
wszystkich nonsteamowców, a ma być odwrotnie.

Niee, zupełnie odwrotnie:

Założenie: JEŚLI ( NIE ( NS48 LUB NS47) ) przerwij plug
1. Wchodzi STEAMowiec:
NIE ( fałsz LUB fałsz) = NIE (fałsz) = prawda

2. Wchodzi NS p47
NIE ( fałsz LUB prawda ) = NIE ( prawda ) = fałsz

3. Wchodzi NS p48
NIE ( prawda LUB fałsz ) = NIE ( prawda ) = fałsz


Generalnie return PLUGIN_CONTINUE przerywa dalsze działanie danej procedury - mylisz pewnie z ludzki tłumaczeniem "kontynuuj plugin" :P
  • +
  • -
  • 0

#7 bisser

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:177
  • Lokalizacja:Zachód
Offline

Napisano 20.08.2009 06:31

Przy kompilacji wyszła kaszana :
/groups/amxmodx/tmp3/textfoAaB7.sma(20) : warning 217: loose indentation
/groups/amxmodx/tmp3/textfoAaB7.sma(25) : warning 217: loose indentation
/groups/amxmodx/tmp3/textfoAaB7.sma(117) : warning 209: function "client_connect" should return a value
/groups/amxmodx/tmp3/textfoAaB7.sma(127) : warning 217: loose indentation
/groups/amxmodx/tmp3/textfoAaB7.sma(128) : error 017: undefined symbol "id"
/groups/amxmodx/tmp3/textfoAaB7.sma(128) : warning 215: expression has no effect
/groups/amxmodx/tmp3/textfoAaB7.sma(128) : warning 215: expression has no effect
/groups/amxmodx/tmp3/textfoAaB7.sma(128) : error 001: expected token: ";", but found ")"
/groups/amxmodx/tmp3/textfoAaB7.sma(128) : error 029: invalid expression, assumed zero
/groups/amxmodx/tmp3/textfoAaB7.sma(128) : fatal error 107: too many error messages on one line

  • +
  • -
  • 0

#8 KobraPL

    Życzliwy

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:23
Offline

Napisano 25.08.2009 13:06

Wklej plz cały plug (sma) z tymi zmianami.
  • +
  • -
  • 0

#9 bisser

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:177
  • Lokalizacja:Zachód
Offline

Napisano 25.08.2009 13:50

Oki.

Załączone pliki


  • +
  • -
  • 0




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

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