本教程分为Windows Server和Linux两种,文章最后有服务器插件,管理等相关说明。
有时候需要和自己的好朋友联机玩我的世界,但又不想玩辣鸡网易的国服的话,可以采用我这种方法,自行搭建一个服务器。
前提:
如果想直接使用阿里云等云服务器,请直接往下翻,跳过这部分;若想要在自己家的电脑上开一个服务器,需要有公网ip,或者通过花生壳一类的内网穿透软件也可以。
公网IP方法
若想在自家网络上搭建服务器,首先在你家的一级路由(光猫)设置DMZ主机(我家是电信网络,需要用telecomadmin超管账户登录,才可以设置这些,具体请看我的这篇文章-->电信网关获取超管密码), 将你需要作为服务器的主机IP给输进去,如下图:
然后进行下一步,点击左侧的虚拟主机配置,如下图界面,点击增加:
在这里,使用接口选择带INTERNET的那个,选择自定义服务,自己写个名称就可以,我写的是Minecraft, lan侧服务器ip地址填写作为服务器主机的IP,最后点击应用/保存
至此,公网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直接下载,只能使用上传文件的方式)
下载完成后,使用WinScp工具上传到你的服务器,下载地址-->WinScp官网,安装完成后,添加你的服务器,文件协议选择SFTP,主机名填写你的服务器IP,端口号默认,用户名密码分别填写你服务器的root账户和密码,然后登陆,如下图:
登录后,先把你下载的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拖到目录中,如图:
回到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
退出并保存即可:
然后再次输入./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,若无法安装请自行百度其他方法。
打开图标
咱们刚一进服务器是这样的,首先为了方便,我们将图标先调出来。
点左下角开始按钮,在搜索中输入icon, 选择"显示或隐藏桌面上的通用图标",然后回车,就可以打开所有图标:(参考文章: https://www.cnblogs.com/EasonJim/p/5359414.html )
Java环境安装
jre安装包下载地址-->Oracle官网,选择适合你的系统的包,我选择的是 jre-8u241-windows-x64.exe (可能需要你登录后才可以下载,自己注册一个账号就行)。选择exe格式的方便一些。
首先在自己的计算机中下载好这个安装包,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,保存即可:
重新双击run.bat开始运行服务器:
其他
若是阿里云之类的云服务器,记得检查是否在安全组规则里面放行了25565端口,防火墙是否放行。
服务器配置,插件相关
服务器配置
服务器文件夹里的一些文件或文件夹的用途:
logs 日志记录文件夹 plugins 插件文件夹 world 主世界文件夹 world_nether 地狱世界文件夹 world_the_end 末地世界文件夹 banned-ips.json 被封禁掉的IP记录文件 banned-players.json 被封禁掉的玩家记录文件 bukkit.yml bukkit配置文件 commands.yml bukkit命令配置文件 eula.txt eula协议文件 help.yml 帮助文件 ops.json op管理员记录文件 permissions.yml 权限文件 server.properties 服务器基本配置文件 spigot.yml spigot配置文件 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)
插件安装
插件可以直接百度,或者到这个网站上下载-->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日。