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
 

borbet - zdjęcie

borbet

Rejestracja: 28.10.2013
Aktualnie: Nieaktywny
Poza forum Ostatnio: 11.06.2017 15:11
-----

Moje tematy

Odpowiednik Voices Managementa

27.03.2014 21:04

Witam! Czy istnieje jakiś odpowiednik Voices Managementa dla SourceModa? Lub czy bez niego możliwe jest ustawienie czegoś takiego, że: Gracze po śmierci słyszą graczy nieżywych (lub wszystkich), ale gracze żywi ich nie słyszą? Pewnie jest to banalne, ale nie mogę jakoś się odnaleźć w SourceModzie :( Za bardzo się różni od AMXX'a :/ 

 

Pozdrawiam!

Zabezpieczenie przed hackiem SteamID

20.02.2014 00:04

Wstęp




Witam! Jako, że nie znalazłem żadnego artykułu dot. zabezpieczenia przed ww. hackiem postanowiłem napisać własny :)
Hack ten istnieje już jakiś czas i wiele serwerów jest przed nie zabezpieczonych, gdyż ich H@ nie wiedzą o jego istnieniu lub nie wiedzą jak się przed nim ochronić.

Ale co to robi?




Hack ten umożliwia zmianę SteamID na dowolny, dosłownie JAKI CHCEMY!
Mały przykład:
Załączony plik  sid.png   3,75 KB  25 Ilość pobrań


Widzimy tam mój SteamID (H@) oraz SteamID "Hackera", który postanowił ustawić sobie SID taki sam jaki mam ja. Akurat Screen już po zastosowaniu Fix'a ( :spadowa: hakerze), ale pomyślcie sobie co osoba ze wszystkimi flagami mogłaby zrobić z serwerem?! :o

Jak się przed tym chronić?




Ochronić się przed tym jest bardzo łatwo (podobnie jak zmienić SteamID...) - należy odpowiednio skonfigurować dproto ;)

Skonfigurować?! Jak???




Konfiguracja sprowadza się raptem do zmiany tych paskudnych cyferek w dproto.cfg :^D

Dproto.cfg
Spoiler

Co tu zostało zmienione?
Spoiler

A no zostały zmienione prefix'y "a" :)
Przykładowo dla klienta RevEmu SteamID będzie następujący: "STEAM_2:0:XXXX", a dla klienta RevEmu 2013 - "STEAM_3:0:XXXX" itd.

Można także zmienić początek STEAM_ na VALVE_:
Spoiler

Od tej pory każdy NS wchodzący na serwer będzie miał SteamID VALVE_X:X:XXXX :) Łatwiej rozróżnić, który jest NS'em, a który Steam'em oraz jakiego ma klienta - [VALVE(NS)/STEAM]_[KLIENT]:[0 - SID wygenerowany przez HardwareID, 4 - Przez IP]:XXXX :D

Wady




Niestety zmiana ww. ustawień w dproto niesie za sobą konsekwencje - po ich zmianie bany w AMXBans na graczy z wygenerowanym SID'em stają się wygasłe, gdyż jak już zauważyliście zmieniliśmy prefix'y w ich SteamID i wchodząc na serwer ktoś kto miał wcześniej SID STEAM_0:0:12345 od teraz będzie miał przykładowo STEAM_2:0:12345.

Na zakończenie




To by było na tyle. W załączniku dodaję najnowsze dproto wraz z odpowiednio skonfigurowanym dproto.cfg.
Mam nadzieję, że pomogłem ;)

P.S. Istnieje także plugin wykrywający ten hack i banujący ich, ale niestety autor nie udostępnia .sma no i... plugin jest za $$$ :/

Ciągłe crashe serwera

06.02.2014 20:17

Witam! Mam duuuży problem z serwerem, otóż crashuje się on co jakieś 2h. W sumie problem z crashami jest od ponad miesiąca, lecz występowały one w bardzo późnych godzinach (3-4 w nocy). Prawdziwy problem zaczął się jednak wczoraj. Crashe następowały po każdej zmianie mapy lub od tak bez powodu. Zrobiłem wczoraj reinstall i... nie pomogło. Przed reinstall posiadałem betę HLDS 6132, natomiast teraz zainstalowałem 6027 i rozwiązało to poniekąd kilka problemów z pluginami (międzyinnymi KSG nie działało). Jest to pierwszy problem, z którym po prostu nie umiem sobie poradzić, kompletnie nie wiem co się dzieje. Powoli zaczynam snuć teorie spiskowe, że zabijaka ma walniętą maszynę i to przez to   :hmmm: Pisałem do supportu i napisali, że to na 99% wina któregoś z pluginów. Wyłączyłem te, które uważałem, że mogą powodować crashe, jednak niestety nic to nie zmieniło  :( Pozostałych nie ruszałem, gdyż są od początku powstania serwera, gdzie o crashach nie było mowy (jedynie problemy z uruchomieniem, ale z tym sobie poradziłem  :P). Poniżej wklejam logi:
 
Wklejam od tego momentu, gdyż jakiś gracz spamował connectem. Nie wiem, moze związek jakiś jest, bo crashe występują tylko wtedy jak ktoś gra.

Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
83.22.149.56:25215:reconnect
Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
83.22.149.56:25215:reconnect
Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
Dropped dziwki z trasy 17 |תּ Ῡ Ě from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
Dropped Songo from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
83.22.149.56:25215:reconnect
Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
83.22.149.56:25215:reconnect
Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
83.22.149.56:25215:reconnect
Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
83.22.149.56:25215:reconnect
Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
Dropped dziwki z trasy 17 |Sztiridunda from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
83.22.149.56:25215:reconnect
Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
michal wojownik magii : bot
83.22.149.56:25215:reconnect
Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
83.22.149.56:25215:reconnect
Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
83.22.149.56:25215:reconnect
Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
83.22.149.56:25215:reconnect
Dropped EmKu from server
Reason:  Kicked :"Wyrzucony z powodu rezerwacji slotow"
83.22.149.56:25215:reconnect
./hlds_run: line 255: 23760 Segmentation fault

Jeden z ostatnich crashów.

[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed. hlds_linux: tpp.c:63: __pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= __sched_fifo_min_prio && new_prio <= __sched_fifo_max_prio)' failed. 
Uploading dump (in-process) [proxy ''] /tmp/dumps/crash_20140206144645_1.dmp 
success = no 
error: Failed to open/read local data from file/application 
./hlds_run: line 255: 5185 Aborted $HL_CMD

Jak wyżej

Uploading dump (in-process) [proxy ''] /tmp/dumps/crash_20140206144415_2.dmp 
success = no 
error: Couldn't connect to server 
./hlds_run: line 255: 10186 Segmentation fault $HL_CMD

Ostatni crash bez powodu. Nic w logach nie ma. Admin zmienił mapę i crash... Oczywiście, żeby nie było wszystkie mapy testowane i w 100% działające.
 
Plugins.ini

; AMX Mod X plugins

; Admin Base - Always one has to be activated
amxbans_core.amxx
amxbans_main.amxx
;admin.amxx		; admin base (required for any admin-related)
;admin_sql.amxx		; admin base - SQL version (comment admin.amxx)

; Basic
admincmd.amxx		; basic admin console commands
adminhelp.amxx		; help command for admin console commands
adminslots.amxx		; slot reservation
multilingual.amxx	; Multi-Lingual management

; Menus
menufront.amxx		; front-end for admin menus
cmdmenu.amxx		; command menu (speech, settings)
plmenu.amxx		; players menu (kick, ban, client cmds.)
;telemenu.amxx		; teleport menu (Fun Module required!)
mapsmenu.amxx		; maps menu (vote, changelevel)
pluginmenu.amxx		; Menus for commands/cvars organized by plugin

; Chat / Messages
adminchat.amxx		; console chat commands
antiflood.amxx		; prevent clients from chat-flooding the server
;scrollmsg.amxx		; displays a scrolling message
;imessage.amxx		; displays information messages
adminvote.amxx		; vote commands

; Map related
nextmap.amxx		; displays next map in mapcycle
;mapchooser.amxx		; allows to vote for next map
timeleft.amxx		; displays time left on map

; Configuration
pausecfg.amxx		; allows to pause and unpause some plugins
statscfg.amxx		; allows to manage stats plugins via menu and commands

; Counter-Strike
restmenu.amxx		; restrict weapons menu
statsx_shell.amxx		; stats on death or round end (CSX Module required!)
;miscstats.amxx		; bunch of events announcement for Counter-Strike
;stats_logging.amxx	; weapons stats logging (CSX Module required!)

; Enable to use AMX Mod plugins
;amxmod_compat.amxx	; AMX Mod backwards compatibility layer

; Pluginy - zabezpieczenia
blockengineinfo.amxx
;openglcheck.amxx
alias_detector.amxx
ksg.amxx
anti_fullupdate_spam2.amxx
antibots.amxx
chat_block.amxx
filewatcher.amxx
floodban.amxx
plus_bug_fix.amxx
spam_block.amxx
spambot_ban.amxx
spambot_block.amxx
extreme_bancfg2.amxx
Admin_Screen3v15.amxx
admin_spec_esp.amxx
hpk.amxx

;Pluginy - inne
show_ip.amxx
timeleftGameDescription.amxx
wymuszanie_interpu.amxx
poprawne_rate.amxx
naprawa_room_type.amxx
ad_manager_array.amxx
MotdShower.amxx
PhAFK.amxx
Voices_Management.amxx
Spec_Switch.amxx

;Pluginy - gameplay
ptb.amxx
vip.amxx
descriptive_fire_in_the_hole.amxx
flash.amxx
bcd_hudtimer.amxx
inf_smierc.amxx
allow_roundfinish.amxx

Wyłączony openglcheck, gdyż jeszcze patrzę czy to czasami nie powoduje crashów. Wyłączane były timeleftGameDescription oraz alias detector. Ostatni crash był ok. godziny temu.
 
Wgrane także jest orpheu, najnowsze dproto, VTC i HLDS 6027. Metamod 1.21.1 AM ściągany z amxmodx.org.
Jeśli czegoś zapomniałem dodać to pisać.

 

Dodatkowo ktoś próbuje odgadnąć hasło RCON. Mam nastawione banowanie, ale przez te crashe bany się usuwają.

Bad Rcon from 212.109.7.220:60367:
rcon 2098979548 "zxcvbnm,./" sv_contact "HLXBrute"

Dodam jeszcze, że najczęstszym błędem jest "./hlds_run: line 255: 10186 Segmentation fault $HL_CMD", lecz za każdym razem jest inne "line".

 

Z góry dziękuję za pomoc!

Maluteńka przeróbka BSHelper'a :)

23.12.2013 02:45

Witam! Mam prośbę o małą przeróbkę BSHelper'a :D W tej chwili przy wejściu na serwer automatycznie włączają się sprite'y, a to przeszkadza i chciałbym, żeby się nie włączały. Przy dłuższym przysiedzeniu mógłbym sam to ogarnąć, ale jestem na razie zajęty, więc proszę o to Was :P

#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <xs>
#include <csx>
#include <colorchat>

#define PLUGIN	"Bombsite Helper"
#define AUTHOR	"kiki - hlmod.hu"
#define VERSION	"1.3"

#define BOMBSITES 5 //Max Bombsites (Do not change)
new Float:g_locations[BOMBSITES][3]
new const g_sprite1[] = "sprites/bombsite/bomba.spr";
new const g_sprite2[] = "sprites/laserbeam.spr"
new g_line, g_iconid, g_maxplayers, g_bombsitenum, g_hostagepos, g_hostagek, g_bombplanted, g_userteam;
new r,g,b, helpt, type;

new bool:is_help_sprite[33], bool:is_help_line[33], bool:is_help_radar[33];

public client_putinserver(id)
{
	set_task(15.0, "adv", id)
}

public adv(id)
{ 
  ColorChat(id, TEAM_COLOR, "[BSHELPER]^x01 Nie wiesz gdzie znajduja sie BSy? Wpisz^x04 /bs^x01, aby wlaczyc asyste!")
}

public plugin_init()
{
	new ent = -1;
	while ((ent = find_ent_by_class(ent, "func_bomb_target")))
	{
		g_bombsitenum++
	}
	while ((ent = find_ent_by_class(ent, "info_bomb_target")) )
	{
		g_bombsitenum++
	}
	if(g_bombsitenum <= 0)
	{
		register_plugin(PLUGIN, "No Bomb map", AUTHOR)
		pause("a")
		return
	}
	register_plugin(PLUGIN, VERSION, AUTHOR)
	find_bomb_targets(g_locations);
	register_clcmd("say /bs", "bsh_menu");
	register_clcmd("say_team /bs", "bsh_menu");
	
	r = register_cvar("bsh_line_red", "0");
	g = register_cvar("bsh_line_green", "255");
	b = register_cvar("bsh_line_blue", "0");
	helpt = register_cvar("amx_bsh", "a"); 
	g_hostagepos = get_user_msgid("HostagePos")
	g_hostagek = get_user_msgid("HostageK")
	g_maxplayers = get_maxplayers()
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	register_forward(FM_PlayerPreThink,"PreThink");
	set_task(2.3,"radar",_,_,_,"b")
	set_task(0.1,"task",_,_,_,"b")
	
	new args[4];
	get_pcvar_string(helpt, args, 3)
	type = read_flags(args)
}

public client_connect(id)
{
	if(type & (1<<0)) 
		is_help_sprite[id] = true;
	else
		is_help_sprite[id] = false;
	if(type & (1<<1)) 
		is_help_line[id] = true;
	else
		is_help_line[id] = false;
	if(type & (1<<2)) 
		is_help_radar[id] = true;
	else
	is_help_radar[id] = false;
} 

public plugin_precache()
{	
	g_iconid = precache_model(g_sprite1)
	g_line = precache_model(g_sprite2);
}


public event_new_round()
{
	g_bombplanted = false
}

public bomb_planted(planter)
{
	g_bombplanted = true
}

public task()
{
	new Players[32] 
	new playerCount, i, player 
	get_players(Players, playerCount, "ach") 
	for (i=0; i<playerCount; i++) 
	{
		player = Players[i] 
		if(is_help_line[player])
		{	
			new orig[3];
			get_user_origin(player, orig, 0)
			for(new i = 0; i < g_bombsitenum; i++) 
			{
				make_line(player,orig,g_locations[i],55)
			}
		}
	}
}

public PreThink(id)
{
	if(is_help_sprite[id])
	{	
		for(new i = 0; i < g_bombsitenum; i++) 
		{
			create_icon_origin(id, g_locations[i], g_iconid)
		}
	}
}

public radar()
{
	for (new id=1;id<=g_maxplayers;id++)
	{
		if (is_user_alive(id) && (is_help_radar[id]))
		{
			g_userteam = get_user_team(id)	
			if(g_userteam==2 || (g_userteam==1 && !g_bombplanted))
			{
				for(new i=0;i<g_bombsitenum;i++)
				{  
					message_begin(MSG_ONE_UNRELIABLE, g_hostagepos, {0,0,0}, id)
					write_byte(id)
					write_byte(i+20)
					write_coord(floatround(g_locations[i][0]))
					write_coord(floatround(g_locations[i][1]))
					write_coord(floatround(g_locations[i][2]))
					message_end()
					
					message_begin(MSG_ONE_UNRELIABLE, g_hostagek, {0,0,0}, id)
					write_byte(i+20)
					message_end()
				}
			}
		}
	}
}

public bsh_menu(id)
{
	if(is_user_connected(id))
	{	
		new szov[192];
		new menu = menu_create("\rWybierz rodzaj asysty:", "bsh_handler");
		formatex(szov,charsmax(szov), "\wSprite'y %s", is_help_sprite[id] ? "\yWlaczone":"\rWylaczone");
		menu_additem(menu, szov, "1");
		formatex(szov,charsmax(szov), "\wLinie %s", is_help_line[id] ? "\yWlaczone":"\rWylaczone");
		menu_additem(menu, szov, "2");
		formatex(szov,charsmax(szov), "\wRadar %s", is_help_radar[id] ? "\yWlaczone":"\rWylaczone");
		menu_additem(menu, szov, "3");
		menu_display(id, menu, 0);
	}
}

public bsh_handler(id,menu,item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	new key = str_to_num(data);
	
	switch(key)
	{
		case 1:
		{
			is_help_sprite[id] = !is_help_sprite[id];
		}
		case 2:
		{
			is_help_line[id] = !is_help_line[id];
		}
		case 3:
		{
			is_help_radar[id] = !is_help_radar[id];
		}
	}
	
	menu_destroy(menu);
	bsh_menu(id);
	return PLUGIN_HANDLED;
}

public make_line(id,start[3],Float:end[3],brightness){
	message_begin(MSG_ONE_UNRELIABLE ,SVC_TEMPENTITY,{0,0,0},id) //message begin
	write_byte(0)
	write_coord(start[0]) // start position
	write_coord(start[1])
	write_coord(start[2])
	write_coord(floatround(end[0])) // end position
	write_coord(floatround(end[1]))
	write_coord(floatround(end[2]))
	write_short(g_line) // sprite index
	write_byte(3) // starting frame
	write_byte(0) // frame rate in 0.1's
	write_byte(1) // life in 0.1's
	write_byte(10) // line width in 0.1's
	write_byte(0) // noise amplitude in 0.01's
	write_byte(get_pcvar_num(r))
	write_byte(get_pcvar_num(g))
	write_byte(get_pcvar_num(b))
	write_byte(brightness) // brightness)
	write_byte(0) // scroll speed in 0.1's
	message_end()
}

find_bomb_targets(Float:locations[BOMBSITES][3]) {
	new ent, i;
	while ( i < g_bombsitenum && (ent = find_ent_by_class(ent,"func_bomb_target") ) ||  i < g_bombsitenum && (ent = find_ent_by_class(ent,"info_bomb_target") ) ) {
		get_brush_entity_origin(ent, locations[i]);
		i++;
	}
}

create_icon_origin(id, Float:origin[3], sprite)
{
	new Float:fMyOrigin[3]
	entity_get_vector(id, EV_VEC_origin, fMyOrigin)
	
	new Float:fTargetOrigin[3]
	fTargetOrigin = origin
	fTargetOrigin[2] += 40.0
	
	if (!is_in_viewcone(id, fTargetOrigin)) return;
	
	new Float:fMiddle[3], Float:fHitPoint[3]
	xs_vec_sub(fTargetOrigin, fMyOrigin, fMiddle)
	trace_line(-1, fMyOrigin, fTargetOrigin, fHitPoint)
	
	new Float:fWallOffset[3], Float:fDistanceToWall
	fDistanceToWall = vector_distance(fMyOrigin, fHitPoint) - 10.0
	normalize(fMiddle, fWallOffset, fDistanceToWall)
	
	new Float:fSpriteOffset[3]
	xs_vec_add(fWallOffset, fMyOrigin, fSpriteOffset)
	new Float:fScale
	fScale = 0.01 * fDistanceToWall
	
	new scale = floatround(fScale)
	
	te_sprite(id, fSpriteOffset, sprite, scale, 255)
}

te_sprite(id, Float:origin[3], sprite, scale, brightness) // By sontung0
{	
	message_begin(MSG_ONE, SVC_TEMPENTITY, _, id)
	write_byte(TE_SPRITE)
	engfunc(EngFunc_WriteCoord, origin[0])
	engfunc(EngFunc_WriteCoord, origin[1])
	engfunc(EngFunc_WriteCoord, origin[2])
	write_short(sprite)
	write_byte(scale) 
	write_byte(brightness)
	message_end()
}

normalize(Float:fIn[3], Float:fOut[3], Float:fMul) // By sontung0
{
	new Float:fLen = xs_vec_len(fIn)
	xs_vec_copy(fIn, fOut)
	
	fOut[0] /= fLen, fOut[1] /= fLen, fOut[2] /= fLen
	fOut[0] *= fMul, fOut[1] *= fMul, fOut[2] *= fMul
}

Jedyne co tu zrobiłem to spolszczenie, zmianę komendy /bsh na /bs oraz colorchat zamiast client_print, czyli najprostsze z możliwych :D

Pozdrawiam :)

Yo!

12.11.2013 18:13

Siemanko! Jestem Bartosz, mam 17 lat i mieszkam w Wałczu :)

Interesuje się kompami, nogą, chłopcami (nieeee no żartuję :D :D :D) Douczam się także programowania w C++, jestem h@ FragBusters, mam pirackiego Win XP, mam psa (kota nie mam), oglądam anime, czytam mangę Naruto i co by tu jeszcze napisać... aaa i mam zaebisty kolorek (nie zabierać mi go ani mnie nie banować!) oraz d*pa mnie boli jak nie zrobię czegoś idealnie, po prostu jeśli takie nie jest traktuję to jako ***** i to chyba na tyle ;)