我的世界服务端怎样做可以像MCBBS服务端一样联机

服务端整合包版块
请务必注意
需要区分的是,整合包发布区用于发布单机的整合包,一般是多模组整合。
而服务端整合包一般发布的是服务端整合包,与单机整合包不同,服务端整合包是搭建服务端来搭建服务器,请务必区分。需要寻求单机整合包资源请点击上方文字。
必读的规定:首先请阅读区规:http://www.mcbbs.net/thread--1.html欢迎来到服务端整合包版块,请务必阅读版规后浏览:
http://www.mcbbs.net/thread--1.html*帖子内必须包含服务端内所有插件截图、所有MOD截图、服务端控制台开启截图;*标准标题为:[版本号][服务端类型]服务端名称
服务端应该如何使用?首先你需要确保先端口映射:http://www.mcbbs.net/thread--1.html服务端整合包使用教程:http://www.mcbbs.net/thread--1.html
如果想为版块奉献些什么,应该去哪里?优秀服务端申请帖:http://www.mcbbs.net/thread--1.html发表服务端:http://www.mcbbs.net/forum.php?mod=post&action=newthread&fid=176
昨天&01:01
前天&21:26
昨天&09:35
前天&20:38
版权所有 不得转载 &
本网站图文非经原创作者同意不得转载或公开传播后使用快捷导航没有帐号?
查看: 5866|回复: 5
[教程]内/外网开服完整详细文字教程,无需第三方软件5961字
TA的每日心情开心 22:14签到天数: 1 天[LV.1]初来乍到主题帖子积分
Lv.2 草方块, 积分 90, 距离下一级还需 -40 积分
Lv.2 草方块, 积分 90, 距离下一级还需 -40 积分
点击注册,查看详细帖子内容
才可以下载或查看,没有帐号?
本帖持续更新
首先,你可能要问我为什么要写这个帖子呢?不是已经有很多类似的教程了吗?是的,的确,但是我一直觉得,绝大多数的帖子都是给有较好电脑基础的人看的,而大多想要开服的朋友可能并没有这类基础知识。所以有必要写一篇简单开服本身就很麻烦,简单不到哪里去、易懂但这总是做得到的的具体开服教程,以方便所有其他想自己开服的朋友,尤其是那些只是想开一个微型服,但又无从下手的玩家。
其次,你又可能要问,为什么不用蛤蟆吃/花生壳呢?这样不是比较方便吗?恩,这些工具确实可能比较方便,但是弊端也很多。花生壳我没碰过,就不多做评论了;蛤蟆吃我可是用过滴,我这里多批评几句:
设置也没方便到哪里去客户端需要安装IP每次都会变每次关服后再开都麻烦有人数上限具体原理不知道,有使用风险毕竟还需要多安装一个软件
-------------------------------------------------------------------------------------------------------------------------------------------------------
零、检查自己电脑的配置
哈哈为什么要用零呢?因为这也算是个“不是步骤的步骤了吧”......检查自己电脑的配置不是常识吗?况且玩得起Minecraft单机的电脑一般开服都没什么问题。算了,还是讲一下吧......
1.确保你的电脑至少有2G的RAM,建议4G或以上。
查看方法很简单,右键计算机,单击属性就能看到了:
这里可以看到我自己的电脑安装了16G内存,完全足够了。
2.确保你的CPU至少为2009年以后研发的CPU,且频率高于1.5GHz,建议2GHz以上,否则可能运算能力不够。
同样是看上面的那幅图:
可以看到这里我的CPU频率是3.3GHz,至于生产年份,把你自己的CPU型号放到百度里搜一下就行了。
注:以上方法仅供简略参考,CPU性能是否足够,还受制于架构、支持的指令集、TDP、核心数、线程数以及散热性能等等复杂指标,具体是否可以带的动服务端,还请用鲁大师运行一次跑分,CPU单项分数&30000者即可开服。
--------------------------------------------------------------------------------------------------------------------------------------------------------
一、了解内外网的区别。
如果这不是你看的第一篇开服教程,你一定听说过什么内网外网......但是鉴于有些人可能听不懂,所以这里讲解一下。
外网是指电脑直接连接网络提供商服务器。
内网是指电脑连接路由器,而路由器连接网络提供商的服务器。
为了方便理解,我做了一张图。
这下明白了吧。
好了,我相信你一定听说过什么开服一定要外网的说法。是的,开服的确需要外网,原因我用笼统的语言解释一下:
路由器就相当于一层防火墙,会禁止外部的主动数据传入,而服务器有需要接受外部数据,所以必须使用外网。
现在你一定要问了,那既然这样为什么我们内网还能访问网页呢?原因就是:
访问网页等我们的日常行为都是外部被动传入数据,也就是说传入的都是你要求传入的数据,所以访问网页没有问题;而服务器需要接受外部主动要求传入的数据,所以需要外网。
再笼统一些,我做个比喻:
外网就好比一个普通人,别人问你问题你会回答,别人也会回答你问的问题。
内网就好比一个小气的人,别人问你问题你不回答,而别人却会回答你问的问题。
那你可能又要问了,既然外网“功能更多”为何还有“内网”存在呢?
不尽然,内网的好处其实也很多,应用范围也比外网要广得多。
比如,在同一个办公室内,不同的电脑经常需要互相传输数据,而在局域网(和内网是一个意思)的环境下,数据可以直接通过路由到达目标电脑,这种速度和电信宣传的20M宽带啊,50M宽带什么的相比,简直就是火箭vs乌龟的水平。而且,大多数的路由器都拥有一层防火墙,相当于给了内网电脑一层额外的保护,免受很多蓄意攻击。
相比之下,除了服务器应用以外,外网的网络环境几乎没有什么其他的好处。并且考虑到广域网IPv4地址由于不能满足世界上所有设备的需求而资源捉襟见肘,鼓励/强迫家庭用户使用内网也成为了服务商没办法的办法。
好了,偏题了,立刻进入下一章节。
----------------------------------------------------------------------------------------------------------------------------------
二、了解自己的网络情况
首先:强烈建议使用有线网络开服!!!否则可能导致服务器不稳定!!
想必大多数朋友都用的是Windows电脑,我也是,所以这里只讲Windows,用其他系统的可以跳过这一步,网上自己找相应的教程。
既然开服需要外网,那么该怎么判断自己是不是外网呢?Windows自带有这个功能可以帮助你判断。
1.按Windows+R打开运行
2.输入cmd,按回车,得到这个窗口
3.输入ipconfig,按回车,得到这些结果
4.可以看到我这里真正使用的网络是最后一项,因为其他的都已经断开。看那一项里的“IPv4 地址”,我这里是192.168.1.4。
5.如果你的地址和我一样,是192.168.开头,或者是10.开头,那么就肯定是内网,但是没有关系,照样可以开服;如果你的地址不是192.168或者10.开头,那很可能是外网。总之,请继续往下看。
----------------------------------------------------------------------------------------------------------------------------------
三、检查网络硬件
这步很简单,我们主要需要确认的是你和网络提供商服务器中间是不是只有一层Modem有些地方可能会出现“电脑---路由器*n---Modem---网络供应商服务器”的情况。
请你查看一下你的电脑的网线是否直接接上了标有“Modem”/“猫”/“光猫”等的设备。
如果连接到的是别的设备,请找到你的Modem,将你的电脑和Modem用网线直接连接,注意要连接Modem的Lan接口,千万不要接错到Wan接口上了。
科普一下,WAN=WideAreaNetwork=广域网,LAN=LocalAreaNetwork=局域网,记住了这点,在检查modem连接的时候就方便多了。
----------------------------------------------------------------------------------------------------------------------------------
四、下载、运行服务端
顾名思义,把服务端下载下来运行就可以了
有多种服务端可以选择,接下来简要介绍+提供下载:
(此贴的服务端更新可能不是很及时,请优先参考
Official 官方服务端
;;;;;;;;需要快照服务端的请关注
中的快照发布帖
最方便,不支持插件,不支持mod,稳定性最高
运行方式:双击exe即可运行
&——点击这里下载
稍微复杂,支持插件,不支持mod,稳定性其次
运行方式:自己制作一下bat文件,感谢 在提供的教程,这里复制一下。
1.将下载到的jar文件放到你想要让服务器安装的目录下;
2.新建一个txt文本文档,打开并输入:@ECHO OFFjava -Xms1g -Xmx1g -jar &此处换成你下载到的文件的文件名&.jarpause
3.保存该文档,并将文档重命名为bat后缀(文件名任意);
4.双击该bat文件即可运行服务器;
5.输入stop正常关闭服务器。
这里补充一下,代码的第二行中 “-Xms1g”是指最低内存1G,“-Xmx1g”是指最高内存1G,自己可以根据情况更改,建议设置相同的值。小型服务器一般可以用1个玩家=128M来计算需要多少内存。比如如果最高需要10个玩家在线可以这样:128M*10=1280M。可以把代码改为“java -Xms1280m -Xmx1280m -jar &......&.jar”。这个计算方法仅供参考,纯属经验,没有实际依据,请勿刻板套用!!
&——点击这里下载
稍微复杂,支持插件,不支持mod,相对于Craftbukkit拥有许多性能优化(以及原生支持防X-ray哦),稳定性比CraftBukkit略好
运行方法:和Craftbukkit运行方法相同。
&——点击这里下载
最复杂,支持插件,支持mod,也是由于mod的原因,稳定性最低
运行方法:和Craftbukkit运行方法相同。
下载后,请切记将服务端运行一次,会生成一堆文件,等到服务端完全加载完成时候再关闭服务端!这一步是必须步骤,如果不做,其他的很多步骤(特别是针对内网)将无法操作!
操作到这一步,内网和外网开始有所不同了!
如果内网请从第五步开始继续阅读,如果是外网请直接跳到第八步!
----------------------------------------------------------------------------------------------------------------------------------
五、破解Modem超级用户密码
看了这标题你可能会非常感兴趣,这开服和破解Modem有什么关系?
那好,我解释一下:大多数的网络提供商为了防止用户乱动Modem设置导致不能上网,都会限制用户可以使用的功能。而端口映射,一个非常重要的功能,就通常在限制行列中。内网开服必须使用端口映射,所以需要破解Modem的超级用户密码,开启端口映射。
先行警告!如果你拿到了超级用户密码千万不要自以为聪明去乱动其他设置,弄坏了的话,我概不负责!!!
我就拿我家的Modem来说:
这是我家的Modem,是电信的F420光猫。
Modem的背面有一些文字,提供了本机地址、用户名和密码
你可能会想:密码都给了还破解什么啊?!不对!不信你在浏览器里输入给你的IP地址+用户名+密码试试:
什么??!!居然什么功能都没有!!!端口映射无从寻找!!怎么办啊??!!
那当然啦,服务商还有一个更高级的用户,可以获得所有功能...
比如,这就是我用破解的telecomadmin账户登陆后的同一界面:
功能多了超多有木有?!
好啦,这个账户自然不是提供给你的,由于Modem不尽相同,所以我就给一个普适性的破解密码思路:
1.通过一个特定地址(如果你使用F420请点击,如果是其他modem请自行度娘)获取Modem的备份信息
2.解压、解密这个文件(可以使用offzip软件,下载)
3.用记事本打开,用查找功能寻找超级账户用户名
4.找到紧跟着后面的密码。
你自己的Modem具体怎么破请自己问度娘,只要搜索“&设备型号&+破解”就行了,比如我就会输入“F420 破解”,教程非常多,因为相对比较复杂而且与其他资源的重复度比较高所以这里就不详细解释了。
----------------------------------------------------------------------------------------------------------------------------------
六、设置端口映射
端口映射是什么呢?端口映射就相当于把你的电脑的一个端口当做外网处理。这样,既然服务器端口变成了“外网”自然就可以开服啦。
再做一次比喻,端口映射就好像允许那个小气的人回答一个特定的问题——比如有人问他:我能进你的服务器玩吗?有了端口映射他就可以回答:可以。呵呵这个比喻好奇葩有没有?
好吧,我做个图解:
没有端口映射的时候你是这个情况:可以看到Modem阻碍了服务端电脑所有的数据传入
而做了端口映射以后你是这个情况:服务器数据传入的线路被打通了
端口映射在你的Modem里面可能以各种名字、在各种位置出现,比如我这里就是这样的:
还是一样,你的路由器中端口映射设置的具体位置自己问度娘。
好了,如果你找到了这个界面,那就容易了。首先,回到第二部的那个cmd窗口:
可以看到我这里的IPv4地址是192.168.1.4。
找到你自己的,并且按照下面这张图填入。
其中,广域网端口可以填写的任意数字,随便找一个你喜欢的数字就可以了,不冲突即可(建议填写25565)
虚拟主机端口要填写Minecraft服务器设置的端口,默认是25565,除非冲突,否则强烈不建议修改。如果你实在想改,请找到server.properties,把“server-port=”后面的数字改成你喜欢的数字,同样可以填写的任何数字;如果找不到server.properties文件,请你重新仔细阅读第四步的最后几行字。
虚拟主机IP地址要填写你自己的IPv4地址(比如我就填192.168.1.4)。
如果你的端口映射界面没有“广域网端口”这一项也不要担心,这时你的内网端口就是你的广域网端口。
接下来添加这条规则就可以了
PS 懂一点的人可能问我为什么不直接用MAC映射,原因很简单——很多modem/路由器都是不支持的。
----------------------------------------------------------------------------------------------------------------------------------七、为主机开启静态地址,手动跳过DHCP
为什么要这么做呢?首先要了解一下DHCP是什么。DHCP服务是什么呢?所有连接到Modem的电脑都需要一个内网IP地址,而DHCP服务的目的就是自动分配这个地址。
那为什么要跳过呢?
原因很简单,因为如果使用DHCP自动分配IP地址,可能会导致自己的内网IP变动,使端口映射设置失效。所以我们要手动给电脑分配静态内网IP地址。
首先我们要获取开服电脑网卡的唯一识别码,也就是MAC地址,等一会儿会用到。
1.按照上面的方法打开cmd
2.输入“ipconfig /all”查看全部设置
3. 找到你正在使用的网络中,“物理地址”这一栏,这就是你的MAC地址,我这里是“B8-88-E3-nn-nn-nn”
好了,记下这一串字符,然后打开刚才的Modem超级用户界面,找到“静态地址管理”一栏,同样的,因为modem不同,具体位置自己问度娘。比如,我的在这里:
可以看到我已经给自己设置好了静态地址,你可以按照下图输入:
其中IP地址是你上一部中获取的内网IP,MAC地址是你刚刚获取的“物理地址”。
接下来点击添加,静态网络就算设置完毕啦!DHCP在自动分配地址前都会先到静态网络设置列表里查找匹配项,所以DHCP对你的电脑不会启用(网络依然可以正常使用)。以后你无论什么时候将电脑连接上Modem内网IP都应该是一样的,端口映射就没有问题啦!
----------------------------------------------------------------------------------------------------------------------------------
八、最后步骤
现在一切已经准备就绪,但是还需要最后几部:
1.找到自己的外部IP地址。
这一步很简单,只需要到百度里搜索“ip”就能看到了。
2.(重要)允许盗版登陆
用记事本打开server.properties,寻找到里面的“online-mode=”这一栏。
后面默认是true,如果需要允许盗版登陆请改为false,如果仅对正版开放不建议修改。
----------------------------------------------------------------------------------------------------------------------------------
九、进入服务器
即使开服成功了,进入服务器的方法也分网络环境不同而不同。
以下内容中
xxxxx=server.properties中设置的端口=虚拟主机端口
yyyyy=modem中设置的广域网端口
当然,如果你的广域网端口、虚拟主机端口、server.properties里的端口值都相同,自然用的是同一个数(xxxxx=yyyyy)。
1.如果你的服务端和客户端在同一台电脑上:
在多人游戏里输入“localhost:xxxxx”即可。如果“localhost:xxxxx”无效,请尝试“127.0.0.1:xxxxx”。
2.如果你的服务端电脑和客户端电脑在同一个局域网中:
在多人游戏中输入“&服务端的局域网ip地址&:xxxxx”即可。比如如果有一台电脑和我开服的电脑在同一个局域网中,客户端里输入“192.168.1.4:xxxxx”即可。
3.如果你的服务端电脑和客户端电脑不在同一个局域网中:
在多人游戏里输入“&服务端的外部ip地址&:yyyyy”即可。而如果你的电脑直接连接外网,只需要输入“&服务端的外部ip地址&:xxxxx”即可。比如说我内网开服,外部ip为101.86.nnn.nnn,server.properties和虚拟服务器端口里设置的是25565,广域网端口设置的是30000,那么别人想联机就要输入101.86.nnn.nnn:30000。
注意!连接ip的符号是英文标点:而不是中文标点:!错误输入标点将不能进入服务器!
----------------------------------------------------------------------------------------------------------------------------------
十、常见问题
运行后提示“java不是内部或外部命令 也不是可运行的程序”怎么办?
玩MC的不装java你想干嘛?!只有我自己进得了服务器,是什么情况???
端口映射设置不正确,请仔细检查;或者是[7]的问题。运行后自动闪退,咋办???
可能是[1]的问题,如果不是,则请检查自行制作的bat文件,如果仍没有问题则请更换服务端。服务器无论怎样也只能进入一个玩家,第二个玩家不能加入,server.properties中的max-players也没问题,怎么办?
请更换服务端,如果还不行请重装java,如果还不行请重装系统→_→,如果仍然不行......那就暂时无解了......我用了花生壳,请问XXXXXXXXX里的XXXXXXXXXXXXXX该怎么设置啊?
对不起,花生壳我不用,这类问题请别问我。我的modem/路由器型号是XXXXX,请问XXXXXXXXXX步怎么设置啊?
我又不是某个巨型蓝色机器猫,怎么可能手边有你的设备啊...你想知道?问百度去。→_→尼玛我去去去去去去去去我全部都检查过了尼玛怎么被人还是进不来啊啊啊啊啊啊啊啊?!
额,那你读
吧→_→(这篇文章比较技术性,如果读不懂.....请另外请教高人→_→【我可不是】)
--------------------------------------------------------------------------------------------------------教程到此结束
图裂了别找我 我是搬运的 下载地址某些我添加上去了 某些没有 求精!~~~~
5人 等
过:
他们
上一篇:下一篇:
梦之地 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、管理员和版主有权不事先通知发贴者而删除本文
TA的每日心情开心 20:33签到天数: 36 天[LV.5]常住居民I主题帖子积分
Lv.5 甘蔗, 积分 653, 距离下一级还需 347 积分
Lv.5 甘蔗, 积分 653, 距离下一级还需 347 积分
给赞...反正我电脑开不起
TA的每日心情奋斗 23:12签到天数: 45 天[LV.5]常住居民I主题帖子积分
风纪委员总管 服务器论坛总管理之一
Lv.5 甘蔗, 积分 1419, 距离下一级还需 -419 积分
Lv.5 甘蔗, 积分 1419, 距离下一级还需 -419 积分
那就.....给..给你赞咯
我就是官方的权威!我就是官方的武器!
该用户从未签到主题帖子积分
Lv.2 草方块, 积分 54, 距离下一级还需 -4 积分
Lv.2 草方块, 积分 54, 距离下一级还需 -4 积分
我是mcbbs原作者cyqsimon
希望LZ加上原帖链接,谢谢
TA的每日心情奋斗 08:17签到天数: 14 天[LV.3]偶尔看看II主题帖子积分
Lv.2 草方块, 积分 36, 距离下一级还需 14 积分
Lv.2 草方块, 积分 36, 距离下一级还需 14 积分
{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}{:9_391:}
TA的每日心情开心 11:10签到天数: 1 天[LV.1]初来乍到主题帖子积分
Lv.1 泥土, 积分 15, 距离下一级还需 10 积分
Lv.1 泥土, 积分 15, 距离下一级还需 10 积分
你这个是盗的
嗨!您好:
欢迎来到 梦之地。
我的名字叫梦可欣
你可以叫我欣儿哟~?
很高兴能够为您服务!
如果已经注册
还没有账号请
Powered by我的世界PC如何开服,要mcbbs里服务器中的服务器一样_百度知道查看: 88212|回复: 293
您尚未登录,立即登录享受更好的浏览体验!
才可以下载或查看,没有帐号?
本帖最后由 jiongjionger 于
15:17 编辑
* 零 - 系统的选择 *
(网页后台可以跳过本段)关于系统的选择,Linux类系统(Centos、Redhat等)固然高效、稳定,但选择系统也一定要考虑到自己的熟悉程度和学习能力。不要盲目为了高效而选择一个自己完全不熟悉甚至从未使用过的系统,一旦出现了突发情况,原本只需要几分钟解决的问题由于不熟悉系统的操作用几个小时来解决,这样真的合适么?在内存足够使用的情况下,Windows和Linux开服的性能差距几乎可以忽略。但是如果你熟悉Linux的操作,我依然会推荐你使用Linux系统,毕竟大服需要的Mysql、Redis在Linux下的性能往往高过Windows不少。如果你有较强的学习能力,打算入坑Linux开服,我会推荐你使用Centos6.6(稳定性突出、可靠性不俗、大量教程和文档)。
* 一 - JVM版本的选择 *
(网页后台可以跳过本段)JVM(Java Virtual Machine)也就是Java虚拟机,俗称Java运行环境。关于选择JRE还是JDK的选择,我推荐使用JDK,JDK包括运行环境(JRE),在此基础上增加了一些性能调优工具如VisualVM。而JVM的版本,非常不推荐使用Java6,因为有不少插件已经放弃了Java6的支持。Java7和Java8则是不错的选择,如果不是模组服务器,推荐使用Java8,Java8相比Java7主要的性能提升便在于HashMap上,而无论Minecraft服务端本身还是插件都大量使用了HashMap。所以对于Minecraft服务器来说,使用Java8带来的性能提升还是比较可观的。
* 二 - 服务端的选择 *
从服务端的选择开始就注定了性能优劣的起步水平,现在依然有不少人认为CraftBukkit(水桶服)的兼容性、稳定性要远远好于Spigot(水龙头)。然而这是一个误区,Spigot是在CraftBukkit基础上优化而来的,几乎100%兼容原有的插件API,所以可以认为只要同版本水桶服能用的插件就可以在Spigot上运行。如果你选择使用1.7.10以下的版本开服(纯净服),强烈推荐你使用Spigot服务端,Spigot相比水桶服拥有近百项的优化,例如异步加载、读取区块,限制实体的活动范围,修复一些内存泄露的问题等等。所以同版本下可以很容易感受到Spigot有着更出色的性能和更低的内存占用。如果你开服的版本在1.8+,我会推荐你使用PaperSpigot服务端,这款服务端是在Spigot基础上优化而来的,相比Spigot有着显著的性能提升(Tiles几乎不再消耗CPU时间,爆炸算法优化,红石不再卡服,流水算法优化,区块压缩节约内存,优化Spigot自带的Anti X-ray等等),并且有许多可自定义项目(船损坏依然掉落船,各种地形生成的开关等等)。在最后需要提醒的是,如果没有特殊原因,建议使用最新版本的服务端,最新版本的服务端往往修复了目前已知的绝大多数BUG和有着更多的性能提升。例如目前的1.8.8版本就比1.8.7多修复了数个可以卡服、蹦服的BUG(利用旗帜样式堆叠卡服等)。
* PaperSpigot 服务端已经整理到网盘:
* 三 - 启动脚本 *
(网页后台可以跳过本段)越多的启动参数反而导致越多的性能损耗。在不了解JVM工作原理的情况下,不要随随便便增加一大堆无用的启动参数。一般情况下指定最小内存、最大内存即可,Java7还需要指定一个大于等于128MB的MaxPermSize。GC回收模式等等参数都应该由JVM自动选择,例如国外论坛流传的使用G1GC可以优化MC性能,的确,G1GC减少了Full GC的时间,但是会额外增加10%~30%的CPU时间占用,完全得不偿失。还有流传很广的设置MaxGCPauseMillis参数。这个参数的含义是控制GC垃圾回收的最大时间。设置一个很小的数值的确从表面来看服务器没有瞬卡的问题了,但是这样会导致每次垃圾回收都不够深入和全面,这样的结果就是服务端运行时间越久越卡,而且很可能出现OOM(内存不够了)直接蹦服。
例如Java7的开服参数可以是(大型插件非常多,MaxPermSize可以设置得更高):-Xms最小内存 -Xmx最大内存 -XX:MaxPermSize=128M -XX:+AggressiveOpts -XX:+UseCompressedOops
Java8的参数可以是:-Xms最小内存 -Xmx最大内存 -XX:+AggressiveOpts -XX:+UseCompressedOops
* -XX:+AggressiveOpts的含义是尽可能的使用更多对性能有帮助的优化功能* -XX:+UseCompressedOops的含义是指针压缩,可以减少一定的内存占用(64位才支持)
* 四 - 参数的优化 *不要小瞧参数的修改带来的优化空间,有时候只修改一个参数,就是在线100人TPS19和TPS16的差距。参数的调整分别为server.properties(原版服务器就有),bukkit.yml(水桶服或者衍生版就有),spigot.yml(Spigot或者衍生版就有),paper.yml(PaperSpigot才有)。
* 其中对性能有显著影响的前面为红色的星号,有中等程度影响的为蓝色的星号,没有颜色的星号是建议设置项
server.properties中可以优化性能的参数:
* view-distance,视距,默认值是10。含义是玩家的视距也就是加载的区块范围,默认是10个区块,视距10加载的区块是视距5的四倍。加载更多的区块则需要更多的内存和运算能力。推荐将这个值设置在5或者6,如果在线人数非常多可以设置为4。降低视距可以有效减少内存的占用,也能有效提高TPS,还可以减少宽带的使用量。这个参数对性能提升是立竿见影的。
* generate-structures,默认值是true。含义是生成和计算一些特殊的环境,例如女巫塔、村民到达数量生成铁傀儡等等。设置为false可以减少这些特殊环境生成和周期性检查带来的开销。这个参数很少被提起,但是对性能的提升有着不少的帮助。例如我的服务器生存子服有130人左右在线,TPS在17左右,关闭这个功能后提高到了19左右。需要彻底关闭这个参数,还需要在spigot.yml中把save-structure-info设置为false。并且关服后手动删除每个世界(例如world、world_nether、world_the_end)下的data文件夹里的Fortress.dat、Mineshaft.dat、Stronghold.dat、Temple.dat、Village.dat文件。
network-compression-threshold,默认值是256。这个参数只有1.8的服务端才有,含义是网络封包压缩的阀值。例如设置为16,代表封包大于16才被压缩,设置成256代表着封包大于256才被压缩。设置的值越小则会压缩更多的封包,可以使得宽带使用减少,提高网络流畅程度,但是也会增加性能的开销。如果性能够用可以设置为128,使得更多通讯封包被压缩,一定程度上减少宽带使用率又不会带来太多的性能开销。设置的值太小,例如小于等于32会明显增加对性能的开销,不建议这么做。
bukkit.yml中可以优化性能的参数:
* spawn-limits,意思是限制实体的生成。这个并不是限制一个区块生成多少实体,而是针对一个人可以生成多少实体。例如monsters: 70,在线人数只有10个人,则最多只能生成700个怪物实体(僵尸、骷髅、蜘蛛等等),适当的设置这些参数可以减少实体对性能的影响。
* chunk-gc,控制着区块的回收,单位是Tick(1/20秒),period-in-ticks是指每过多少tick回收一次需要回收的区块,设置的太小会导致回收过于频繁而影响性能,设置的太大会导致需要回收的区块迟迟不回收使得内存占用过大。合理的数值一般是300~400。load-threshold是指达到多少需要回收的区块的时候才进行回收。例如设置成300,只有当需要回收的区块到达300以上才进行回收,合理的设置这个数值可以使得额外只多占用一丁点内存却使得区块回收的性能开销可以被无视。一般设置为300~600比较合适。
autosave,自动保存存档(地图、玩家数据等)的周期,单位是Tick(1/20秒),如果你使用了定时保存的插件,例如Saveit、AutoSave等等,你可以将他设置为0,即关闭这个功能。这样可以减少服务器瞬卡发生的可能。
spigot.yml中可以优化性能的参数:
* user-cache-size,1.7.5以上版本才有,其控制用户缓存的大小,如果你的服务器玩家很多,可以设置的更大一些,例如5000。
* save-user-cache-on-stop-only,1.7.5以上版本才有,其含义是是否只在服务器关闭/重启的时候保存用户缓存,设置为true可以提高性能。
* view-distance,同server.properties里的view-distance一样。
* chunks-per-tick,是指每tick(1/20秒)扫描计算多少区块,计算的内容是作物的生长。默认值是650,可以设置成350来提高性能。极端的情况可以设置成150,但是会使得作物生长的速度明显变慢。
* max-tick-time:&&(仅较新的版本有该参数,如1.8.3+)是指每tick,实体和tile最多可以用的时间(单位是毫秒),要明白其含义首先要解释什么是TPS,TPS的意思是每秒有多少tick,最大值是20,也就是每秒tick20次,每次50毫秒。如果运算量过大导致每tick计算了超过了50毫秒,那么TPS就会下降,一旦TPS低于15就会产生明显的卡顿。在这参数中tile代表着熔炉、箱子、牌子、骷髅头等等所能占用的最大时间,entity是指的实体,例如动物、怪物、村民、展示框、掉落物、船、矿车等等。设置tile和entity的总和小于等于30则能明显降低tile和entity对TPS的影响,而服务器运算资源几乎一大半都是由这两者消耗的。设置tile为10,entity为20比较合适,如果实体非常多,还可以设置tile为6,entity为24。
* anti-xray,服务端自带的反透视功能,俗称假矿。这个功能相比插件版的假矿来说,额外内存占用极少,少到可以忽略,并且矿物的变动计算是异步进行的,对TPS的影响很小。engine-mode为1则是隐藏矿物,engine-mode为2则是将非矿物也伪装成矿物,engine-mode设置为2的效果最好,但是会额外吃一定的性能和宽带,但是engine-mode设置为1无法防御矿追。具体如何权衡请自行决定。如果你不需要本功能,例如你是纯RPG服务器,可以直接把enabled设置为false关闭这个功能,提高性能。
nerf-spawner-mobs,简单来说就是让刷怪笼生成的怪物变成白痴,直观感受就是刷怪笼刷出的怪不能攻击了。默认为false,意思是不开启。设置为true可以获得一定的性能提升。
* entity-activation-range,这个参数是控制实体的活跃范围,例如monsters: 32意思是在玩家附近32格范围内的怪物才会活跃(被计算AI等),减少这个数值可以明显提升性能,但是设置得过小会使得游戏难度大幅降低。一般可以把monsters设置为24,animals设置为12,misc设置为2(misc主要是掉落物,设置2可以使得掉落物几乎不再卡服)。
entity-tracking-range,这个参数是控制实体的可见范围,这个参数不会影响性能,对宽带的影响也极小。不建议修改这个参数,但是适当的降低数值可以减少客户端的卡顿。
* random-light-updates,随机的光照更新,设置为true的话服务器会随机更新光照,并且在区块加载的第一个tick运算光照逻辑。设置为false可以提高不少性能。
* save-structure-info,在前面已经介绍了。
max-bulk-chunks,1.7.10+才有这个参数,意思是每个数据封包里塞多少个区块。适当提高这个数值,例如从10提高到15可以减少网络卡顿和客户端读取区块的速度,但是设置得过高会导致客户端崩溃。
* max-entity-collisions,实体碰撞箱的阀值。建议设置为2,可以减少密集卡服的问题。
* max-tnt-per-tick,每tick(1/20秒)最多计算多少TNT爆炸,设置为20可以显著防御TNT蹦服。
paper.yml中可以优化性能的参数:
keep-spawn-loaded,spawn区块是否常驻内存,设置为false可以减少一定的内存占用和计算量
* tick-next-tick-list-cap,每tick最大的运算量,减少数值可以提高TPS,例如设置为8000
* tick-next-tick-list-cap-ignores-redstone,达到上面的运算阀值是否无视红石运算,设置为true可以显著减少红石对服务器性能的影响。
* optimize-explosions,是否开启爆炸算法优化,设置为true可以提升一定的服务器性能
* use-async-lighting,是否让光照的逻辑运算异步化,设置为true可以使得光照运算不再影响TPS,强烈推荐设置为true
* cache-chunk-maps,是否缓存chunkmaps,可以让区块的数据更多得被复用,可以一定程度提高性能,推荐设置为true
* fast-drain,快速液体流动运算,推荐设置为true,可以减少液体流动运算对服务器性能的影响
* 五 - 优化插件的选择和一些插件建议 *
服务器的主要性能开销在于实体的运算(往往占用了一半的CPU时间),所以定时清理实体(怪物、动物等)和限制密集卡服的插件对性能的帮助是最大的。我在这里厚颜无耻的推荐下自己的插件——NeverLag。具体功能请在此查看:
很多插件都支持使用Mysql来存储数据,例如CoreProtect、QucikShop、LWC等等,如果条件允许的话,请使用Mysql来代替文本数据库和Sqlite。这么做可以一定程度的提高服务器的流畅程度。
安装插件的时候也不要太懒使用网页后台现成的插件或者使用论坛上搬运的网盘地址下载。请到bukkit或者spigot官网看看插件有无新版本。举个例子,RPG服常用插件MythicMobs很多服务器还在使用1.*的版本,然而目前最新版本为2.0.6。2.0.0相比1.*就有着不少的性能提升。2.0.5版本相比老版本的改动在于修复bug和大幅提高性能,2.0.6更是使得怪物技能和扫描异步化,明显提高了性能。所以说往往新版本的插件都意味着性能的提升和bug的修复,如果版本兼容,尽可能使用最新稳定版的插件。
* 六 - 玩法也对性能有帮助 *
官方设置一些玩家的聚居点(类似新手村)可以让一部分玩家集中在一起,可以使得加载的区块数量减少(玩家共享了视野),也能减少玩家跑图带来的性能开销。提供公共的刷怪场也能减少玩家自建刷怪场的几率,可以一定程度上使得服务器更为流畅,提供公共的农场饲养动物也有类似的效果。
七 - 找出卡服的真凶
1. 如何使用TimingTiming是Bukkit和其衍生服务端版本(Spigot、MCPC+、PaperSpigot等)自带的一种性能诊断工具,可以很方便的查看服务端的性能是由那些部分所消耗的,以图表形式还能直观的查看重点性能消耗大户,对于腐竹来说可以很方便的定位卡服的插件或者卡服的原因,对于插件开发者来说可以直接定位到性能不佳的程序方法(Function),方便优化插件性能。为了确保真实性,下面的演示全部在真实的服务器上操作,为了保护玩家隐私和密码安全,已打码处理。
要使用这个功能,首先你需要在服务器内或者直接在后台内输入指令 —— timings on 开启统计,具体如图所示:
& & & & & & & & & & & & & & & &
为了得到准确的统计结果,建议等待至少15分钟,如果是在瞬间卡顿的峰值附近,建议至少等待5分钟。
在等待足够的时间后,输入指令 —— timings paste 稍等片刻,会生成一串网址,记下这个网址(图片已打码)
& & & & & & & & & & & & & & & &
现在打开图中的网址,即可查看服务端的『性能分析报告』了。需要注意的时候,不需要使用的时候请使用 timings off 指令关闭性能统计,否则会带来不必要的性能损耗。
<font color="#. 如何读懂Timing
首先,我们打开刚刚生成的网址,我们先从基础的信息开始阅读。
& & & & & & & & & & & & & & & &
(点击可以查看大图)
Total是指从统计开始一共服务端运行的时间(由Ticks推算),Sample Time是指统计总时长。后面紧跟着的是服务端的版本信息,例如我的是PaperSpigot1.8.8,Average Entitys是平均实体的数量,表示形式是 活跃实体数量/总实体数量。一般而言只有活跃实体才会消耗CPU时间。Average Players是统计时间内平均这个服务端在线的人数(注意,是单个服务端的在线人数),例如我的是105.81人。Average TPS是统计时段内平均的TPS,例如我的是19.44。Server Load是指服务端负载水平。超过100%则意味着TPS会开始低于20的水平,一般超过150%就会有明显卡顿了。
未完待续。。
八 - 服务器硬件的选择待续...
金粒 +1577
MCBBS有你更精彩~
很不错的教程
楼主你太帅了~
很棒的作品!
MCBBS有你更精彩~
MCBBS有你更精彩~
楼主求一个1.8.9的 PaperSpigot 服务端(带.
楼主你太帅了~
设置后15人只用500M左右,强势啊.
我的末日服虽然内存是10G,cpu独享3.6GHZ,.
很棒的作品!
MCBBS有你更精彩~
服务器卡顿有解了233~
写的很详细
很棒的作品!
大触我们做朋友吧!
Mcbbs有你更精彩~
很棒的作品!
Mcbbs有你更精彩~
很棒的作品!
帖子永久地址:&<button type="submit" class="pn" onclick="setCopy('Minecraft服务器优化教程 —— 让多带50%的玩家不再是梦\nhttp://www.mcbbs.net/thread--1.html', '帖子地址已经复制到剪贴板您可以用快捷键 Ctrl + V 粘贴到 QQ、MSN 里。')">推荐给好友Minecraft中文论坛 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖若有内容转载自其它媒体,不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予以删除并致以最深的歉意
7、管理员和版主有权不事先通知发贴者而删除本文
持续更新中。2楼占位备用
为啥我的paperspigot这仨配置都有!&
为啥paper里面没有mods这个文件夹呀,是要自己创建还是不支持mod?&
我想问一下那个参数怎么用-XX:+AggressiveOpts -XX:+UseCompressedOops&
膝盖在我胯下&
大触我们做朋友吧!
让我给囧囧加油
楼主你太帅了~
支持支持,教程特别有用!!!!{:10_492:}
支持膝盖 手撸辛苦啦!!!
顶一个.刚好需要用下,楼主能叫我java8脚本具体咋写么
好评的教程
前排支持!火钳刘明=-=
能. ..问个问题吗..
16.07 18:15:54 [Server] WARNING Dimension:1
16.07 18:15:54 [Server] WARNING Tiles Last Tick: 0
16.07 18:15:54 [Server] WARNING Entities Last Tick: 0
16.07 18:15:54 [Server] WARNING Loaded Chunks: 0 Active Chunks: 0 Entities: 0 Tile Entities: 0
16.07 18:15:54 [Server] WARNING Dimension:0
16.07 18:15:54 [Server] WARNING [TPS]: 19.3 Server Tick #650000
16.07 18:15:54 [Server] WARNING Last Tick: 5 Current Time: 3 Warning: 20000 Timeout: 60000
16.07 18:15:54 [Server] WARNING The server is going slow. Last server tick was 23228ms ago
人多的时候经常蹦,后台输出这样的信息..
请问是哪里出了问题
这是得多卡啊...&
这是你服务器卡了。 Last server tick was 23228ms ago 意思是你服务器运算上一个Tick是23秒以前的事情了,而正常的是1/20秒左右&
好评占位,话说楼主的NeverLag还更新不?
一直更新中。&
能. ..问个问题吗..
人多的时候经常蹦,后台输出这样的信息..
这是你服务器卡了。 Last server tick was 23228ms ago 意思是你服务器运算上一个Tick是23秒以前的事情了,而正常的是1/20秒左右
这个问题很奇葩的困扰了我很久..
在昨天更新了NeverLag之后似乎就解决掉了..&
好评占位,话说楼主的NeverLag还更新不?
一直更新中。
感谢楼主...真的...
看来是很辛苦才能写成这样。
格式设计得不错。
LZ辛苦了。
希望更多服主可以看到这个。
非常棒的教程
有些问题我想咨询一下大神。
关于PaperSpigot,在Spigot论坛上也有用户咨询. 说和spigot比起来怎么样。
但spigot的开发人员回复说,不建议作为公共服务器使用,因为他的稳定性没有保证
MD_5页回复说,不会对它提供任何支持和援助。
那是否意味着目前来说,PaperSpigot仍是不稳定的服务端,不建议广泛使用呢
PaperSpigot我已经用过一段时间了,稳定性还是很不错的&
md_5回复更多的含义是:这不是Spigot官方的一个分支,Spigot不会为其提供技术支持。
PaperSpigot是在Spigot优化而来的。稳定性还是不错的。毕竟国外不少大服也开始从Spigot转到PaperSpigot了。&
非常棒的教程
有些问题我想咨询一下大神。
关于PaperSpigot,在Spigot论坛上也有用户咨询. 说和spigot比起 ...
md_5回复更多的含义是:这不是Spigot官方的一个分支,Spigot不会为其提供技术支持。
PaperSpigot是在Spigot优化而来的。稳定性还是不错的。毕竟国外不少大服也开始从Spigot转到PaperSpigot了。
好的,十分感谢&
版权所有 不得转载 &
本网站图文非经原创作者同意不得转载或公开传播}

我要回帖

更多关于 我的世界神秘mcbbs 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信