要把看不见的星星写在纸上~

如何搭建一个Minecraft国际版服务器

本教程分为Windows Server和Linux两种,文章最后有服务器插件,管理等相关说明。

有时候需要和自己的好朋友联机玩我的世界,但又不想玩辣鸡网易的国服的话,可以采用我这种方法,自行搭建一个服务器。

前提:

如果想直接使用阿里云等云服务器,请直接往下翻,跳过这部分;若想要在自己家的电脑上开一个服务器,需要有公网ip,或者通过花生壳一类的内网穿透软件也可以。

公网IP方法

若想在自家网络上搭建服务器,首先在你家的一级路由(光猫)设置DMZ主机(我家是电信网络,需要用telecomadmin超管账户登录,才可以设置这些,具体请看我的这篇文章-->电信网关获取超管密码), 将你需要作为服务器的主机IP给输进去,如下图:

应用-高级NAT配置-DMZ配置

然后进行下一步,点击左侧的虚拟主机配置,如下图界面,点击增加:

应用-高级NAT配置-虚拟主机配置

在这里,使用接口选择带INTERNET的那个,选择自定义服务,自己写个名称就可以,我写的是Minecraft, lan侧服务器ip地址填写作为服务器主机的IP,最后点击应用/保存

应用-高级NAT配置-虚拟主机配置

至此,公网IP方法结束,以后可以通过你的公网IP加你的端口号去访问你的MC服务器,大概是类似这样的地址:123.123.123.123:25565(当然你也可以通过DDNS映射到一个固定的域名上,此处不做多的解释)

花生壳方法 (Frp内网穿透)

使用具有内网穿透功能的服务商就行,比如我觉得还不错的Sakura FRP,所以不一定非要花生壳,我只是觉得花生壳比较适合初学者,首先去官网下载-->安装包,照常安装,按照要求注册账号,登录后是这个界面,如下图:

花生壳主界面

点击右下角加号,新建一个内网映射,应用名称随便填一个,自己好分辨就行;应用图标随便选;应用类型选择tcp;映射模板选择不使用模板;外网域名会在你注册的时候送你一个,或者选你自己的;外网端口也是送你的,或者选你自己的;内网主机填写作为服务器主机的IP;内网端口填写25565,最后点保存,如下图:

至此,花生壳内网映射完成,以后可以通过你的花生壳域名加上端口去访问你的MC服务器,大概就是类似这样的地址:abc1234.qicp.vip:1234

开始:

此篇文章会讲在Linux和Windows上搭建服务器的方法。一般使用Windows搭建就可以了,方便;Linux适合有点基础的或有其他需求的。

Linux平台

此处用Debian 10。(我是在虚拟机中运行的,你当然也可以直接租用一个服务器,比如阿里云)

首先登陆ssh,可以使用Xshell工具或者Putty工具去登录,此处使用Putty,下载地址-->Putty官网

下载Java并安装

首先,给服务器安装java8(必须java8-java11,java12不行),这里讲述两种方法:

第一种(ppa):在Putty中依次输入:

  • sudo add-apt-repository ppa:webupd8team/java
  • sudo apt-get update
  • sudo apt-get install oracle-java8-installer

等待安装完成,输入java -version来验证是否安装成功。

第二种(安装包):jre安装包下载地址-->Oracle官网,选择适合你的系统的包,我选择的是 jre-8u241-linux-x64.tar.gz(可能需要你登录后才可以下载,自己注册一个账号就行)。一定要选择tar.gz格式的。(由于下载地址需要登录后才有,所以不方便在Linux内使用wget直接下载,只能使用上传文件的方式)

Oracle官网

下载完成后,使用WinScp工具上传到你的服务器,下载地址-->WinScp官网,安装完成后,添加你的服务器,文件协议选择SFTP,主机名填写你的服务器IP,端口号默认,用户名密码分别填写你服务器的root账户和密码,然后登陆,如下图:

WinScp登陆服务器

登录后,先把你下载的tar.gz格式的文件拖到这个目录下/root/,因为本教程所有操作均在这个目录下执行。

将文件拖进去

回到Putty内,依次输入:(请自行将jre-8u241-linux-x64.tar.gz改成你自己下载的文件名)

  • sudo mkdir /usr/lib/java8
  • sudo tar -zxvf jre-8u241-linux-x64.tar.gz -C /usr/lib/java8
  • sudo vi ~/.bashrc

最后一条指令执行完毕后,你会进入vi编辑器的界面,首先通过方向键将光标移到最后,点击键盘上的 i,进入编辑模式,在文件最末添加:

#设置java环境变量
export JAVA_HOME=/usr/lib/java8/jre1.8.0_241 #这里的目录要换成自己解压的java目录
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

按键盘上的esc,输入:wq来退出编辑器,然后刷新一下变量 source ~/.bashrc,最后输入java -version验证是否安装成功

Spigot服务端下载并启动

这里我使用spigot服务器端,服务器jar文件在这里下载-->Spigot(Spigot是一种纯净服,但是它可以加各种插件,并非mod服)下载你喜欢的版本,以1.15.2为例,回到WinScp中,在/root/目录下进行所有操作,右键新建目录,名字自己写,并且双击进入你创建的目录,将你下载的spigot-1.15.2.jar拖到目录中,如图:

/root/Minecraft/目录下

回到Putty中,首先我们安装screen,这是一个可以看作是窗口管理器的命令行界面的工具,输入sudo apt-get install screen ,等待安装完成,随后输入cd /root/Minecraft/用来切换到Minecraft目录,输入vi run.sh用来创建一个启动脚本,进入vi编辑器后,点击键盘上的 i,进入编辑模式,输入以下内容:

#!/bin/sh
screen -S "mcpc" java -Xms512M -Xmx4096M -jar spigot-1.15.2.jar nogui
解析代码
我们来解析一下这个代码,screen -S是创建一个新的窗口的意思;"mcpc"是这个窗口的名字,可自行修改;java是指调用java,-Xms512M是指最小内存512M;-Xmx4096M是指最大内存,请自行修改一个合适的大小;spigot-1.15.2.jar是jar文件的名字;nogui是指没有GUI界面。

然后按键盘上的esc,输入:wq来退出编辑器。

回到Putty内,输入chmod 755 run.sh用来改变文件权限。最后输入./run.sh来启动服务器。

此时你会发现在Loading Libraries之后就会退出服务器,这是因为你没有同意eula协议导致的,你需要在Putty中输入vi eula.txt去编辑,还是和之前一样,按i编辑,将eula=false改成eula=true然后esc退出,:wq退出并保存即可:

将false改为true

然后再次输入./run.sh用来启动服务器:

再次输入启动

当出现Done (xxx.xxxs)! For help,type "help"的字样,即启动成功。以后每次登陆ssh后,若服务器已启动,则使用screen -R mcpc来恢复mc控制台窗口,若服务器未启动,则使用cd /root/Minecraft来切换到Minecraft文件夹,然后./run.sh来启动脚本。

本Linux教程默认使用bash SHell,默认操作目录为/root

screen指令相关说明
# screen -AmRvx -ls -wipe-h <行数>-s

-A  将所有的视窗都调整为目前终端机的大小。
-d <作业名称>  将指定的screen作业离线。
-h <行数>  指定视窗的缓冲区行数。
-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称>  恢复离线的screen作业。
-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s  指定建立新视窗时,所要执行的shell。
-S <作业名称>  指定screen作业的名称。
-v  显示版本信息。
-x  恢复之前离线的screen作业。
-ls或--list  显示目前所有的screen作业。
-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

完整内容请参考 https://man.linuxde.net/screen

其他
若是阿里云之类的云服务器,记得检查是否在安全组规则里面放行了25565端口;若是本地服务器,无法访问的话请检查iptables的相关配置。

Windows平台

此处用Windows Server 2008 R2 Datacenter版。其他版本的方法都大同小异(我是在虚拟机中运行的,你当然也可以直接租用一个服务器,比如阿里云) 如果你用的是云服务器,Windows系统可以使用Windows附件里的远程桌面连接工具去连接服务器,Mac系统可以使用Remote desktop Client软件去连接服务器,提供一个安装包Microsoft_Remote_Desktop_10_1_8_installer,若无法安装请自行百度其他方法。

打开图标

咱们刚一进服务器是这样的,首先为了方便,我们将图标先调出来。

Windows Server 2008 R2 Datacenter

点左下角开始按钮,在搜索中输入icon, 选择"显示或隐藏桌面上的通用图标",然后回车,就可以打开所有图标:(参考文章: https://www.cnblogs.com/EasonJim/p/5359414.html

打开图标

Java环境安装

jre安装包下载地址-->Oracle官网,选择适合你的系统的包,我选择的是 jre-8u241-windows-x64.exe (可能需要你登录后才可以下载,自己注册一个账号就行)。选择exe格式的方便一些。

Oracle官网

首先在自己的计算机中下载好这个安装包,VM虚拟机可以使用VM Tools直接将文件粘贴进服务器,如果是云服务器,在远程桌面可以直接复制粘贴Ctrl C + Ctrl V(Command C + Command V)。然后像安装正常软件一样去安装就可以了,这就不多说了哈。

Spigot服务端的下载与启动

然后自己在服务器得某一个位置新建一个文件夹,作为MC服务器的文件夹,我选择的是C:\Users\Yili\Documents\Minecraft目录。

这里我使用spigot服务器端,服务器jar文件在这里下载-->Spigot(Spigot是一种纯净服,但是它可以加各种插件,并非mod服)下载你喜欢的版本,以1.15.2为例, 和上面那个传文件的步骤一样的,把这个jar文件也传进去。

然后右键,新建一个文本文档,输入以下内容,并另存为为run.bat

@echo off
java -Xms512M -Xmx4096M -jar spigot-1.15.2.jar nogui
解析代码
我们来解析一下这个代码,@echo off指的是关闭输出,java是指调用java,-Xms512M是指最小内存512M;-Xmx4096M是指最大内存,请自行修改一个合适的大小;spigot-1.15.2.jar是jar文件的名字;nogui是指没有GUI界面。

然后你就可以双击run.bat来运行服务器了,会发现服务器loading Libraries后就会关闭,是因为没有同意eula协议,打开同目录的eula.txt文件,将eula=false改成eula=true,保存即可:

将eula=false改成eula=true

重新双击run.bat开始运行服务器:

启动完成

其他
若是阿里云之类的云服务器,记得检查是否在安全组规则里面放行了25565端口,防火墙是否放行。

服务器配置,插件相关

服务器配置

服务器文件夹里的一些文件或文件夹的用途:

logs日志记录文件夹
plugins插件文件夹
world主世界文件夹
world_nether地狱世界文件夹
world_the_end末地世界文件夹
banned-ips.json被封禁掉的IP记录文件
banned-players.json被封禁掉的玩家记录文件
bukkit.ymlbukkit配置文件
commands.ymlbukkit命令配置文件
eula.txteula协议文件
help.yml帮助文件
ops.jsonop管理员记录文件
permissions.yml权限文件
server.properties 服务器基本配置文件
spigot.ymlspigot配置文件
whitelist.json白名单玩家记录文件

服务器配置文件为server.properties,我写的一些常用的配置项:(更详细的可以参考这篇: https://minecraft-zh.gamepedia.com/Server.properties

server-name服务器名字(String)
allow-nether是否允许地狱世界(boolean)
white-list是否开启白名单(boolean)
gamemode默认游戏模式(int)(0-3)
difficulty游戏难度等级(int)(0-3)
pvp是否允许玩家互撸(boolean)
enable-command-block是否开启命令方块(boolean)
max-players最大玩家数量(int)
server-port服务器端口(int)
online-mode是否开启正版验证(boolean)
motd服务器列表里显示的标语(String)

server.properties

插件安装

插件可以直接百度,或者到这个网站上下载-->Bukkit Plugins,下载插件时一定要注意支持的版本,选择对应版本才可以正常加载,将jar插件文件放到plugins文件夹即可:

下面是我自用的一些插件列表:

ClearLag清理掉落物,实体管理类原帖地址百度网盘1.8-1.14
CoreProtect方块记录,回档管理类原帖地址百度网盘1.8-1.15
EssentialsX基础,经济,保护综合类原帖地址百度网盘1.8-1.14
LuckPerms权限管理管理类原帖地址百度网盘>=1.88
Holographic Displays全息显示扩展类原帖地址百度网盘1.8-1.15
LoginSecurity 登录基础类原帖地址百度网盘1.8-1.14
Multiverse-Core多世界核心模块基础类原帖地址百度网盘1.8.1-1.15
Multiverse-Portals多世界,传送门基础类原帖地址百度网盘1.8.1-1.15
Residence领地保护基础类原帖地址原帖内购买或自行百度1.7.10-1.15
ServerSigns牌子指令基础类原帖地址百度网盘1.8-1.14
Vault经济插件扩展类原帖地址百度网盘1.8.1-1.11;1.13-1.14
WorldEdit创世神扩展类原帖地址百度网盘1.8-1.15

推荐一个服务器插件的百科网站:Minecraft插件百科,各个插件具体怎么使用请自行百度,一般都可以查得到,关键字"bukkit+插件名",像mcbbs里面都有中文说明的,上面那个百科网站里面也都有,上面的内容是我于2020年1月30日收集的,里面的资源不能保证是最新,所有的百度网盘链接有效期到2021年1月1日。

如何搭建一个Minecraft国际版服务器

https://blog.mapotofu.cn/archives/how_to_create_a_international_minecraft_server.html

作者

麻婆豆腐

发布时间

2020-01-30

添加新评论