←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Konta Neo.

Zablokowany

  • +
  • -
bisser - zdjęcie bisser 17.08.2009

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

Odpowiedz

  • +
  • -
KobraPL - zdjęcie KobraPL 18.08.2009

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ć.
Odpowiedz

  • +
  • -
bisser - zdjęcie bisser 18.08.2009

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.
Odpowiedz

  • +
  • -
KobraPL - zdjęcie KobraPL 19.08.2009

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
Odpowiedz

  • +
  • -
bisser - zdjęcie bisser 19.08.2009

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.
Odpowiedz

  • +
  • -
KobraPL - zdjęcie KobraPL 19.08.2009

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
Odpowiedz

  • +
  • -
bisser - zdjęcie bisser 20.08.2009

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
Odpowiedz

  • +
  • -
KobraPL - zdjęcie KobraPL 25.08.2009

Wklej plz cały plug (sma) z tymi zmianami.
Odpowiedz

  • +
  • -
bisser - zdjęcie bisser 25.08.2009

Oki.

Załączone pliki

Odpowiedz
Zablokowany