异形丛生吧 关注:3,201贴子:12,798

【自爆砖家的配置文件】1M小水管学生机 性能压榨 与 配置文件

只看楼主收藏回复



IP属地:浙江1楼2020-02-15 17:34回复
    一楼被吃了,二楼开始:
    大概就是这两个月的事情,西瓜服停掉了,许多玩家一时间没了落脚地,包括我也一样,然而最近,有一位好心的服主搭建了4个asrd的服务器供大家游玩,这里我表示称赞。


    但是情况并不是很乐观,服务器内人多起来之后就会有卡顿,无响应等症状发生,询问了服主之后,我得知,他所采用的是南方杀手的配置文件,我的第一反应是:这哪行啊?南方杀手的配置文件可不是用来给学生机这种小水管用的,卡顿什么的也就自然而然的出现了。


    说了这么多,如何解决1M学生机的各种卡顿问题呢?要从两个地方下手:


    1、服务器会过量的给每个人分配宽带,导致服务器自身宕机
    2、服务器偶尔会有一个超大包需要发送给客户端,然而宽带不够,导致传送时间过长


    接下来就来对症下药,解决这两个问题


    IP属地:浙江2楼2020-02-15 17:45
    回复
      第一个问题的根本原因在于:服务器对每个人都是“无私的”,会分配给每个人相同的宽带,但是不管是南方杀手的配置文件还是官方默认的配置文件,服务器对每个人分配的宽带对于1M宽带来说都是超量的,不可取的。


      我们有两个指令解决以下问题:
      sv_maxrate
      sv_minrate
      max代表最大,min代表最小
      在这里第一条指令的意思是,分配给一个人多少宽带,第二条我们不必去管他,调成0,就会自动配置


      我们都知道1M是换算成kb/s,就是128kb/s,如果你希望服务器最大能够承载9人,那么只需要给每个人分配128/9 ≈ 14.2kb/s,再次换算成这条指令可以用的参数,大概是14200,按照我自己的做法,我一般还会设置得小一些,所以我自己设置13000,那么得出的指令就是sv_maxrate 13000


      IP属地:浙江3楼2020-02-15 17:56
      回复
        宽带分配到这里就完成了,但是服务器还会卡,不信你去试一试,原因其实显而易见,毛病出在——tickrate上面。


        tickrate的意思我不多做解释,有兴趣可以自己查阅valve官方文档,本贴也不谈论细节,大致就是服务器每一秒内传输给客户端这个游戏世界内容的次数


        同样,有两个指令可以修改tickrate的最大值与最小值
        sv_maxupdaterate
        sv_minupdaterate
        经过测试,1M小水管普遍可以承载9人非突发性数据的tickrate值是8,也就是每秒更新8次世界,所以sv_maxupdaterate我设置为8


        sv_minupdaterate呢?最小值的话我是设置为5,我个人推测,这样设置可以使服务器的tickrate低于5时才会发生服务器choke,所以我是这样设置的,这个是我凭感觉设置的,可以做一个参考。


        IP属地:浙江4楼2020-02-15 18:10
        回复
          tickrate的事儿搞完了,剩下还有一个lerp的问题,对于客户端的默认设置来说,他们的cl_interp_ratio的值都是2,而8tickrate的服务器会导致lerp基数为125ms,ratio一乘,就变成了250(这个延迟是挺250的),当然可以设置ratio为0,但是客户端就看着很不爽了,所以取中,我们设置1,有两个参数可以设置


          sv_client_max_interp_ratio
          sv_client_min_interp_ratio


          我们将最大和最小同时设置为1,那么客户端就被限制在了1,现在的lerp也就在125ms


          IP属地:浙江5楼2020-02-15 18:16
          收起回复
            低宽带分配导致的低tickrate闪烁问题解决了,接下来该解决数据包突发性增长的问题了,突发性增长这个问题,其实关于突发性增长的问题,我虽然得到了解决方案,但是我自己也不太明白这么填会发生什么,我只关心用户的游戏体验。


            首先设想一下,如果客户端触发了某些事件,如:任务开始,任务结束,一堆怪物突然被榴弹全部炸死。
            这些事件会导致服务器突然处理大量数据,而客户端必须知晓服务器在处理这些数据,所以服务器会短暂、大量地投放这些数据包,那么此时肯定不用说,肯定被挤爆了,所以对于这个问题,需要解决两个问题:


            1、数据突发性增长时,该对每一个人分配多少宽带
            2、对一个超大的包分割多少次传输


            两个问题是相辅相成的,任何一个设置不好,游戏体验直接归0,有两个参数可以用于配置


            net_splitpacket_maxrate
            net_splitrate


            我给出的参数是


            net_splitpacket_maxrate 14200
            net_splitrate 20


            如果有小伙伴觉得这里的参数有什么问题,欢迎指正


            IP属地:浙江6楼2020-02-15 18:57
            收起回复
              给出我的配置文件中能解决这些问题相关的部分:


              fps_max 500
              rd_adjust_sv_maxrate 0
              sv_maxrate 13000
              sv_minrate 0
              sv_maxupdaterate 8
              sv_minupdaterate 5
              sv_maxcmdrate 60
              sv_mincmdrate 0


              net_splitrate 20
              net_splitpacket_maxrate 14200
              net_maxcleartime 0.001
              sv_client_cmdrate_difference 0
              sv_client_max_interp_ratio 1
              sv_client_min_interp_ratio 1
              sv_client_predict 1
              sv_parallel_packentities 1


              IP属地:浙江7楼2020-02-15 19:11
              收起回复
                在末尾,我有一些需要声明:


                1、这个配置文件仅限提供给学生机使用,1M的那种学生机,其他高宽带机子用这个配置文件那就是负优化,不过你可以参考这里的指令来定制一个你自己的稳定服务器
                2、别在底下留言:这么垃圾的服务器要来干什么等诸如此类的话。

                我的回答:配置一个这样的服务器是我自己对技术的渴求才搭建出来的,优化的过程中就可以得到知识与经验,何乐不为,你爱玩不玩。
                况且,一些经济不太好的人可能会选择学生机,但是当真的搭好服务器与朋友开黑时:怎么这么卡,就会放弃。

                高性能服务器比比皆是,何必在我这儿发表你的正义宣言呢?)
                3、我的配置文件只对1M网络进行优化,地图旋转、无限子弹等指令请另寻他处,此贴不做回答


                IP属地:浙江8楼2020-02-15 19:25
                收起回复
                  那么,各位,你们情人节






















                  失恋了吗?


                  IP属地:浙江9楼2020-02-15 19:28
                  回复
                    不懂帮顶


                    IP属地:湖南来自iPhone客户端10楼2020-02-16 05:03
                    回复
                      设置完hitbox都偏移上天了


                      IP属地:湖南来自iPhone客户端11楼2020-02-16 05:10
                      收起回复
                        设置完hitbox都偏移上天了


                        IP属地:广东来自Android客户端12楼2020-02-16 09:37
                        收起回复
                          4G热点能否一战


                          IP属地:浙江来自Android客户端14楼2020-02-16 18:59
                          收起回复
                            好帖 帮顶


                            IP属地:安徽来自Android客户端15楼2020-02-17 00:10
                            回复
                              新p已经上传了,正在审核,是以我的视角来观察游戏体验的。


                              这个视频说明了两点问题:
                              你必须和服务器连接质量要非常好,运行商不丢你的包,服务器也不丢你的包,体验才能接近正常。
                              服务器开了匹配之后,能轻松招到一些人进服务器,有网络不好的,也有网络好的,网络好的留着打,网络不好的人走了,打久了,剩下来的基本都是网络比较好的。


                              另外,致使卡炸的另一个原因已经找到了,4fun系列有很多神器,这些神器一下子同时使用,会导致sv的急剧下降,数据包分不了片,帧数也低,是一个恶性循环。


                              IP属地:浙江16楼2020-02-17 16:36
                              收起回复