【讨论】比赛插件导致大面积用户掉线原因 !
最近试用了amx_match_delux V6.01版的插件。环境:winxppro+CS1.6+amxx1.6+maxplayer24
通过最近2天的观察发现,自从装了比赛插件之后用户大面积(几乎全部)掉线的频率非常高。这2天来在比赛开始之后,从未有大面积掉线现象。大面积掉线的情况,全部是在上半场或则下半场开始的时候出现的。而在每半场开始的时候都会有大量信息显示比赛的开始。以下为客户端掉线的时候出现的一部分信息。
Error: server failed to transmit file 'AY&SY}'
所以,估计是服务器向客户端输出过量信息导致大面积掉线的。
看了一下源码,太长了,无法靠个人的能力去修改信息的输出量。请问如何通过修改源码以减少每半场开具的时候的信息量?
或则此插件有无控制显示信息的简单命令?
回复: 【讨论】比赛插件导致大面积用户掉线原因 !
导致服务器踢人问题的原因我也做出了猜测
估计不是插件那么简单的原因
回复: 【讨论】比赛插件导致大面积用户掉线原因 !
你的帖子我也看过,不过好像没有解决此问题。刚在又仔细观察了一阵子,掉线的准确时间为开局的时候的自动刷新瞬间。
restartround 1 ->restartround 1->restartround 3
上面的是服务器刷新的过程1 。1 。3,请问如何把这个改为3.3.3或则5.5.5?
一楼附上源码,请大大修改一下。
还有在比赛开始的时候,向客户端输出的信息 [比赛开始]重复显示6次,即屏幕中间显示3个和左底部显示3个。希望这个部分也修改一下,只显示各1个信息。
非常感谢,
能不能解决掉线问题,只好一个一个试一试了。
【分享and讨论】比赛插件大面积掉线的初步解决!
虽然不成功,至少你努力了。保留在这里,让大家参考。经过个人的简单修改(修改方法也许并不正确)改善了比赛插件大面积掉线。在修改之前几乎每个图的每个半场开始的时候都有大面积掉线,修改之后观察了5个地图没有发生掉线的情况。
服务器环境:winxp pro+amxx1.6+cs1.6+match_dulex V6.01。
修改过程:
1。修改R3,restartround从1.1.3改为3.3.3。
修改部分
――――――――
client_print(0,print_chat,"* %L !...", LANG_PLAYER, "SWITCHING_TEAMS")
set_cvar_string("mp_limitteams","0")
set_cvar_string("mp_autoteambalance","1")
restart_round("1") //改为3
swap()
restart_round("1") //改为3
return PLUGIN_CONTINUE
――――――――
client_print(0,print_chat,"* %L", LANG_PLAYER,"GOING_LIVE")
client_print(0,print_chat,"* %L", LANG_PLAYER,"GOING_LIVE")
set_task(2.0,"restart_round",0,"1",1)//中间1改为3
set_task(4.0,"set_rules")
set_task(4.0,"restart_round",0,"1",1)//中间1改为3
set_task(6.0,"restart_round",0,"3",1)
set_task(11.0,"live_msg")
――――――――
此部分修改本意为,restartround 1-1-3改为3-3-3。由于修改方法过于单纯无法实现restartround3-3-3。实际效果为屏幕上虽然有3次的restartround 3,但是只执行了一次restartround3。
2。修改向用户输出的每半场开局显示的信息。
修改部分
――――――――
public live_msg()
{
match_inprogress++
set_hudmessage(0, 255, 255, -1.0, 0.32, 0, 2.0, 6.0, 0.8, 0.8, 2)
show_hudmessage(0,"--[ %L ]--^n--[ %L ]--^n--[ %L ]--",LANG_PLAYER,"LIVE",LANG_PLAYER,"LIVE",LANG_PLAYER,"LIVE")
client_print(0,print_chat,"* %L", LANG_PLAYER,"AMX_LIVE")
client_print(0,print_chat,"* %L", LANG_PLAYER,"AMX_LIVE")
client_print(0,print_chat,"* %L", LANG_PLAYER,"AMX_LIVE")
return PLUGIN_CONTINUE
}
――――――――
改为
――――――――
public live_msg()
{
match_inprogress++
set_hudmessage(0, 255, 255, -1.0, 0.32, 0, 2.0, 6.0, 0.8, 0.8, 2)
show_hudmessage(0,"--[ %L ]--",LANG_PLAYER,"LIVE")
client_print(0,print_chat,"* %L", LANG_PLAYER,"AMX_LIVE")
return PLUGIN_CONTINUE
}
――――――――
此部分修改本意为,向用户输出的比赛开始的6条相同信息改为2条相同信息。即原来在屏幕中间显示的3条相同信息改为1条,在右下角显示的3条信息改为1条信息。经本人简单修改之后,实际效果为,屏幕中间的信息没了,右下角显示的信息为2条。
3。求:修改其他的多余输出信息。请看图,希望把图里的4条信息取消掉。
4。求:取消比赛开始的时候,向客户端的控制台输出服务器设置变更的各种信息。
结论:经过本人的简单修改之后,即RR1-1-3改为RR3和减少比赛开始的显示信息之后,大面积掉线的情况得到明显的改善。经仔细观察之后发现绝大部分的掉线现象都是出现在restartroun 1-1的瞬间。
特求此插件的以上4个部分的正确修改之后的插件。希望取消其他重复的信息和多余的信息,向客户端输出的信息越少越好。附上原始插件。
回复: 【分享and讨论】比赛插件大面积掉线的初步解决!
1楼贴的第4部分"sv_restartround" changed to "8"
"mp_timelimit" changed to "60"
"mp_maxrounds" changed to "12"
"mp_timelimit" changed to "0"
"mp_maxrounds" changed to "0"
"sv_restartround" changed to "0"
The game will restart in 8 SECONDS
* Taking a screenshot... Smile!
BlueJ-s071015 died
FGA died
P.L.A.No.23@FuKuOKa died
FGA is joining the Terrorist force
P.L.A.No.23@FuKuOKa is joining the Counter-Terrorist force
BlueJ-s071015 is joining the Terrorist force
F_C is joining the Counter-Terrorist force
NO is joining the Counter-Terrorist force
pt.wolf is joining the Terrorist force
Alex*** is joining the Counter-Terrorist force
Www.Esai.Cn is joining the Counter-Terrorist force
Who is joining the Terrorist force
As Long As You Love Me is joining the Counter-Terrorist force
zhuangsha fei 1 23 is joining the Terrorist force
www.****.com is joining the Counter-Terrorist force
(2)www.****.com is joining the Terrorist force
cai niao is joining the Terrorist force
John-Cena is joining the Counter-Terrorist force
uuukkk110 is joining the Counter-Terrorist force
big boss is joining the Terrorist force
(1)Www.Esai.Cn is joining the Terrorist force
"sv_restartround" changed to "3"
"sv_restartround" changed to "0"
The game will restart in 3 SECONDS
* Executing match config file (ecup.cfg + default.cfg)
yicaire*x.k* is joining the Terrorist force
"mp_maxrounds" changed to "14"
"sv_restartround" changed to "3"
"sv_restartround" changed to "0"
The game will restart in 3 SECONDS
ADMIN TEST!warning:dont join the serv: forced the start of a half
"sv_restartround" changed to "3"
"sv_restartround" changed to "0"
The game will restart in 3 SECONDS
* 2nd half starting
Error: server failed to transmit file 'AY&SYٍR'
Host_Error: DispatchUserMsg:User Msg ServerName/90 sent too much data (247 bytes), 192 bytes max.
此为,大面积掉线的时候客户端显示的信息。看最后一句话,估计是服务器信息输出过量导致的。
请大大通过修改插件,不向客户端输出一下服务器信息 !
"sv_restartround" changed to "8"
"mp_timelimit" changed to "60"
"mp_maxrounds" changed to "12"
"mp_timelimit" changed to "0"
"mp_maxrounds" changed to "0"
"sv_restartround" changed to "0"
The game will restart in 8 SECONDS
* Taking a screenshot... Smile!
"sv_restartround" changed to "3"
"sv_restartround" changed to "0"
The game will restart in 3 SECONDS
* Executing match config file (ecup.cfg + default.cfg)
"mp_maxrounds" changed to "14"
"sv_restartround" changed to "3"
"sv_restartround" changed to "0"
The game will restart in 3 SECONDS
ADMIN TEST!warning:dont join the serv: forced the start of a half
"sv_restartround" changed to "3"
"sv_restartround" changed to "0"
:cry::cry::cry:
页:
[1]