针对2021年网络特色 MineCraft 开服教程 针对版本 (1.13.2 - 1.16.5) 注意:1.17需要最新的java版本,本教程的java下载地址都是java8,并非最新版本,请移步官网下载。
前言
什么是ipv6?
可以简单的理解为一种包含更多公网地址的通讯协议 使用它你就可以十分轻松的拥有公网地址
你只需要知道他比ipv4长,而且免费不用申请。
在使用 Ipv6 搭建服务器,请抛弃 NAT转换,端口转发 等概念 ipv6 中每一个设备都可以是外网主机,可以被所有支持 ipv6 的设备链接(换句话来说,也请妥善保管您的主机 / 服务器)
举个例子
- Ipv4:114.114.114.114
- Ipv6:2021:0410:0000:4567:FB00:1400:5000:45FF
注意:目前的ipv6大多都是公网(动态),本教程可以让你搭建Minecraft服务器,也同样适合搭建NAS局域网存储的对外公开(指改成网盘),你也要注意你的家用网络安全将会暴露出来,你需要尽可能的保障你的上网安全(但本教程不是教你搞安全的)。
目前ipv6已经基本普及,运营商都免费提供ipv6,大部分家庭路由器过于老旧不支持ipv6除外就没啥问题了,直到文章编辑完成为止,端口除了80/443/25等部分端口无法使用以外其余均可使用,个人建议将服务器的端口设置在1000以上。
开服准备
一些没有进行设备更新迭代的家庭,路由器可能会不支持ipv6,最好先在电脑里看看,以免搞到一般还以为能玩了。
IPV6测试
随后打开 Win R 输入 CMD 随后输入
代码语言:javascript复制POWERSHELL
ipconfig
没有检测到ipv6也不要灰心,你可能是路由器的ipv6没有开启(为什么不是光猫?光猫目前都默认开启ipv6,即使你一直没碰过)。
我的主力机接的是另一个路由器没检测出来,因为这个路由器有些年头了不支持ipv6,所以只能换一个或者搞点大动作。
根据我家路由器来配置 然后进入cmd内显示的默认网关(即:路由器)10.10.51.1
登录路由器后,查询您的 Ipv6 是否打开,如果没有请打开 随后有三种解决办法
- 尽可能缩减 NAT 的层数
- 将主机电脑与光猫直接相连(我的做法)
- 将路由器调整为桥接模式 / 中继模式(如果没有技术请勿尝试)
- 将广袤调节到桥接模式
- 用数据流量 USB 共享 /wifi 热点(没有 ipv6 可以修改 apn,请百度)
- 打死不放弃,一级一级调开 ipv6
安装java
MineCraft是必须安装java的,这个不用我说吧? 絢咲萌社区文件库(可能会更新文件放置目录或者中止服务导致无法下载) JDK 8u281 Download和 Java™ SE Development Kit 15.0.2 Download(BC子服需要)安装完成后重启,然后在cmd里输入javac,看是否能正常弹出相关命令。
Linux如何安装Java?
安装前准备 检查系统是否已经有JDK,输入如下命令查看是否系统中是否已安装,部分人在安装CentOS 7时系统会自动安装JDK:
代码语言:javascript复制CODE
java -version
下载Java包 官方渠道 然后
代码语言:javascript复制CODE
cd /usr/local
## 在这个目录上传文件后再解压文件
tar -zxvf /usr/local/包名.tar.gz
解压完成后再输入:
代码语言:javascript复制CODE
vi /etc/profile
配置环境变量
代码语言:javascript复制CODE
export JAVA_HOME=/usr/local/你的jdk版本
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
让配置文件生效可以输入如下命令
代码语言:javascript复制CODE
source /etc/profile
查看安装情况
代码语言:javascript复制CODE
java -version
## 有正常显示就可以了
安装python
需要MCDR的情况才下载。 什么是MCDR? 什么是 MCDR 插件? MCDR 插件是位于插件目录中的一个以 .py 为后缀的 python 源文件。插件目录的列表可以在 配置文件 中定义。 具体可进TIS的Github查看插件具体用途及用法。
官方渠道: Python
服务器核心
恭喜你进行到了这一步,这说明你已经完成了前面的环境搭建(踏入编程的的开始 - 不是)。 Minecraft 服务器核心:
Minecraft_server(官服核心)【如果你要玩原版生存服务器,建议搭配Fabric-Carpet,后面会讲到】 这个,顾名思义,就是官方的核心版本 优点:最快更新,只要新的正式版本一出现,那么官方也会出现此官方核心 非常稳定,根本不出现报错问题(除非你手残了)
缺点:什么都不能干,例如加入插件,加入mods,只有原版的一切物品和联机 可自定义内容等于0
forge_Minecraft_server(官方核心 加入forge)【本人强烈不推荐,除非你特殊要求】 嗯呢,优化了,可以加入mods进行游戏了 优点:就是官方版本加入了forge,更新速度较快,允许进行mods游戏 缺点:什么都不能干,只是加入了mods,而且不能配置,也包含一切原版物品和联机 (注意:原版生电服务器请勿使用) 可自定义内容非常少
spigot(就是大家熟悉的水龙头了)【本人强烈推荐插件服务器使用它】 那么我就不多做介绍了,spigot是大家熟悉的一个核心支持载入bukkit和spigot插件 优点:只允许加入插件不允许加入mods 稳定性良好 spigot一般自带反作弊(包括一些分支) 缺点:本人暂未得知
可自定义内容非常多
paper(即纸张核心){新版本以及逃离spigot,旧版本称作paperspigot} 那么我就不多做介绍了,paper是大家熟悉的一个核心 支持载入bukkit和spigot插件 优点:只允许加入插件不允许加入mods 稳定性比spigot稳定 缺点:有一部分插件不支持
可自定义内容非常多
Mohist(即墨端){现在高版本一般多用的核心}已经支持1.16版本了~【本人强烈推荐】 mohist是现在我遇到高版本除了sponge最好的一个版本 虽然内核不行,但是比楼上的好多了 本核心还兼容paper的一些插件支持 优点:这类核心支持高版本1.12.2 既可以加入mods又可以加入插件 不需要多大的服务器即可运行,并且自带多线程 缺点:比较多插件不支持,部分mods不支持 由于这点是通病:mods和插件在一起运行难免出现一些七七八八的bug (注意:原版生电服务器请勿使用)
Fabric-Carpet(地毯端)【原版生电服务器建议使用】 Q:地毯端跟水龙头、paper之间有什么联系或者区别吗,是属于mod服吗? A:水龙头端和paper端是经过第三方魔改的,删除了部分代码或者重写部分代码以达到优化效果,并且能安装插件,但是会导致部分特性丧失。而fabric是基于纯原版的,你没加mod就是没有对原版的改变的。fabric端严格意义上讲,是mod服的一种,但是这取决于你添加的是不是辅助mod和真正修改游戏内容的mod。辅助mod添加了,还是原版,但添加了如暮色之类的mod,就是真真正正的mod服了。比如carpet是对游戏的优化,并没有改变原版的游戏内容,就不应该算是mod服。
Carpet Mod下载页面(始终检查您当前使用的MC版本的最新版本): https://github.com/gnembon/fabric-carpet/releases
Fabric-Carpet介绍
注意,如果你是加了模组的Forge服务器,突然想改成原版生存,你迁移到Fabric-Carpet可能会出现点问题。
初始化你的服务器
新建一个运行脚本如果你是windows的话就是bat,如果你是linux的话就是sh。 都差不多 不要照抄!!!
代码语言:javascript复制BAT
@echo off
java -Xms12m -Xmx160m -Xss768K -server -Xincgc -jar server.jar nogui
pause
SHELL
#!/bin/bash
java -Xmx12M -Xms160M -Xss768K -server -Xincgc -jar server.jar nogui
第一次启动会生成server.properties配置文件,以及世界加载。 如果你不想要这个世界,你可以手动删除。
调整你服务器的配置文件
这个要根据你服务器需要进行设置,online-mode 是否允许在线验证,若你服务器是为了正版玩家进入,那么不用修改,默认就是开启正版验证。
Minecraft服务器属性: java版
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
allow-flight | 布尔值 | false | 允许玩家在安装添加飞行功能的MOD前提下在生存模式下飞行。允许飞行可能会使作弊者更加常见。在创造模式下本属性不会有任何作用。 false - 不允许飞行。悬空超过5秒的玩家会被踢出服务器。true - 允许飞行。玩家必须安装飞行MOD。 |
allow-nether | 布尔值 | true | 允许玩家进入下界。false - 下界传送门不会生效。true - 玩家可以通过下界传送门前往下界。 |
difficulty | 整数(0-3) | 1 | 定义服务器的游戏难度(例如生物对玩家造成的伤害,饥饿与中毒对玩家的影响方式等)。0 - 和平1 - 简单2 - 普通3 - 困难 |
enable-query | 布尔值 | false | 允许使用GameSpy4协议的服务器监听器。用于收集服务器信息。 |
enable-rcon | 布尔值 | false | 是否允许远程访问服务器控制台。 |
gamemode | 整数(0-2) | 0 | 决定游戏模式0 - 生存模式1 - 创造模式2 - 冒险模式(仅在12w22a之后,或正式版1.3之后可用) |
generate-structures | 布尔值 | true | 决定在生成世界的时候是否包括结构(例如NPC村庄)false - 新生成的区块中将不包含结构。true - 新生成的区块中将包含结构。 |
level-name | 字符串 | world | “level-name”的值将作为世界名称及其文件夹名。你也可以把你已生成的世界存档复制过来,然后把这个值与那个文件夹的名字保持一致,服务器就可以载入该存档。部分字符,例如’(单引号)可能需要在前面加反斜杠号才能正确应用。 |
level-seed | 字符串 | 空白 | 与单人游戏类似,为你的世界定义一个种子。这里有一些例子:minecraft,404,1a2b3c。 |
level-type | 字符串 | DEFAULT | 确定地图类型DEFAULT - 默认的标准地图FLAT - 超平坦LARGEBIOMES - 巨型生物群系(仅在12w19a之后,或正式版1.3之后可用) |
max-build-height | 整数 | 256 | 玩家在游戏中能够建造的最大高度。然而地形生成算法并不会受这个值的影响。 |
max-players | 整数(1-2147483647) | 20 | 服务器同时能容纳的最大玩家数量。但请注意在线玩家越多,对服务器造成的负担也越大,而且服务器OP也不具有在人满的情况下强行进入服务器的权力。所以请慎重设置本属性, |
motd | 字符串 | A Minecraft Server | 本属性值是玩家客户端的多人游戏服务器列表中显示的服务器名称。请注意,motd不支持彩色文字代码。如果motd超过59字符,服务器列表很可能会返回“通讯错误”。 |
texture-pack | 字符串 | 空白 | 客户端加入服务器后是否会自动下载材质包。请在这里填入完整的材质包URL。注意:这个链接必须直接连到事实的材质包ZIP文件,而且虽然材质包可以是高清的,服务器并不会对玩家服务端进行自动高清修补。所以如果你想让大多数玩家都能够使用该材质包的话,请使用标准16x16清晰度。 |
online-mode | 布尔值 | true | 是否允许在线验证。服务器会与Minecraft的账户数据库对比检查连入玩家。如果你的服务器并未与Internet连接,则将这个值设为false,然而这样的话破坏者也能够使用任意假账户登录服务器。如果Minecraft.net服务器下线,那么开启在线验证的服务器会因为无法验证玩家身份而拒绝所有玩家加入。通常,这个值设为true的服务器被称为“正版服务器”,设为false的被称为“离线服务器”或“盗版服务器”。true - 启用。服务器会认为自己具有Internet连接,并检查每一位连入的玩家。false - 禁用。服务器不会检查玩家。 |
pvp | 布尔值 | true | 是否允许PvP。玩家自己的箭也只有在允许PvP时才可能伤害到自己。注: 来源于玩家的间接伤害,例如岩浆,火,TNT等,还是会造成伤害。**true** - 玩家可以互相残杀。false - 玩家无法互相造成伤害。 |
query.port | 整数(1-65534) | 25565 | 设置监听服务器的端口号(详见enable-query)。 |
rcon.password | 字符串 | 空白 | 设置远程访问的密码(详见enable-rcon)。 |
rcon.port | 整数(1-65534) | 25575 | 设置远程访问的端口号(详见enable-rcon)。 |
server-ip | 字符串 | 空白 | 将服务器与一个特定IP绑定。强烈建议你留空本属性值!留空,或是填入你想让服务器绑定的IP。 |
server-port | 整数(1-65534) | 25565 | 改变服务器端口号。如果服务器通过路由器与外界连接的话,该端口必须也能够通过路由器。 |
spawn-animals | 布尔值 | true | 决定动物是否可以生成。true - 动物可以生成。false - 动物生成后会立即消失。 |
spawn-monsters | 布尔值 | true | 决定攻击型生物(怪兽)是否可以生成。true - 可以。只要满足条件的话怪物就会生成。false - 禁用。不会有任何怪物。 如果difficulty = 0(和平)的话,本属性值不会有任何影响。 |
spawn-npcs | 布尔值 | true | 决定是否生成村民。true - 生成村民false - 不会有村民。 |
view-distance | 整数(3-15) | 10 | 设置服务端传送给客户端的数据量。用每一个方向上的区块数量衡量。这个值也是客户端视野距离的上限。当视野为“远”时,实际的值为9,所以默认推荐值为10。 |
white-list | 布尔值 | false | 允许服务器白名单=当启用时,只有白名单上的用户才能连接服务器。白名单主要用于私人服务器,例如相识的朋友等。 注 - OP会自动被视为在白名单上。所以无需再将OP加入白名单。**false** - 不使用白名单。true - 从white-list.txt文件加载白名单。 |
Minecraft Classic 服务器属性
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
verify-names | 布尔值 | true | 验证玩家的IP是否与其连接Minecraft.net的IP相同。如果启用,会在内部网络中造成问题。true - 启用。false - 禁用。 |
admin-slot | 布尔值 | false | 允许OP在服务器人满时也能加入游戏。 |
public | 布尔值 | 服务器是否显示在服务器列表里。true - 服务器会显示在服务器列表里,任何人都能看到。false - 服务器不会对外广播。只有掌握服务器地址的人才能加入。 | |
server-name | 字符串 | 服务器名称,会显示在服务器名单上。单行文本。部分字符,例如’(单引号)可能需要在前面加反斜杠号才能正确应用。 | |
max-players | 整数(0-256) | 服务器同时在线的最大玩家人数。服务器OP不被计算在内。 | |
max-connections | 整数(1-3) | 同一个IP允许的最大连接数。 | |
motd | 字符串 | motd是玩家加入服务器时显示的信息。 | |
grow-trees | 布尔值 | 是否允许树苗长成为树木。true - 允许树苗长成为树木。false - 不允许树苗长成为树木。 |
引用 http://zh.minecraftwiki.net/wiki/Server.properties
添加模组和插件
Forge端一般都是为了玩mod才选择的,于是怎么装mod呢? 很简单,如果是用Forge核心启动的会自己生成Mods文件夹,把你客户端的mod丢进去就好了!
注意 :旅行地图或者FPS优化什么的,类似这种的辅助性质模组就不要扔进去了! PS:会改变世界属性的Mod最好删除世界重新生成,不删除也没什么太大的问题,就是玩家比较难受而已,加了多世界插件的话当我没说。
Spigot端的插件怎么安装呢? 就和安装模组一样,扔进去就好,但不是Mods的文件夹,而是Plugins文件夹。
服务器端最后调整
自动重启bat:(for windows)
代码语言:javascript复制BAT
@echo off
:start
java -Xms12m -Xmx160m -Xss768K -server -Xincgc -jar server.jar nogui
goto start
自动重启sh:(for linux)
代码语言:javascript复制SHELL
#!/bin/bash
while true
do
cd /路径 && java -Xmx最大M -Xms最小M -Xss768K -server -Xincgc -jar server.jar nogui
echo 5秒后重启服务器,使用ctrl c取消
sleep 5
done
连接 Minecraft 服务器
别如何连接你的服务器?
访问地址就是: 例如:**[2001:0410:0000:7894:PB00:1400:5000:45FF]:25565** 这样就是标准的
如果发现没法访问的话,检查防火墙相关(这里不作详细赘述)
解析地址
如果有域名,可以尝试将 ipv6 解析到域名上面,这样就可以不用背那么长一串公式 而且自己域名也好记
遇到 ipv6 地址改变怎么办? 因为 ipv6 跟 ipv4 也是一样的重启光猫 / 重启路由器 / 断电等操作会将 ip 重置 这个时候就需要 DDNS 了
DDNS 域名动态解析
DDNS-GO这是一个简单好用的 DDNS 动态域名服务工具,可以自动更新域名解析到公网 IP,目前支持Alidns(阿里云)
、Dnspod(腾讯云)
、Cloudflare
。并且是免费和开源的!
DDNS-GO 功能特性:
- 自动获得你的公网 IPv4 或 IPv6 并解析到域名中
- 支持 Mac、Windows、Linux 系统,支持 ARM、x86 架构
- 支持的域名服务商 Alidns(阿里云) | Dnspod(腾讯云) | Cloudflare | 华为云
- 间隔 5 分钟同步一次
- 支持多个域名同时解析
- 支持多级域名
- 网页中配置,简单又方便
- 网页中方便快速查看最近 50 条日志