- 听众
- 收听
- 积分
- 3894
- 主题
- 回帖
- 0
- 精华
注册时间2008-4-22
最后登录1970-1-1
该用户从未签到
|
发表于 2011-2-2 17:04:28
|
显示全部楼层
dproto is a plugin for metamod that allows protocol 47 and 48 no-steam clients to join the server.
FEATURES:
- Server accepts all known clients based on 47 and 48 protocols;
- Customizable SteamIDs for clients;
- Works with latest version of hlds;
- built-in server-side emulation support.
Current version: 0.4.8
Attachment:
dproto_0_4_8.rar [130.09 KiB]
Downloaded 40562 times
Previous stable:
Attachment:
dproto_0_3_7.rar [117.65 KiB]
Downloaded 6554 times
CHANGELOG:
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.
Chengelog for older versions:
Show Spoiler
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
FAQ
[size=80%](in development)
Show Spoiler
Q: What is dproto?
A: Dproto was made as replace for cbooster on double-protocoling solutions area. dproto designed to work for new p.48 HLDS, so all steam features can be used with it. Dproto has one primary goal - to allow old clients to join new servers, all another features are secondary and they were added by users requests.
Q: How to install dproto?
A: Quote:
1. Go to <gamedir>/addons/ and make new directory named dproto
<gamedir> - its a game directory; cstrike for Counter-Strike, valve for Half-Life, etc
2. Copy dproto.dll or dproto_i386.so to <gamedir>/addons/dproto/
3. Go to metamod installation directory (usually its <gamedir>/addons/metamod/) and edit plugins.ini:
add this line for windows
win32 addons\dproto\dproto.dll
or this for linux
linux addons/dproto/dproto_i386.so
at the beginning of the file
4. Copy dproto.cfg to server root or gamedir.
5. Start the server. You should use this command on linux:
./hlds_run -binary ./hlds_i686
when server loads, type "meta list" in console. You'll see something like this:
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] dproto RUN - dproto_i386.so v0.4.3 ini Start Never
[ 2] AMX Mod X RUN - amxmodx_mm_i386. v1.8.1.3 ini Start ANY
2 plugins, 2 running
6. Enjoy
Q: I installed dproto, but it does not work. meta list says this:
Code: Select all | Line number On/Off | Expand/Contract
Currently loaded plugins: description stat pend file vers src load unlod - [ 1] dproto fail load dproto_i386.so v0.3.4 ini Start Never
A: Start server with -console +log on +mp_logecho 1 parameters and look through console output. You'll find the reason there.
Q: AmxModX admins could not authorize using their password.
A: Just replace _pw in dproto.cfg:
Quote:
ValidInfoFields_Engine = \name\bottomcolor\topcolor\model\cl_lc\cl_lw\cl_updaterate\cl_dlmax\rate\_pw\*hltv\password
to field that you using for keep admin password.
Q: I dont see my server in steam favorites!
A: Set ServerInfoAnswerType to 0 or 2 in dproto.cfg
Q: My server is invisible in favorites in cs v24!
A: Set ServerInfoAnswerType to 1 or 2 in dproto.cfg
Q: How to make my server visible both in old no steam clients and steam?
A: Set ServerInfoAnswerType to 2 in dproto.cfg
Q: I'm getting "Error verifying STEAM UserID Ticket(server was
unable to contact the authentication server)" error when playing on legit client.
Q: Bans for legit SteamID do not work. Users with banned IDs are able to play on server.
A: Your server can't conect/lost connection to steam servers. I dont know universal method to check connection to steam servers (if someone know it - pls tell me). If you have VAC secured server, use stat command. If it shows version as "insecure" or "insecure (secure mode enabled, disconnected from Steam3)" it means that connection to steam servers lost. This problem is not related to dproto, but i can give some tips to fix it:
1. Check if outgoing TCP connections are allowed to destination port 27030
2. Check if outgoing UDP datagrams are allowed from local ports 2690x
3. If you using linux, you should add +ip <server ip> parameter to command line. I'm using +ip 0.0.0.0 for example and it works fine.
Q: My server could not be displayed in monitoring system.
A: It's because of hybrid answer type, some monitoring scripts cannot handle it correctly. There is 3 way to solve the problem: use standart answers (ServerInfoAnswerType = 1 or 0) or try to fix it by yourself, or write to script developers.I dont guarantee correct work of third-party stuff.
Q: I'm using latest engine and my server is not visible in internet list.
A: Forward this question to Valve
Q: I'm using latest engine and my server is not visible in Setti serverlist.
A: Register your server here
Q: My server crashes sometimes after N days of work...
A: Forward this question to Valve
Q: My server crashes when i installed mod X on it.
A: Forward this question to mod X developers and check if you haven't missed something.
Q: I have players with same steamids on my server. They're recognized as SteamEmu (dp_SteamEmu)
A: Steamid could be easily spoofed in SteamEmu auth algorithm. Deprecate these clients or set not-numeric id to them (STEAM_ID_LAN for example)
Before posting bugreports and questions...
- Make sure that dproto is reason of the bug. You can check it by disabling dproto.
- Please, don't post there questions about HLDS engine bugs that were known before release of dproto. I'm not going to spend my time for analyzing engine for free.
- Post all "My server does not displayed in internet list" questions in Valve's forums. Native Master-Client located in steamclient.dll (steamclient.so) and dproto could not be a reason because it does not patch this library.
Bugreport MUST contain:
- Detailed explanation of bug.
- A way how to reproduce it (if possible)
- Full startup log from server console; server should be started with "+log on +mp_logecho 1" parameters
- Contents of dproto.cfg
- MD5 hashes of all files from server root directory (use RapidCRC for Windows or md5sum for Linux)
I won't consider bugreports without these points because I don't want to spend my time to search possible reasons of your problems. Thanks for understanding.
Post all problems/bugs you have found in this topic.
Russian thread on CSMania
|
|