- UID
- 64886
- 阅读权限
- 100
- 注册时间
- 2016-2-17
- 最后登录
- 1970-1-1
- 在线时间
- 小时
- 人气
- 点
- MC币
- 个
- 贡献
- 点
TA的每日心情 | 怒 2017-7-17 07:44 |
---|
签到天数: 71 天 [LV.6]常住居民II
|
本帖最后由 V乐乐 于 2016-2-18 11:51 编辑
首先,我来说明一下,本帖子没有抄袭MCBBS的一个帖子:
教你优化MC服务器,让你多带50%的玩家不是梦
没有抄袭!这只是我开服后的经验!
和大家分享!
我没有设定回复可见是为了让大家能更好的接触MC的服务器而不是为了要那些积分!
首先我们来说说开服脚本,
相信大家有很多人看过这个帖子
http://www.mcbbs.net/thread-478126-1-1.html
的确是非常棒的帖子!
但是讲的有点不全,有些地方甚至有误导,
所以来这里讲一下我的经验(无意冒犯)
如何判定服务器是不是卡顿?
到现在为止,仍然有很多腐竹看服务器卡不卡主要看的是延迟,殊不知真正影响服务器的方面是其他因素,这个调整主要增强的是TPS,换句话说,如果你的配置上不去,就算再修改配置也可能是徒劳无功的。
推荐开服指数:(不卡的配置)
10人服:1GB内存+1Ghz+3M宽带
20人服:2GB内存+1.2Ghz+4M宽带
40人服:4-6GB内存+2Ghz+6M宽带
百人服:12GB内存+4Ghz+10M
注:数据仅供参考在,真实情况和插件以及型号都有可能影响服务器的性能。
如何判定服务器卡不卡?
在游戏内部输入/tps查看服务器TPS,
若显示18-20(绿色)则为流畅,若显示16-18(黄色)则为略卡,若显示10-16(红色)为卡的飘飘欲仙,
如果是0-10(红色)那你的CPU/内存条估计都快冒烟了(可能限制了机能也有可能)
在游戏内部输入/ping(至少测试5次),并立即按下秒表然后等待回复“啪”
流畅的回复速度为20ms 中等的恢复速度为60ms 卡顿的回复速度为100ms(1秒以上) 如果不回复则是你的服务器没安装ESS或者ESS出现问题 (或者崩服了)
开服的参数脚本编写:
JAVA7建议的开服:
java -Xms最小内存 -Xmx最大内存 -XX:MaxPermSize=128M -XX:+AggressiveOpts -XX:+UseCompressedOops -Xincgc -XX:MaxGCPauseMillis=毫秒 -jar 开服端.jar
这些参数是什么意思呢?
-Xms 最小内存,设置大一点会让你的服务器有足够内存运行,避免卡顿和瞬间内存溢出的崩服,但是设置太大会导致内存浪费
-Xmx最大内存,就是你服务器可以使用的内存数量(MB)
-XX:MaxPermSize 你可以把他想象为插件的处理中心,设置越大,插件运算效率会更快。
-XX:+AggressiveOpts 这个是让JAVA使用对MC有益处的运算机制
-XX:+UseCompressedOops 尽量压缩内存,减少耗费,但是据说会耗费一部分的CPU(未验证)(64位JAVA才能使用)
-Xincgc 让JAVA自动释放内存,确保不会因为内存溢出导致服务器崩溃
-XX:MaxGCPauseMillis 这个需要自己设置,如果你不太会开服请删除这部分,这个指的是每次回收GC垃圾的时候最高的停顿时间,如果设置太高会导致服务器有时会出现瞬卡现象,设置太低会导致服务越运行越卡,最后直接崩服,
得看你加了什么插件,如果只有很少的插件并且配置优化很棒,则可以设置40-60,若不确定可以删除本参数或者设置为240。
Java8的参数可以是:
-Xms最小内存 -Xmx最大内存 -XX:+AggressiveOpts -XX:+UseCompressedOops
注释见上文。
开服使用的服务端挑选:
目前国内主要使用的服务端有: CraftBukkit MCPC(Cauldron) spigot PaperSpigot 少数使用Sponge
在这里说说各种服务端的好处和坏处:
CraftBukkit 基础的服务端,可以说几乎所有服务端都由CraftBukkit优化而来。
MCPC(Cauldron) 使用Forge构建,既支持MOD又支持插件,但是对插件支持不是太好,而且稳定性不太好,MOD只能加不能删。
Spigot 水龙头,非常稳定的服务端,但是据说会耗费CPU用来修补内存的漏洞,但是我亲测纯属扯犊子(雾)
PaperSpigot Spigot的优化版,可靠性不俗,进行大量优化,我最喜欢的服务端!
注意:
Spigot是在CraftBukkit基础上优化而来的,几乎完全兼容原有的插件API,所以可以认为只要同版本水桶服能用的插件就可以在Spigot上运行。如果你选择使用1.7.10以下的版本开服(纯净服),强烈推荐你使用Spigot服务端,Spigot相比水桶服拥有近百项的优化,例如异步加载、读取区块,限制实体的活动范围,修复一些内存泄露的问题等等。所以同版本下可以很容易感受到Spigot有着更出色的性能和更低的内存占用。如果你开服的版本在1.7.10或者1.8+,我会推荐你使用PaperSpigot服务端,这款服务端是在Spigot基础上优化而来的,相比Spigot有着显著的性能提升(Tiles几乎不再消耗CPU时间,爆炸算法优化,红石不再卡服,流水算法优化,区块压缩节约内存,优化Spigot自带的Anti X-ray等等),并且有许多可自定义项目(船损坏依然掉落船,各种地形生成的开关等等)。在最后需要提醒的是,如果没有特殊原因,建议使用最新版本的服务端,最新版本的服务端往往修复了目前已知的绝大多数BUG和有着更多的性能提升。例如目前的1.8.8版本就比1.8.7多修复了数个可以卡服、蹦服的BUG(利用旗帜样式堆叠卡服等)。
这部分使用了MCBBS的原帖,让大家更明白服务端的问题。
原帖:http://www.mcbbs.net/thread-478126-1-1.html
本人为了方便大家挑选服务端,已经特地翻墙收集了几乎所有的服务端(伸手党保存网盘你确定不会昧着良心?)
开服用的配置文件的配置以及优化插件的选择:
1.server.properties (几乎所有服务端都有这个配置文件)
view-distance,视距,默认值是10。含义是玩家的视距但是不是区块的加载范围(这点MCBBS的帖子写错了),默认是10个区块,视距10加载的区块是视距5的四倍。加载更多的区块则需要更多的内存和运算能力。这个指的是玩家可以看到的生物视距而不是区块加载数,至于区块加载数在 Spigot.tml中。
generate-structures,默认值是true。含义是生成和计算一些生成的建筑,例如村庄和地牢。设置为false可以减少计算的开销。这个参数很少被提起,但是对性能的提升有着不少的帮助,尤其是在地图很大,玩家发现了很多村庄和地牢等建筑。需要完全关闭这个参数,必须在Spigot.yml中把save-structure-info设置为false。并且删除你想关闭的世界(已经生成的)文件夹(例如world,在MCPC下是World主文件夹然后里面的分世界)里面的data文件夹里的Fortress.dat、Mineshaft.dat、Stronghold.dat、Temple.dat、Village.dat文件等(别全部删除里面的文件,否则..)
network-compression-threshold,默认值是256。这个参数只有1.8的服务端才有,含义是网络封包压缩的阀值。例如设置为16,代表封包大于16才被压缩,设置成256代表着封包大于256才被压缩。设置的值越小则会压缩更多的封包,可以使得宽带使用减少,提高网络流畅程度,但是也会增加性能的开销。如果性能够用可以设置为128,使得更多通讯封包被压缩,一定程度上减少宽带使用率又不会带来太多的性能开销。设置的值太小,例如小于等于32会明显增加对性能的开销,不建议这么做。本人建议设置家用服为128,大服但是网络不好(延迟较高)设置为64.
2.Bukkit.yml
这个是CraftBukkit自带的配置文件,但是由于大多数服务端都是由CraftBukkit修改而来,所以大多数服务端都会有的。
spawn-limits,意思是限制生物/实体的生成。这个指的是服务器每个人可以生成的最多实体,比如设置animals为20那么意思就是服务器有10个人在线时最多只能生成10*20=200个动物的意思。
chunk-gc,控制着区块的回收,单位是啥我也不懂但是知道什么意思(1/20秒),
period-in-ticks是指每过多少单位回收一次需要回收的区块,设置的太小会导致回收过于频繁而影响性能,设置的太大会导致需要回收的区块迟迟不回收使得内存占用过大。合理的数值我觉得得看服务器状况,假如服务器剩余性能(主要指CPU),但是内存比较有限的话建议设置为300,若服务器TPS较低(并非延迟,可以在游戏内部输入/TPS查看,见开头)则设置为500.
load-threshold是指达到多少需要回收的区块的时候才进行回收。例如设置成300,只有当需要回收的区块到达300份以上才进行回收,合理的设置这个数值可以使得额外只多占用一丁点内存但是让服务器可以更少使用CPU的占用率。20人服设置为300比较合适,50人服设置为550,百人服则需要800。
autosave,自动保存存档(地图、玩家数据等)的周期,单位是Tick(1/20秒),如果你使用了定时保存的插件,例如Saveit、AutoSave、AutoSaveWorld等等,你可以将他设置为0,即关闭这个功能。这样可以减少服务器瞬卡发生的可能。但是亲测效果不好,这个保存效率并没有AutoSave高,而且容易受到TPS和内存的制约影响甚至导致服务器出现区块错误!
未完待续
|
评分
-
查看全部评分
|