《我的世界》是当今最流行的在线游戏之一。 在不到三年的时间里(首次正式发布于 2011 年秋季),他在全球赢得了数百万粉丝。
游戏开发者刻意关注二十年前的最佳例子,当时的许多游戏以今天的标准来看,在图形方面还很原始,在可用性方面也不完善,但同时它们确实令人兴奋。
与所有沙盒游戏一样,《我的世界》为用户提供了巨大的创造力机会 - 事实上,这就是其受欢迎的主要秘密。
多人游戏的服务器由玩家自己及其社区组织。 如今,互联网上运行着数以万计的游戏服务器(例如,请参见此处的列表)。
我们的客户中有很多这款游戏的粉丝,他们从我们的数据中心租用设备用于游戏项目。 这篇文章我们就来说说在选择服务器时需要注意哪些技术点
我的世界。
选择平台
Minecraft 包含以下建筑元素:
- 服务器 - 玩家通过网络相互交互的程序;
- 客户端——安装在玩家电脑上的用于连接服务器的程序;
- 插件 - 添加新功能或扩展旧功能的服务器附加功能;
- 模组是游戏世界的补充(新块、物品、功能)。
Minecraft 有很多服务器平台。 最常见和最受欢迎的是 Vanilla 和 Bukkit。
Vanilla 的缺点是内存消耗过多(每个玩家大约 50 MB)。 另一个显着的缺点是缺少插件。
Bukkit 的缺点是运行时占用过多 RAM。 另外,服务器运行的时间越长,需要的内存就越多(即使玩家很少)。 当选择 Bukkit 作为服务器时,您应该记住,它的新版本通常包含错误; 稳定版本通常在 Minecraft 正式版发布后大约 2-3 周出现。
此外,其他平台最近也很受欢迎(例如 Spout、MCPC 和 MCPC+),但它们与 Vanilla 和 Bukkit 的兼容性有限,对 mod 的支持也极其有限(例如,对于 Spout,您只能从头开始编写 mod)。 如果使用它们,则仅用于实验。
要组织游戏服务器,我们建议使用Bukkit平台,因为它是最灵活的; 此外,还有许多不同的模组和插件。 Minecraft服务器的稳定运行很大程度上取决于硬件平台的正确选择。 让我们更详细地考虑这个问题。
硬件要求
Minecraft 服务器和客户端对系统资源的要求都非常高。
选择硬件平台时,您应该记住,多核处理器不会提供太多优势:Minecraft 服务器核心只能使用一个计算线程。 然而,第二个核心会很有用:一些插件在单独的线程中执行,并且 Java 也消耗大量资源......
因此,对于Minecraft服务器来说,最好选择单核性能较高的处理器。 功能更强大的双核处理器优于功能较弱的多核处理器。 在专业论坛上,建议使用时钟频率至少为 3 GHz 的处理器。
为了 Minecraft 服务器的正常运行,需要大量 RAM。 Bukkit 大约占用 1GB RAM; 此外,如上所述,为每个玩家分配 5 到 10 MB 的空间。 插件和模组也会消耗大量内存。 因此,对于拥有 30 - 50 名玩家的服务器,您至少需要 4 GB RAM。
在 Minecraft 中,很多(例如,加载相同的插件)取决于文件系统的速度。 因此,最好选择SSD盘的服务器。 由于随机读取速度较低,主轴磁盘不太适合。
互联网连接的速度也非常重要。 对于 40-50 人的游戏,10 Mb/s 的通道就足够了。 然而,对于那些正在规划一个更大的 Minecraft 项目(包括网站、论坛和动态地图)的人来说,非常希望拥有一个具有更多带宽的频道。
具体选择哪种配置最好? 从
- Intel Core 2 Duo E8400 3GHz,6GB RAM,2x500GB SATA,3000 RUR/月;
- Intel Core 2 Quad Q8300 2.5GHz,6GB RAM,2x500GB SATA,3500 卢布/月。 — 我们将此配置用于我们的《我的世界》测试服务器,您现在就可以在该服务器上进行游戏(下面写了如何执行此操作);
- Intel Core i3-2120 3.3GHz、8GB RAM、2x500GB SATA、3500 RUR/月。
这些配置非常适合创建 30-40 名玩家的 Minecraft 服务器。 一些缺点是缺少 SSD 驱动器,但我们提供了另一个重要优势:保证 100 Mb/s 通道,没有任何限制或比率。 订购上面列出的所有配置时,无需支付安装费。
我们还拥有生产力更高,但同时自然也更昂贵的服务器(订购这些配置时,也不收取安装费):
- 2x Intel Xeon 5130,2GHz,8GB RAM,4x160GB SATA,5000 卢布/月;
- 2 个 IntelXeon 5504、2GHz、12GB RAM、3x1TB SATA、9000 卢布/月。
我们还建议您关注基于 Intel Atom C2758 处理器的 SSD 驱动器的新预算型号:Intel Atom C2758 2.4 GHz,16 GB RAM,2x240 GB SSD,4000 卢布/月,安装费 - 3000 卢布。
在 OC Ubuntu 上安装并运行 Bukkit 服务器
在安装服务器之前,我们先创建一个新用户并将其添加到 sudo 组中:
$ sudo useradd -m -s /bin/bash <用户名> $ sudo adduser <用户名> sudo
接下来,我们将设置创建的用户连接服务器的密码:
$ sudo passwd <用户名>
让我们用新帐户重新连接到服务器并开始安装。
Minecraft是用Java编写的,因此服务器上必须安装Java运行环境。
让我们更新可用软件包的列表:
$ sudo apt-get update
然后运行以下命令:
$ sudo apt-get install default-jdk
要安装和运行 Bukkit,还建议安装终端多路复用器 - 例如 screen(您也可以使用其他终端多路复用器 - 请参阅我们的
$ sudo apt-get 安装屏幕
如果我们通过 ssh 连接到游戏服务器,则需要 Screen。 有了它的帮助,你可以在单独的终端窗口中运行 Minecraft 服务器,甚至在关闭 ssh 客户端后,服务器也能工作。
让我们创建一个用于存储服务器文件的目录:
$ mkdir bukkit $ cd bukkit
之后我们去
$ wget <推荐版本链接>
现在让我们运行屏幕:
$sudo 屏幕
并运行以下命令:
$ java -Xmx1024M -jar craftbukkit.jar -o false
让我们解释一下所使用的参数的含义:
- Xmx1024M - 每台服务器的最大 RAM 量;
- jar craftbukkit.jar - 服务器的密钥;
- o false - 允许盗版客户端访问服务器。
服务器将启动。
您可以通过在控制台中键入 stop 命令来停止服务器。
设置和配置服务器
服务器设置存储在 server.properties 配置文件中。 它包含以下参数:
- 生成器设置 — 设置生成超平坦世界的模板;
- allow-nether - 决定移动到下层世界的可能性。 默认情况下,此设置设置为 true。 如果设置为 false,那么所有来自下界的玩家都会被转移到普通玩家;
- level-name - 包含游戏期间将使用的地图文件的文件夹的名称。 该文件夹位于服务器文件所在的同一目录中。 如果没有这个目录,服务器会自动创建一个新的世界,并将其放置在同名目录下;
- enable-query - 当设置为 true 时,激活 GameSpy4 协议来侦听服务器;
- 允许飞行 - 允许在 Minecraft 世界各地飞行。 默认值为 false(禁止飞行);
- 服务器端口 - 指示游戏服务器将使用的端口。 我的世界的标准端口是25565,不建议更改该参数的值;
- level-type - 决定世界的类型(DEFAUT/FLAT/LARGEBIOMES);
- enable-rcon - 允许远程访问服务器控制台。 默认情况下它是禁用的(false);
- level-seed - 级别生成器的输入数据。 为了能够创建随机世界,该字段必须留空;
- force-gamemode - 设置连接到服务器的玩家的标准游戏模式;
- server-ip - 表示玩家连接服务器时使用的IP地址;
- max-build-height - 指示服务器上建筑物的最大高度。 其值必须是16的倍数(64、96、256等);
- spawn-npcs - 允许(如果设置为 true)或禁止(如果设置为 false)NPC 在村庄中出现;
- 白名单 - 启用或禁用服务器上玩家白名单的使用。 如果设置为 true,管理员将能够通过手动添加玩家昵称来创建白名单。 如果值为 false,则任何知道其 IP 地址和端口的用户都可以访问服务器;
- spawn-animals - 如果设置为 true,则允许自动生成友好的小怪);
- snooper-enabled - 允许服务器向开发人员发送统计数据和数据;
- 硬核 - 在服务器上启用硬核模式;
- texture-pac - 玩家连接到服务器时将使用的纹理文件。 该参数的值为带纹理的zip压缩包的名称,与服务器保存在同一目录下;
- 在线模式 - 允许检查连接到服务器的用户的高级帐户。 如果此参数设置为 true,则只有高级帐户持有者才能访问服务器。 如果帐户验证被禁用(设置为 false),则任何用户都可以访问服务器(包括例如伪造昵称的玩家),这会产生额外的安全风险。 当禁用检查时,您可以通过本地网络玩《我的世界》,无需访问互联网;
- PVP - 允许或禁止玩家互相战斗。 如果这个参数为true,那么玩家可以互相摧毁。 如果设置为 false,则玩家无法对彼此造成直接伤害;
- 难度 - 设置游戏的难度级别。 可以取从0(最简单)到3(最难)的值;
- gamemode - 指示将为进入服务器的玩家设置什么游戏模式。 可以取以下值:0-生存,1-创意,2-冒险;
- player-idle-timeout — 不活动的时间(以分钟为单位),之后玩家将自动与服务器断开连接;
- max-players — 服务器上允许的最大玩家数量(从 0 到 999);
- spawn-monsters - 允许(如果设置为 true)敌对生物的产生;
- 生成结构 — 启用(true)/禁用(false)结构(金库、堡垒、村庄)的生成;
- view-distance - 调整发送给玩家的更新块的半径; 可以取 3 到 15 之间的值。
Minecraft 服务器日志写入 server.log 文件。 它与服务器文件存储在同一文件夹中。 日志的大小不断增长,占用越来越多的磁盘空间。 您可以使用所谓的日志轮换来简化日志记录机制的工作。 对于轮换,使用一个特殊的实用程序 - logrotate。 它将日志中的条目数量限制在一定限度内。
您可以配置日志轮换,以便在日志文件达到一定大小时立即删除所有条目。 您还可以设置一个期限,在此期限后,所有旧条目将被视为不相关并被删除。
基本轮换设置位于 /etc/logrotate.conf 文件中; 此外,您还可以为每个应用程序创建单独的设置。 具有单独设置的文件存储在 /etc/logrotate.d 目录中。
让我们创建一个文本文件 /etc/logrotate.d/craftbukkit 并在其中输入以下参数:
/home/craftbukkit/server.log { 每周旋转 2 次压缩missingok notifempty }
让我们更详细地看看它们的含义:
- rotate参数指定删除文件前的旋转次数;
- week表示每周进行一次轮换(还可以设置其他参数:monthly-monthly和daily-daily);
- compress 指定应压缩归档日志(反向选项为 nocompress);
- missingok表示如果没有日志文件,则应该继续工作并且不显示错误消息;
- notifempty 指定如果日志文件为空则不移动该日志文件。
您可以阅读有关日志轮换设置的更多信息
优化技巧
我们立即预约,本节将仅提供与优化游戏服务器相关的提示。 微调和优化安装 Minecraft 的服务器的问题是一个单独的主题,超出了本文的范围; 有兴趣的读者可以在互联网上轻松找到自己需要的信息。
玩《我的世界》时最常见的问题之一是所谓的滞后,即程序无法及时响应用户输入的情况。 它们可能是由客户端和服务器端的问题引起的。 下面我们将提供有助于减少服务器端出现问题的可能性的建议。
定期监控服务器和插件的内存消耗
可以使用专门的管理插件来监控内存消耗 - 例如,
请继续关注插件更新
通常,新插件的开发人员会努力减少每个新版本的负载。
尽量不要使用很多功能相似的插件
大型插件(例如 Essentials、AdminCMD、CommandBook)通常包含许多较小插件的功能。 例如,同一个 Essential 包含 iConomy、uHome、OpenInv、VanishNoPacket、Kit 插件的功能。 小插件的功能完全被一个大插件的功能所覆盖,在大多数情况下可以删除,以免服务器超载。
限制地图并自行加载
如果不限制地图,服务器的负载会明显增加。 您可以使用插件限制地图
画画当然要花很多时间,但最好只做一次,关闭服务器进行技术工作。 如果每个玩家都绘制地图,服务器就会运行缓慢。
用更快且资源占用更少的插件替换重型插件
并非所有 Minecraft 的插件都可以称得上成功:它们往往包含许多不必要和不必要的功能,有时还消耗大量内存。 最好用替代插件替换不成功的插件(有很多)。 例如,LWC插件可以用Wgfix+MachineGuard替换,DynMap插件可以用Minecraft Overviewer替换。
始终清除掉落物或安装插件以自动移除掉落物
游戏中的掉落物是指当生物死亡或某些方块被破坏时掉落的物品。 存储和处理drop会占用大量的系统资源。
为了让服务器工作更快,建议删除drop。 最好使用特殊插件来完成此操作 - 例如,NoLagg 或 McClean。
不要使用反作弊软件
所谓的反作弊程序通常安装在游戏服务器上,即阻止以不诚实的方式影响游戏的尝试的程序。
Minecraft 也有反作弊功能。 任何反作弊都会给服务器带来额外的负担。 最好为启动器(但是,它不能提供绝对的安全保证并且很容易被破坏 - 但这是一个单独讨论的主题)和客户端安装保护。
取而代之的是结论
如果有具体例子的支持,任何指示和建议都会更加有效。 根据上面的安装说明,我们创建了自己的 Minecraft 服务器,并在地图上放置了一些有趣的东西。
这是我们得到的:
- Bukkit服务器-稳定推荐版本1.6.4;
- 统计插件 - 收集有关玩家的统计数据;
- WorldBorder插件-绘制和限制地图;
- WorldGuard 插件(+WorldEdit 作为依赖项)- 保护某些区域。
我们邀请所有人来玩:连接、添加新服务器并输入地址 slc.tl.
如果您在评论中分享您自己安装、配置和优化《我的世界》服务器的经验,并告诉我们您对哪些模组和插件感兴趣以及原因,我们将非常高兴。
很酷的消息: 自1月50日起,专用固定配置服务器安装费降低3000%。 现在一次性设置费用只需XNUMX卢布。