Dproto [Podwójny protokół] - globalnie znany plugin do metamoda, umożliwiający grę na serwerach Counter-Strike prot. 47 jak i 48. [Steam & NoSteam]
Posiadający bogatą funkcjonalność i bardzo elastyczne ustawienia.
Cechy:
- Współpracuje z najnowszym HLDS,
- Pozwala na łączenie się z serwerem obu protokołów (47&48, grę graczy posiadających Steam wraz z graczami NoSteam)
- "Zabezpieczenie" (w pewnym stopniu)
- "Kontrolę" nad ID graczy NoSteam (Ustawienie konkretnego ID, a nie zwykłego Valve_Steam_ID)
Wymagania:
- Metamod 1.19-1.20, 1.21p37 lub 1.21.1-am,
- Dowolny serwer z protokołem 48 (steam).
Dproto Config.cfg:
Spoiler
# ======================================================== # DPROTO CONFIGURATION # ======================================================== # # General rule for modifying this file: # DONT CHANGE ANYTHING IF YOU DONT KNOW WHAT IT MEANS! # # ======================================================== # AUTHID MANAGEMENT # ======================================================== # ClientID types (for cid_* options) # 1: Real (or generated by HW) steam (STEAM_xx:xx:xx) # 2: Real (or generated by HW) valve (VALVE_xx:xx:xx) # 3: STEAM_ by IP # 4: VALVE_ by IP # 5: Deprecated - client will be rejected # 6: reserved for future use # 7: HLTV # 8: STEAM_ID_LAN # 9: STEAM_ID_PENDING # 10: VALVE_ID_LAN # 11: VALVE_ID_PENDING # 12: STEAM_666:88:666 # Use these options to set authid's for clients # for HLTV (default is HLTV [7]) cid_HLTV = 7 # for p.47 clients that do not support unique id generation (default is VALVE_ by IP [4]) cid_NoSteam47 = 4 # for p.48 clients that do not support unique id generation (default is VALVE_ by IP [4]) cid_NoSteam48 = 4 # For Legit Steam clients (default is real STEAM_xx:xx:xx [1]) cid_Steam = 1 # Client recognized as pending when they sucessfully authorized, but did not get steam id # REMARK: Actually, it got steamid, but it is useless (STEAM_0:0:0 for example) # default is STEAM_ID_PENDING [9] cid_SteamPending = 9 # For players having revEmu ( >= 9.74) on client-side: # default is real STEAM_xx:xx:xx [1] cid_RevEmu = 1 # For players having RevEmu 2013 on client-side: # default is real STEAM_xx:xx:xx [1] cid_RevEmu2013 = 1 # For players having SteamClient 2009 / revEmu > 9.82 on client-side: # default is real STEAM_xx:xx:xx [1] cid_SC2009 = 1 # For players having old revEmu on client-side: # default is real STEAM_xx:xx:xx [1] cid_OldRevEmu = 1 # For players having hCupa's SteamEmu on client-side: # default is real STEAM_xx:xx:xx [1] cid_SteamEmu = 1 # For players having AVSMP (Cracked Steam) on client-side: # default is real STEAM_xx:xx:xx [1] cid_AVSMP = 1 # For SETTI ServerScanner # default is STEAM_xx:xx:xx generated by IP [3] cid_Setti = 3 # For SXEI Clients # default is real STEAM_xx:xx:xx [1] cid_SXEI = 1 # EnableSXEIdGeneration (0 / 1) # Turns on steamid generation based on info sent by sXeI client # Enable this only if you have sXeI server installed! EnableSXEIdGeneration = 0 # SC2009_RevCompatMode (0 / 1) # Enable fix to make steamids generated for SC2009 compatible with revEmu SC2009_RevCompatMode = 1 # SteamEmuCompatMode (0 / 1) # An analog for eSTEAMATiON's EnforceSteamEmuCompatIDMode option. # Affects only Old RevEmu and SteamEmu emulators. SteamEmuCompatMode = 1 # OldEstCompatMode (0 / 1) # Enables/Disables fix for steamids generated by eST in 0.3.1 version. # Set this to 1 if you want to make steamids generated by eST as in < 0.3.0 versions. OldEstCompatMode = 0 # SteamIdHashSalt (string) # Salt string for SteamIDs hashing. Irreversibly changes SteamIDs. Applies only to SteamIDs generated by emulators. # Should be more than 16 chars length. If string is empty, hashing is not applied. SteamIdHashSalt = # IPGen_Prefix1 (int) # STEAM_a:b:c # first prefix (a) for authids generated by IP IPGen_Prefix1 = 0 # IPGen_Prefix2 (int) # STEAM_a:b:c # second prefix (b) for authids generated by IP IPGen_Prefix2 = 4 # Native_Prefix1 (int) # STEAM_a:b:c # first prefix (a) for authids generated by native auth method (Steam) Native_Prefix1 = 0; # RevEmu_Prefix1 (int) # STEAM_a:b:c # first prefix (a) for authids generated by Steamclient 2009 SC2009_Prefix1 = 0; # RevEmu_Prefix1 (int) # STEAM_a:b:c # first prefix (a) for authids generated by RevEmu RevEmu_Prefix1 = 0; # RevEmu2013_Prefix1 (int) # STEAM_a:b:c # first prefix (a) for authids generated by RevEmu2013 RevEmu2013_Prefix1 = 0; # OldRevEmu_Prefix1 (int) # STEAM_a:b:c # first prefix (a) for authids generated by old RevEmu OldRevEmu_Prefix1 = 0; # SteamEmu_Prefix1 (int) # STEAM_a:b:c # first prefix (a) for authids generated by SteamEmu SteamEmu_Prefix1 = 0; # SteamEmu_Prefix1 (int) # STEAM_a:b:c # first prefix (a) for authids assigned for AVSMP Clients (Cracked steam) AVSMP_Prefix1 = 0; # Setti_Prefix1 (int) # STEAM_a:b:c # first prefix (a) for authids assigned for Setti server scanner Setti_Prefix1 = 0; # SXEI_Prefix1 (int) # STEAM_a:b:c # first prefix (a) for authids assigned for sXeI clients SXEI_Prefix1 = 0; # Note that banid will use steamid WITHOUT any prefixes! # ======================================================== # ATTACKS SUPRESSION # ======================================================== # FakePlayers_AntiReconnect (0/1) # Enables detection of fakeplayers that reconnects quickly (every < 10 seconds) # before fake players checks have completed. # Default is 1 (ON). FakePlayers_AntiReconnect = 1 # FakePlayers_BanTime (minutes) # Dproto will ban IP spamming fakeplayers for time (in minutes) specified in this variable # Default is 120 minutes. # Use 0 for permanent ban. # Use negative vaules to disable ban (fake players will only be kicked). FakePlayers_BanTime = 120 # Exploits_CheckDownloads (0/1) # Enable checking of requested download files against precached resources. # Default is 1 (ON). Exploits_CheckDownloads = 1 # Exploits_DisableUploads (0/1) # Disable file uploads (not customizations) to the server. # Default is 1 (ON). Exploits_DisableUploads = 1 # ======================================================== # OTHER STUFF # ======================================================== # LoggingMode: # 0 = None # 1 = Console # 2 = Log Files # 3 = Both LoggingMode = 2 # ThreatsLoggingMode (0/1) # Enable logging of threats details. # Default is 0 (OFF). ThreatsLoggingMode = 0 # DisableNativeAuth (0/1) # Disables valve/steam auth system. # For p.47 Based: Server will not connect to auth servers. # For All: Server will not call authorization functions. # This is a fix for startup freeze for old (p.47) servers. DisableNativeAuth = 0 # ServerInfoAnswerType (0/1/2) # Sets server answer type for query requests # 0 = New style (Source Engine) # 1 = Old Style (Fix favorites list for p.47 clients) # 2 = Hybrid mode - Server is visible anywhere, but there are 3 packets generated for every serverinfo request ServerInfoAnswerType = 0 # Game_Name (string) # Sets game name displayed for clients # If Game_Name is empty, native game name will be used Game_Name = # Enables fix for proper player id displaying on HLStats server monitoring # Enable this only if you have HLStats HLStatsPlayerIdFix = 0 # ExportVersion (0 / 1) # Enables/Disables exporting of dp_version cvar # 1 = dp_version cvar will be exported to server rules. It will be visible in server monitoring tools (like HLSW) # 0 = dp_version cvar will not be exported to server rules. ExportVersion = 1 # HLTVExcept_IP (ip addr) # HLTV from this IP will be able to join the server even if cid_HLTV is set to 5 (deprecated) HLTVExcept_IP = 127.0.0.1
Changelog:
Spoiler
Version 0.9.543: SmartSteamEmu > 1.2.4 support. All commands rate limit. Version 0.9.534: Optional limit for dp_ipsessions output (dp_ipsessions <amount to output>). Output client last packet receive time on overflow. Status command rate check. Version 0.9.531: False fake player detections should happen a bit less frequently. Version 0.9.524: Less restrictive setinfo usage. Version 0.9.497: Bug fix. Version 0.9.491: Bug fix. Version 0.9.490: Added exploit fix. Fixed RevEmu2013 SteamID assigning on Linux. Version 0.9.481: Fixed some of false fake players detections. Version 0.9.476: Fixed SteamID processing. Version 0.9.475: EN -Fixed trimming CRLF in steam.inf parsing. -Removed config params: FakePlayers_ConnectInitiationCheck, FakePlayers_ClientValidationCheck, FakePlayers_CommandsOrderCheck. -Default to generate steam id by ip for non-steam clients. -Advanced fake clients detection. RU -Исправлено отрезание переноса строки при парсинге steam.inf файла. -Удалены квары: FakePlayers_ConnectInitiationCheck, FakePlayers_ClientValidationCheck, FakePlayers_CommandsOrderCheck. -По умолчанию для для non-Steam клиентов SteamID генерируется по IP. -Расширенный детект Fake Players 0.9.357-0.9.391 - added quick fix against net_message overflow @ Netchan_CopyNormalFragments - Fixed bug with HLTV SteamID in connect string set as BOT if cid_HLTV is 5. - Added SteamIdHashSalt config parameter. Added emulator generated SteamIDs hashing. - Fixed overflow file name format. - Be lenient to the mod. Do not crash in PEntityOfEntIndex. - PEntityOfEntIndex bugfix (thanks to PRoSToTeM@). Cleanup. - Deltas processing bugfix (thanks to PRoSToTeM@). Cleanup. - Option to log threat details. New config parameter: ThreatsLoggingMode. Spectate command rate limit to 1 per sec. - Fixed utf8 checking function. Check whole userinfo for utf8 validity. - Check requested customization in OnHandResources list too. - Clear downloaded customizations on reconnect (actually on sendres command). - Fixed bug with RequestedCustomizations cleanup on new connections. - Increased connection flood burst level a bit to handle multi-protocol clients - Fixed IsSafeFileToDownload on new builds to allow customizations downloads. Fixed CheckRequestedDlAgainstCustomizations code. - Fixed custom reject message output for SteamEmu clients. 0.9.330-0.9.356 - Added support of upcoming voice transcoding module - Better HLTV client handling to prevent banning. - Increased sprite replacer storage capacity. Should prevent "Running out of free nodes" server error. - Security fixes and improvments. Closed one more way of lag out the server. - Fallback to the server realtime on Windows if there is no QPC. - Fixed missing skip for bots in fake players check. - Fixed amxx kick for slot reservation. - Fixed server-side game bots identification. - Clearing entity flags on disconnect. This fixes bug when client identified as bot if connects on slot previously occupied by a bot. (Thanks to Turanga_Leela) 0.9.187 - 0.9.330: - Added support for latest HLDS builds - If EnableSXEIdGeneration = 1, then sXe Injected is used for the generation of SteamID for everyone except steam clients. - cid_SXEI works correctly now, and it is only used if EnableSXEIdGeneration = 1. - Added support of RevEmu2013 clients. - Added dp_rejmsg_sxei and dp_rejmsg_revemu2013 cvars. - AMXX plugins were updated and now include support for SXEI and RevEmu2013. - Removed messages like: Unable to load strings pool from file './cstrike/estrpool/estrpool_main.dat'. - Added fixes for flood with commands like 'new', 'dlfile', 'sendres', 'fullupdate'. - Check for initial commands order on connect. New FakePlayers_CommandsOrderCheck config option. - Added checking of requested downloads against precached resources. New Exploits_CheckDownloads config option. - Added block of file uploads to the server. Added Exploits_DisableUploads config option. - Ban for repeating connection attempts from same IP. - Ban for violations in connection protocol. - Send VoiceInit on new server builds (initializes voice for old clients) (thanks to Chuvi). - Fixed average PPS calculation. This solves problem with HLSW. - Loading steam server ID and version from steam.inf and steam_appid.txt files. - Fixed server info answer: setting proper steam server ID, version, bots count, correct lock status when password set to "none". - Fixed steam ID generation function to return "BOT" for bots. - Fixed AY&SY and svc_bad error on new Linux builds. - Refactored IPRateFilter to not block HLSW. 0.9.187: - Fixed vulnerability used by "FVU" exploit 0.9.179: - fixed "STEAM userid keysize is bogus" error on SteamEmu clients 0.9.178: - fixed "Invalid challenge format" warning when client joins server 0.9.87-0.9.177: - Some bugs fixed (I don't remember what bugs ) - Removed subserver and master-client as they are not needed now - Added challenge checking code to "rules" and "players list" requests handlers 0.9.87: - Fixed steamid generation for Steamclient 2009 0.9.86: - Fixed: VAC Status was always "protected" on Windows servers. - Moved all options to configure fakeplayers detector to dproto.cfg - Update sample amxx plugins. 0.8.72: - Added quick fix for vulnerability in netchan's fragment parser - Enhanced detection of fakeplayers (against Argentinian haxxxorz) 0.8.68: - Improvements/bugfixes in fakeplayers/packet flood detection code - AMXX API and example plugins updated - Fixed bug with cid_AVSMP, it was always 1 - Added useful commands for threats monitoring, check Readme.txt 0.8.65: - Bugfix, bugfix, bugfix, bugfix.... - Added support for AVSMP clients 0.8.61: - Fix for random svc_bads on connect 0.8.60: - Proper bots detection method in fakeplayers detector 0.8.59: - Fixed problems with AMD engines - Fixed hybrid answer mode - Fakeplayers detector won't kick and ban bots anymore 0.8.58: - Fixed crash when working with bans DB (banid) - Fix in new revEmu auth code 0.8.57: - Project moved to new versioning system; version format for now is MAJOR.MINOR.REVISION - Added support for latest linux engine. - Added support for new revEmu/SteamClient2009 clients - Added config options to set first prefix of steamid for clients. For example, revEmu clients may be marked as STEAM_4_0_xx - Added 2-level protection against all kinds of fake players - Added protection against flooding server with connectionless (PlayerList, ServerInfo, Rules) queries. - Added option (HLTVExcept_IP) to allow HLTVs from specified address to join the server even if cid_HLTV is 5 (deprectated). May be useful if you using HLTVReport plugin, but you dont want to allow another HLTVs to join your server. - Source code will not be available anymore. - (untested) "The VAC problem" (when VAC banned clients are able to join server) should be fixed. 0.4.8p: - Fixed buffer overflow vulnerability in SV_ParseCvarValue2() - Fixed crash for linux servers, when server started as unprivileged user that not able to write to server root directory. 0.4.8: - Fixed problem with dropping clients with "Unknown HLTV Type" message - Fix in anti-svc_bad code, it should work fine now 0.4.7: - Fixed: old WON clients (CS patch 21 and lower) unable to join server 0.4.6: - Fixed NET_SendPacket error that appears when server tried to drop deprecated client 0.4.5: - Implemented fix for "Server failed to transmit file AY&SY" kind of svc_bad's - UTF8 Chat/Nicknames support completely removed (will add it to another plugin) - Userinfo filter removed because it does not needed anymore (it was a temporary fix for svc_bad's) - Added separate AuthProvider (dp_r_id_provider cvar) constant for HLTV (check amxx/dp_test.sma) - Fixed GameNameChanger plugins under Windows. - There are a lot of changes in dproto.cfg. Old configs won't work with this version. 0.4.3: - Using on-the-fly offsets searching for patching. - Dproto now supports all existing (and hopefully future) p48 engines for Windows and Linux (including engine_amd.so/engine_i486.so). - Fixed vulnerability in SV_ParseVoiceData() used by hlds_vcrash exploit. 0.4.1: - hlds_*** exploit fixed. - Temporary fix for hlds_vcrash exploit: Patched swds.dll/engine_i686.so, uploaded here and here. 0.3.7: - Possible DoS exploit fixed - Added Subserver_IP option in dproto.cfg, used to set interface for subserver; subserver code will be rewrititten in next versions. 0.3.6: - Implemented cid_Setti clientid type (for Setti server scanner). Default value is 3 (STEAM_x:x:x generated by ip). This is workaround for situation when server disappears from Setti's serverlist (because Setti scanner can't join the server) when cid_NoSteam47=5 is used. - Plugins changing game description (adding timeleft for example) should work correctly now. 0.3.5: - Fixed server response for very old clients (thx to Rulzy) - Fixed bug when server drops HLTV if cid_NoSteam47/48 is deprecated(5) 0.3.4: - Added server-side emulation support. Currently supported emus are: revEmu, old revEmu ( <= 9.73), hCupa's SteamEmu - eSTEAMATiON support removed - Local banlist should work correctly - Completely rewritten client authorization code. All problems with UNKNOWN steamids and not working "deprecated" clientids may be fixed. - There are a lot of changes in dproto.cfg. Old configs won't work with this version 0.3.3: - Fixed: "deprecated" (5) ClientID did not work on cid_SteamPending (STEAM_0:0:0) clients - Added: Various cvars for customizing reject messages for deprecated clients. Check the "HOW TO CHANGE REJECT MESSAGES WHEN CLIENTID IS 5 (DEPRECATED)" section of Readme for more details. - Added: dp_version cvar that keeps current dproto version. It is exported to server rules by default, but you can turn the exporting off using ExportVesion option in dproto.cfg - Added: Capability mode for steamIds generated by eST (to make it as in <= 0.3.0) versions, option OldEstCompatMode in dproto.cfg 0.3.2: - Fixed: "STEAM userid keysize is bogus" on build 4554 (May, 2009) under windows (broken in 0.3.1 version) - Fixed: Annoying #18 and #19 warnings under windows 0.3.1: - Fixed: dproto gets wrong steamids from eSTEAMATiON. 0.3.0: - Fixed bug with steamid corruption for some no-steam clients 0.2.9: - Added dp_clientinfo command which can be used to get inforamtion about client's protocol. Check the Readme.txt and amxx directory for more info. 0.2.8: - Added support for new engines: 4617 for Linux and 4554 (15 Jun 2009) for Windows. 0.2.7: - Redirection fixed for subserver (thx to GoD2.0); - Subserver now correctly works with broadcast queries; - Hybrid serverinfo answer type discovered by ineya, fixes visibility for all clients. Check dproto.cfg 0.2.6: - Some compilation problems for linux fixed
*Skopiowane z pewnego rosyjskojęzycznego supportu Counter-Strike
[/size]
Zatwierdzone Certyfikatem Dobrego Pluginu!
Pozdrawiam,
Wujek Dobra Rada!
Aktualizacja 27.12.2014
- Dodanie nowej wersji, aktualizacja bugów.
Aktualizacja 16.01.2015
- Dodanie nowej wersji, aktualizacja bugów.
Aktualizacja 13.03.2015
- Dodanie nowej wersji, aktualizacja bugów & aktualizacja changelog'u.
Aktualizacja 17.04.2015
- Dodanie nowej wersji, aktualizacja bugów & aktualizacja changelog'u.
Załączone pliki
-
dproto_0_9_491 AMXX.pl.rar 258,61 KB 2419 Ilość pobrań
-
dproto_0.9_497 AMXX.pl.rar 258,76 KB 1061 Ilość pobrań
-
dproto_0_9_524 AMXX.PL.zip 309,47 KB 1061 Ilość pobrań
-
dproto_0_9_534 AMXX.PL.rar 274,14 KB 2660 Ilość pobrań
-
dproto_0_9_543 AMXX.pl.zip 319,01 KB 3414 Ilość pobrań