很多人以为自由建造就是随便搭,搭错了拆掉重来就行。
创造与魔法的建造是实时同步的:玩家放下一块方块,这块方块的坐标、材质、朝向要立刻同步到服务器,再广播给附近的其他玩家。多开的时候,几个号都在同一片区域建造,每一次放置都是一次写请求,密度比打怪还高。
建造的请求密度
打怪是几秒一次的战斗结算,建造是按秒计算的放置动作。一个玩家一分钟能放几十块方块,几个号同时施工,一分钟的写请求可能上百次。这些请求都是小包,但数量多,对线路的处理频率有要求,线路如果排队,放置就会延迟,表现是方块放下去几秒才出现。
- 施工的号不要都挤在同一区域
- 大工程分时段推进
- 放置动作不要几个人同时做
- 拆建之前先停一下其他动作
把施工区域分开,请求的密度就摊薄了。
多人同屏会怎样
同一区域里的人越多,需要广播的对象越多。几个号加上路过的玩家,一次放置要发给十几个人,服务器的广播量按人数增长。多开时如果几个号挤在一起施工,广播的压力会成倍上升,表现就是附近所有人的建造都变慢。
施工怎么分工
比较合理的方式是把工程拆开,几个号各负责一片区域,或者按材料分工,有的人运材料,有的人负责放置。这样同一时间里的放置动作分散在不同位置,广播范围不重叠,线路的压力也分散了。
材料运输要注意什么
建造消耗的材料要提前准备,运输过程来回跑图,也是持续的请求。运材料的号和施工的号分开走线路,避免运输的请求插进施工的队列里。几个号各走一条代理IP之后,施工的写请求和运输的移动数据各走各的,两边的延迟都不会因为对方而变大。
拆建怎么安排
拆掉重建会在一段时间里产生密集的写入,和新建的负载强度相当。做大的修改之前,先让其他号停一下手上的动作,等修改完成再恢复施工。这个停顿看起来损失了几分钟,实际省下的是后面反复等待的时间。
产出怎么保持
建造会占用大量的在线时间,但产出同样重要。多开时可以留出一部分号专门负责资源产出,不受建造进度的影响,这样大工程推进的时候,日常的产出不会断档,负责产出的号走另一条代理IP,施工和采集互不挤占。
建造拼的是放置的密度,产出拼的是在线的时长,两者对线路的要求不一样。
把施工和产出分开安排,几个号各自稳定,大工程和日常收益可以同时推进。代理IP在这里提供的是让放置动作和资源运输分开的通道,施工的密度不会把产出也一起拖慢。
多人建造难在同屏广播,区域分开了,放置就回到单人的效率。
