Konta Neo.
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).
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
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
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 ). Przetestuj i daj znać.
Możesz spróbować w procedurach "client_connect" oraz "check_ip" dopisać po
new ipLarge,aLarge,bLargecoś 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 ). Przetestuj i daj znać.
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.
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.
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ć:
# 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
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.
Ale z tego kodu co teraz podałeś, jak sądzę, to serwer będzie wpuszczał
wszystkich nonsteamowców, a ma być odwrotnie.
KobraPL
19.08.2009
Niee, zupełnie odwrotnie: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.
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"
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