声明:本教程转载自MCBBS,原作者:jiongjionger

* 零 - 系统的选择 *

(网页后台可以跳过本段)关于系统的选择,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才被压。。。。。。。【打不了字了】

想看更多去原贴看看把: 地址如下:

http://buluo.qq.com/mobile/detail.html?&&_wv=1027#bid=324678&pid=1978566-1467385136&source=buluoadmin&from=buluoadmin

mcbbs 优化服务器,[教程] Minecraft 服务器优化教程--腐竹可以看看哦!相关推荐

  1. 我的世界服务器优化mcbbs,[教程] Minecraft 服务器优化教程

    声明:本教程转载自MCBBS,原作者:jiongjionger * 零 - 系统的选择 * (网页后台可以跳过本段)关于系统的选择,Linux类系统(Centos.Redhat等)固然高效.稳定,但选 ...

  2. minecraft有自带服务器吗,Minecraft服务器优化教程 —— 让多带50%的玩家不再是梦...

    您尚未登录,立即登录享受更好的浏览体验! 您需要 登录 才可以下载或查看,没有帐号?注册(register) x 本帖最后由 jiongjionger 于 2018-8-22 16:11 编辑 * 零 ...

  3. mc正版中国服务器,OurCraft Minecraft 服务器

    我们的定位不是一个Minecraft服务器,而是一个朋友圈,在这里,你可以感受到我们那浓浓的友情.我们的快乐,不只是来自于游戏.在Minecraft里,我们如同家人一般,在Minecraft里创造,破 ...

  4. 我的世界服务器登陆用的邮箱,我的世界服务器登录教程 Minecraft服务器教程

    minecraft(我的世界或MC)是一款建筑类休闲游戏,主要以搭建建筑物和改造世界为乐趣,透过不同方块的组合与拼凑,轻而易举的就能制作出小木屋.城堡.城市甚至一个世界.那么问题来了:我的世界服务器应 ...

  5. 在云服务器搭建Minecraft服务器项目

    服务器装配教程 1. 创建目录 mkdir /Minecraft/[目录名] 2.下载java 根据对应版本下载java,高版本可能需要java17,forge需要java8 2.1 配置环境变量 v ...

  6. minecraft服务器搭建教程_Minecraft BE(基岩版)服务器搭建教程

    Minecraft BE服务器搭建教程 写在前面 由于目前还在使用12年的MacBook Air,加上身边多数人会使用手机等移动设备玩游戏,所以决定搭建一台BE的服务器. 请注意本教程适用于国际版的M ...

  7. 群晖docker_利用群晖docker搭建Minecraft服务器:图形界面操作,傻瓜式教程(附官方服务器端地址)_NAS存储...

    2020-12-19 18:01:5310点赞57收藏4评论 你是AMD Yes党?还是intel和NVIDIA的忠实簇拥呢?最新一届#装机大师赛#开始啦!本次装机阵营赛分为3A红组.intel NV ...

  8. 【Minecraft开服教程】使用 MCSM 面板一键搭建我的世界服务器,并内网穿透公网远程联机

    文章目录 前言 1.Mcsmanager安装 2.创建Minecraft服务器 3.本地测试联机 4. 内网穿透 4.1 安装cpolar内网穿透 4.2 创建隧道映射内网端口 5.远程联机测试 6. ...

  9. minecraft服务器搭建教程_我的世界服务器创建教程

    我的世界以其独特的创造性和开放性,吸引了大量的玩家,在玩腻了一个人的单机模式后,你是不是也会想试试和朋友一起玩呢?这里跑跑车小编就教大家一个简单的服务器创建方法,当然,在创建之前你需要做好一些准备工作 ...

最新文章

  1. c语言初学 循环 的灵活使用小案例
  2. linux 循环套循环,linux中的嵌套循环
  3. 反应式编程在微服务下的重生
  4. boost::statechart模块实现无效结果复制测试
  5. python储存与读取图片_Python下opencv使用笔记(一)(图像简单读取、显示与储存)...
  6. python批量读取csv并写入_Python如何批量读取CSV文件中指定信息并写入doc文件命名中?...
  7. python修改xml标签的值_对python修改xml文件的节点值方法详解
  8. 跟踪 linux 内核调用_Linux用户和内核空间中的动态跟踪
  9. ffmpeg解码到opencv Mat中
  10. wepe 装linux ubuntu,Ubuntu16.04下安装Wechat的实现方法
  11. 【异或】LeetCode 137. Single Number II
  12. kafka中的数据发送保障
  13. 金融信息破局刍议【4】长尾效应
  14. Laravel执行seeder报错
  15. LeetCode311 稀疏矩阵的乘法
  16. PS制作科幻特效的金色立体文字
  17. tcp state linux,Linux Kernel ‘tcp_rcv_state_process()’函数拒绝服务漏洞
  18. 启动docker时映射到宿主机时出现 /usr/bin/docker-current: Error response from daemon: driver failed……的解决方案
  19. 被“淘宝”的章文嵩西邮之行
  20. 淘宝宝贝详情页的优化技巧

热门文章

  1. 稚晖君官宣离开华为创业,被曝已获得天使投资,网友猜测来自李泽湘
  2. 关于simple-keyboard在vue的应用
  3. 2021-2027全球与中国视频编码器和解码器市场现状及未来发展趋势
  4. Python 爬取漫画以及JS解析
  5. 数字经济才是未来经济发展的核心
  6. Visual SLAM:What are the Current Trends and What to Expect?
  7. 工作故事之三--崭露头角(从愣头青到感觉有点意思)
  8. 手游源码 [主题详情] 梦诛12职业1H1G手工架设视频教程
  9. 【vue】vue组件之图文编辑
  10. 阿里云ACK联合云效助力上海博卡DevOps转型