天天动画片 > 八卦谈 > (1)我的世界服务器搭建指南~介绍、说明、准备工作、整体构造。

(1)我的世界服务器搭建指南~介绍、说明、准备工作、整体构造。

八卦谈 佚名 2023-07-19 12:17:20

简介

欢迎来到《我的世界服务器搭建指南》(MinecraftServerHostGuide)。

本教程面向第一次搭建我的世界Java版服务器的小白服主。

学习完本教程后,你将会掌握基础的我的世界服务器搭建技能。

关于

本教程由“《我的世界服务器搭建指南》编写委员会”(下称“本教程编委会”)编写。

本教程主要发布于Github(https://github.com/Mhy278/MinecraftServerHostGuide)。

本作品采用知识共享 署名-相同方式共享 4.0 国际许可协议https://creativecommons.org/licenses/by-sa/4.0/进行许可。

本教程中出现的代码均以Apache 2.0

https://www.apache.org/licenses/LICENSE-2.0.html 许可协议进行许可。

部分图片资源来自互联网,仅学习交流使用。

部分代码和文献资料若涉及转载或引用, 将会在相关内容处标记,请依照其自身的协议使用。

鸣谢

在本教程编写的过程中得到了一些有关人士的帮助,在此对他们表示最诚挚的感谢!

以下为鸣谢名单(排名不分先后):

ID

介绍

银狼                    给予一定建议

LocusAzzurro     给予一定建议

贺兰星辰             给予一定建议

XJue_DaDa        授权参考翻译

编写委员会

 

由衷地感谢本教程编委会各位成员在本教程编写过程中所作出的贡献!

以下为本教程编写委员会成员名单(排名依照其参与贡献的章节顺序排列):

ID                                                    介绍

梦彗業                                           主要编写者

Drenal                                            主要编写者

冰冷                                               主要编写者

asougi85                                        主要编写者

MIdCoard                                       主要编写者

弱鸡绿毛怪                                       参与编写

tdiant                                                参与编写

蛋黄酱                                              参与编写

Hmm1313133                                  参与编写

andylizi                                               审阅

zzzz                                                    审阅

酷车手BB弹                                        审阅

叁只小羽                                            审阅

叁只仓鼠                                            审阅

耗子                                                   审阅

星空                                                   审阅

c7w                                                    审阅

Smokey_Days                                   审阅

几何                                               主要编写者

火雨                                                 参与编写         

Auange_M夜幕                                参与编写

筒子                                                    审阅

开始

准备工作

搭建我的世界服务器是一项非常复杂的过程,在正式开始搭建我的世界服务器之前,我们需要做一些准备工作。

自身条件

1. 掌握一定程度的汉语,这对阅读本教程极为重要。

2. 拥有较强的理解能力,这对阅读本教程极为重要。

3. 拥有较强的独立思考能力,这对阅读本教程极为重要。

4. 学习什么是搜索引擎https://help.mcstory.net/SearchEngine.html,掌握搜索引擎的使用方法。

5. 学习什么是提问的智慧https://help.mcstory.net/SearchEngine.html。

外部条件

1. 一台能够访问互联网的计算机。

2. SpigotMC(https://www.spigotmc.org/) 账号,利于查阅一手资料、购买正版付费插件和获取外网社区帮助。

3. MCBBS我的世界中文论坛 (https://www.mcBBs.net/)账号,利于查阅经本地化后的资料和获取中文社区帮助。

4. 一台Windows系统的VPS服务器.

如何购买一台合适的服务器

本教程建议通过可信度较高的第三方交易平台(如淘宝https://www.taobao.com/)搜索购买我的世界VPS服务器。

如何选择服务器配置

搭建我的世界服务器对VPS服务器的CPU性能、内存大小、硬盘速度和网络质量均有较高的要求。

在这里,我们仅对搭建我的世界服务器需要着重关注的硬件参数作讲解,以下内容中的结论均以此为预设情景。

CPU

CPU(Central Processing Unit),即中央处理器,是一台计算机的核心部件。

选择的 CPU 质量的高低对服务器的性能有着至关重要的影响。

一般的,我们对 CPU 性能的概括有着这样一个简单结论: CPU 单核性能 = IPC * 频率

什么是 IPC

IPC(Instruction Per Clock),指   CPU 每一时钟周期内所执行指令的多少。

IPC 代表了一代处理器架构的设计性能,一旦该处理器架构设计完成之后,IPC 值就不会再改变了。

什么是 频率

CPU 的时钟频率,简单说是CPU运算时的工作的频率(1   秒内发生的同步脉冲数)的简称,单位是Hz。

简单的讲,IPC 是 CPU 在每一时钟周期内能够运算的量的大小;频率是 CPU 工作时 1 秒内的时钟周期数。

让我们举个例子:Intel Xeon X5690 与 Intel Core i9-9900k 同样工作于 3.6Ghz 的频率时,很显然地,

Intel Core i9-9900k 的运算效果更好。

因此我们可以发现:在这里,IPC 值的高低起到了决定性的作用,而频率似乎不再高于一切。

所以,当选择服务器的 CPU 时不应该单单执着于高频率。

什么是 核心

在这里,CPU 核心一般指线程。

线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

由于主流的我的世界服务端仅能利用单个线程工作,或对多线程利用的效果不够理想, 所以单个核心的频率在一定程度上决定了我的世界服务器的最大负载量。

我们可以简单的将线程理解为流水线,你的VPS服务器有多少核心(线程)就有多少条流水线。一些软件可以同时在多条流水线同时运行,每条流水线只进行总体的一部分运算,对单条流水线的压力较小。

而我的世界服务端仅能在一条流水线上运行,即使你有再多的流水线,其他的流水线也只能干看着唯一一条工作的流水线无能为力。所以单条流水线性能高低便决定了我的世界服务端的性能。

一般的,当你搭建是纯净的、不含模组的服务器时,对单核性能的要求较低;当你搭建是含模组的服务器时,对单核性能的要求较高。

同时,无论纯净与模组服务器,单个核心的负载能力都是有限的,如果你的玩家人数较多,我们建议你采用跨服的方式,让玩家分别进入多个子服务端,这样可以令多个线程同时工作,以实现负载均衡。

内存

内存(Memory)是计算机中重要的部件之一,它是外存储器与CPU进行沟通的桥梁。

在这里,我们需要关注服务器所采用的内存的三个参数。

规格

常见的 DDR4 即代表了目前内存的第4代规格。

一般的,内存规格代数越大,性能越好。

频率

内存主频和CPU主频一样,用来表示内存的速度,它代表着该内存所能达到的最高工作频率。内存主频是以MHz为单位来计量的。

常见的 2400 Mhz 即是 DDR4 规格下的一种标准内存频率。

一般的,同等内存规格代数情况下,内存频率越高,性能越好。

容量

内存容量是内存条的关键性参数。内存的容量一般都是2的整次方倍,比如64MB、128MB、

256MB等。

一般的,内存容量越大越能同时运行更多的程序、越有利于系统的运行。

硬盘

硬盘是计算机的外存储设备。

一般的,我们使用 IOPS 作为衡量硬盘性能的量测方式。

通常来讲,固态硬盘的 IOPS 比机械硬盘更高,但同容量下,固态硬盘的价格更贵。

在我的世界当中,地图包含了大量的以4KB为规格存储的数据,对于这种数据,固态硬盘的读写速度可以达到机械硬盘的百倍以上。所以我们推荐尽可能选择 IOPS 高的固态硬盘来搭建我的世界服务器。

网络

众所周知,我国有三大基础电信业务运营商:中国电信、中国移动和中国联通。 但实际生活中,存在的宽带运营商不止三家。每家运营商所经营的宽带线路质量有所不同。

一般情况下,我们认为我国有四大网络线路:电信、联通、移动和教育网。

通常情况下,只有Google、Amazon和阿里云等大型企业提供的公有云产品所采用的线路质量较高。

对于搭建我的世界服务器来讲,只需接入三线(电信、联通和移动)即可满足绝大部分的需求。

但同时接入三条网络线路即意味着需要同时向三家务运营商购买其运营的网络线路。

一般的,在同等质量、速率的情况下,接入的线路条数越多,价格越高。

BGP

BGP 即边界网关协议,是运行于 TCP 上的一种自治系统的路由协议。

当我们同时接入三条运营商的网络线路时,我们会分别得到三家务运营商的网络地址。当购买了一个运

营商宽带的玩家访问了另一个运营商的网络地址时,则需要通过该玩家的运营商出口到另一个运营商的

网络拓扑当中,这个过程会增加网络延迟。例如,电信宽带的玩家通过联通的IP地址进入服务器,延迟

就比通过电信的IP地址进入服务器要高。

因此,我们可以简单地将 BGP 理解为可以融合三家运营商线路的技术,购买了不同运营商宽带的玩家

只需要通过同一个网络地址访问服务器,都可以获得最低的网络延迟。

一般的,在同等质量、速率的情况下,使用 BGP 技术的网络价格比不使用的更高。

连接到服务器远程桌面

在这里,我们假设你已经购买到了一台 Windows 系统的 VPS 服务器。

你将会从服务器提供商处获得一份大致相同的服务器连接信息,例如:


ExampleCloud Ex云计算  后台信息

套餐:Ex 开通日期:1970.01.01

========================

【远程桌面连接地址】

BGP多线:ex.example.com:61389

=========================

【系统信息】

系统:WindowsServer 2012R2

用户名:Administrator

密码:Example!.

为了保障您后台的数据安全,减少被别有用心之人利用的可能性,我们建议您更高更高强度的系统密码,以免造成不必要的损失。

=========================

【游戏连接地址】

BGP多线:ex.example.com:端口

开放端口:61390-61398 九个端口内外对应

=========================

请牢记您的VPS的编号:EX-01

若遇到无法解决的问题或是技术服务的话

请提供VPS编号,这样我们方便识别您的VPS信息

========================

感谢您选择我们,您的支持使我们继续发展下去的动力

Windows 系统

在键盘上找到 “Windows 键“ ,同时按下 “Windows 键” + “R 键”。

会弹出 “运行” 界面,在输入框中输入半角英文字符 “mstsc” ,即可弹出 “远程桌面连接”

在 “远程桌面连接” 界面当中的 “计算机:”后的输入框中输入刚刚得到的服务器连接信息中的 “远程桌面连接地址”。 点击连接,根据提示输入入刚刚得到的服务器连接信息中的 “用户名” 和 “密码” ,即可连接到服务器远程桌面。

MacOS 系统

在 Mac 应用商店安装 Microsoft Remote Desktop 8。

根据软件指引,连接服务器远程桌面。

注意:若按照上述顺序操作过程中,出现任何错误,请利用自身条件中第4条的能力排查错误原因,排除错误。 若仍然无法排除错误,请向你的服务器提供商求助。

安装运行环境

我们假设你已按照之前部分的说明成功进入了服务器远程桌面,那么你会看到一张熟悉的 Windows 系统桌面。

这时,我们需要在服务器上安装以下软件:

Java(推荐小白选择) 或 Java SE Development Kit 8 任选其一

EditPlus 或 Sublime Text 或 VisualStudio Code 任选其一

7Zip 或 BandiZip 任选其一

Chrome 或 FireFox 任选其一

注意:若安装上述软件出现问题,请查阅该软件的帮助文档,或通过该软件官方求助渠道取得帮助。

注意:如需将自己电脑上的东西上传到服务器上,只需要先连接上远程桌面,再在自己电脑上复制你需要的文件,最后在服务器上右键粘贴即可!

完成

此时,你便已经完成了搭建我的世界服务器所必要的全部准备。



第一单元 基础

第一节 第一次的开服

1.选择一个合适的服务端核心

目前的服务端核心大概有这样几种:


您也可以通过以下网站快速便捷地找出您所需要的服务端核心

• https://mcmirror.io

• https://yivesmirror.com

• https://serverjars.com

 2.添加启动脚本并运行

• 这里我们选用 Paper 1.12.2 进行演示。

• 下载地址:https://papermc.io/

 首先在我们的服务器上新建一个文件夹,建议纯英文路径。

将下载好的  paper.jar 扔进去。

在文件夹内创建一个 start.bat,使用 记事本 或 Notepad++ 打开。

输入最基本的启动脚本参数:

@ECHO OFF

java -Xmx1G -Xms1G -jar paper.jar

pause

保存并运行。

找到文件夹中的 eula.txt 文件,将其中的 eula=false 改为 eula=true ;

重新启动 start.bat ;

我们发现服务器现在已经可以成功启动了。

在终端窗口中输入 stop 停止运行。

在根目录中找到  server.properties 文件。 > 我们可以根据情况修改几个重要内容。 >

3.对服务器进行一些配置

• 在高级安全 Windows 防火墙开放刚刚在  server.properties 中填写的端口(也可以选择直接关

闭高级安全 Windows 防火墙,但有安全隐患,不推荐。)

打开服务器管理器。

找到工具->高级安全 Windows 防火墙->入站规则。

新建规则,选择端口。

下一步。

TCP,特定本地端口,输入你想要开放的端口。

下一步。

允许连接。

 下一步怼到底。

至此,您应该能通过您服务器的 「IP地址:端口」 来连接您的服务器了。

 P.S. 如果您使用的一些大型企业的公有云服务商(如阿里云)要求通过服务商自己的管理系统开放端口,那么仅仅是在入站规则中添加是不够的,这时您需要了解一下您服务商的具体情况。


4.一些建议

您当然可以选择通过他人整理好的整合包进行开服,但是笔者并不建议这种做法。因为自己从头到尾整合的服务端才是自己最了解的服务端,在自己整合的过程中看着自己的  plugins  和  mods  文件夹慢慢丰富起来,配置文件中的每一条配置自己都无比熟悉,没有什么比这感觉更好了(我自己是这样想的)。


第二节 服务端的结构

前言

• 根据上节的内容,您应该已经可以成功启动您的服务器了。本节内容将继续带您简单了解服务端的结构。

• 由于 Sponge 服务端不太适合新手使用,故不做介绍,如有需要请自行查看官方教程(含中文)。

服务端结构概览

• 以下是两种基于 Bukkit 核心的服务端。

我们先来简单看一眼 Paper 的文件夹结构:

Paper

├─cache //缓存文件夹

├─logs //存放服务端日志的文件夹

├─plugins //存放插件的文件夹

│  └─bStats //一些插件生成的文件夹,一般情况下存放着插件的配置文件

├─world //世界文件夹

│  ├─data //世界数据文件夹

│  │  ├─advancements

│  │  └─functions

│  ├─playerdata //存放了玩家数据

│  └─region

├─world_nether //地狱世界文件夹

│  ├─data

│  │  └─functions

│  ├─DIM-1

│  │  └─region

│  └─playerdata

└─world_the_end //末地世界文件夹

 ├─data

 │  └─functions

 ├─DIM1

 │  └─region

 └─playerdata


以及 Catserver 的文件夹结构:

Catserver

├─config //模组的一些设置

├─libraries //一些支持库

├─logs //存放服务端日志的文件夹

├─mods //存放模组的文件夹

├─plugins //存放插件的文件夹

│  └─bStats //存放插件配置的一些文件夹

└─world //世界文件夹

 ├─data //世界数据文件夹

 │  ├─advancements

 │  └─functions

 ├─DIM-1 //世界里的世界#滑稽

 │  ├─data

 │  │  └─functions

 │  ├─playerdata

 │  └─region

 ├─DIM1

 │  ├─data

 │  │  └─functions

 │  ├─playerdata

 │  └─region

 ├─playerdata //玩家数据文件夹

 └─region

根目录下的一些文件

 banned-ips.json

存放了被 ban IP 玩家的   UUID 及游戏名称等相关信息。

banned-players.json

存放了被 ban ID 玩家的   UUID 及游戏名称等相关信息。

bukkit.yml

由 Bukkit 派生得到的服务端都有的文件。保存着 Bukkit 所提供的最基本的设置选项。

commands.yml

它提供了一种快速而简单的方法来强制服务器使用Mojang提供的命令(而不是Bukkit中内置的命令)而不产生冲突。

 eula.txt

 在首次开服的时候,我们需要同意 EULA 协议。

 help.yml

 一些插件的帮助信息会出现在这里面,一般不需要进行什么修改。

 ops.json

 op们的游戏昵称 UUID 等信息会在这里出现。

 paper.jar

 这个叫什么名字无所谓,重要的是他的本质工作就是安安稳稳地当一个服务端核心。

 paper.yml

 这是 Paper 才有的配置文件,您一般不会在 Bukkit 或 Spigot 中看到它。

 permissions.yml

 是默认的权限定义YAML文件,在启动时自动生成。它的主要功能是将权限节点组合到一个文件中,以便权限插件(以及使用权限的插件)可以在整个系统中使用它。

 server.properties

 服务端的一些基本设置就在里面,如设置端口,设置游戏难度,设置游戏模式(生存、创造等)等。

 spigot.yml

 这是 Spigot 才有的配置文件,您一般不会在 Bukkit 中看到它。因为 Paper 是由   Spigot 派生而来的服务端,所以在 Paper 的服务端中,它也会出现。

 usercache.json

 储存着用户部分信息的缓存文件。

 version_history

 一些 Minecraft 和服务端核心的版本信息。

 whitelist.json

 白名单列表。(如果您在  server.properties 中开启了白名单,您就可以在该文件中添加和管理谁被允许或不被允许进入服务器。)

至此,大部分的以 Bukkit 为基础的服务器核心服务端的结构已经大致呈现在您眼前。








 


本文标题:(1)我的世界服务器搭建指南~介绍、说明、准备工作、整体构造。 - 八卦谈
本文地址:www.ttdhp.com/article/36653.html

天天动画片声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
扫码关注我们