部署minecraft服务器

部署minecraft服务器
Beatrice部署开始前
其实mc开服是个很简单的操作,很容易就能学会。
准备
一颗炙热的心
“耐心是高尚的秉性,坚韧是伟大的气质。 无论何人,若是失去耐心,便失去了灵魂”——培根。
“每件事都需要有足够的耐心,才能获得成功。
硬件
能够运行服务器的方式有很多,面板,云服务器等等皆可,对于使用面板的读者,相信面板提供商会提供指导服务,不需要阅读此文章,那么本文将讲述如何在“云服务器”这一系列机器上开设服务器。对机器的需求取决于开的是个什么服务器,如果是朋友间联机,那根本不需要机器,自己的主机就能开,甚至可以用树莓派,但对于需要长时间运行的人来说,我们并不能使用消费级主机,需要专门组一台机器,或者去云服务器厂商购买主机。对于纯净服,不需要太高的配置,但是对于模组甚至是群组服,就需要注意配置的问题,这里的配置是指cpu,内存,宽带,单服一般不需要过多核心的cpu,内存尽量在一定范围内的多,宽带依人数而定,请注意,Mc非常吃单核性能,请优先选择单核性能强的机器。
操作系统
操作系统有多种,如linux,Windows,Ubuntu等,本文将以Ubuntu与Windows为例,系统安装不在本文阐述。
环境
在部署服务器前,我们需要部署Java
Ubuntu
镜像源更换
由于默认源可能很慢,所以我们要在此更换镜像源
右键我们电脑的windows徽标,使用以下命令链接服务器
1 | ssh 用户名@服务器公网ip |
如遇无法打开锁文件
的问题,请按下述步骤提升权限
1 | sudo passwd root |
我们使用vim编辑软件源文件,您将看到类似以下的界面,进入后,请不要乱动
:
1 | vim /etc/apt/sources.list |
我们先依次按下999dd,此时文件应当清空。接下来,按下i,开始编辑。
粘贴以下内容。
1 | deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse |
然后按ESC,然后输入**:wq,回车,使用以下命令更新列表。
1 | apt update |
Java部署
请检查将开设服务器的版本:
1 | apt search openjdk |
若我们将开设1.16及之前版本,需要安装Java8
1 | apt install openjdk-8-jdk -y |
若我们将开设1.17及以上版本,需要Java17或更高版本
1 | apt install openjdk-17-jdk -y |
安装完毕后使用此命令以检查是否成功安装,安装成功后,应当会反馈版本信息
1 | java -version |
Windows
首先下载java安装包java
一般选择“x64 Installer”即可,一路根据安装程序安装,记住java位置。
安装完毕后使用此命令以检查是否成功安装,安装成功后,应当会反馈版本信息,若提示“不是内部命令”,请尝试重启,若依旧提示,请配置环境变量,或记下安装目录在后文使用。
1 | java -version |
完成部署
至此,我们已经完成了所有前置步骤,接下来我们将正式开始部署mc服务器。
服务器核心选择
对于不同的服务器走向,有不同的核心选择,以下为几种常见的核心,选择好服务端后,复制对应的jar直链。
核心 | 版本 | 内容 |
---|---|---|
PaperSpigot | 1.8.8-最新 | 支持 CraftBukkit 和 Spigot 插件 |
Mohist | 1.7.10-最新 | 支持 Forge mod 和 Paper 系列插件 |
Catserver | 1.12.2,1.18.2,1.16.5 | 支持 Forge mod 和 Paper 系列插件 |
Minecraft Server | all | 原版 |
Bedrock Server | all(基岩版) | 原版 |
BungeeCord | all | 代理端,用于群组服 |
Spigot | 1.4.6-最新 | 支持Bukkit 和 Spigot 插件 |
Sponge Forge | 1.8-1.19.4 | 支持 Forge mod 和 部分插件 |
Velocity | all | 代理端,用于群组服 |
Ubuntu
使用以下命令,创建一个名为"mcserver"的文件夹,此条目可以依据喜好修改
1 | cd ~ |
下载核心到服务端上
1 | wget 刚刚复制的链接 |
核心就部署好了!
Windows
下载对应的核心后,随便拖到一个空文件夹就可以使用了。
Mc,启动!
Ubuntu
使用此命令启动服务器
1 | java -jar server.jar nogui |
启动会在这样的反馈下停止,我们需要使用以下命令同意Eula条款。
1 | vim eula.txt |
将其中的false修改为true
完成后再次运行启动命令,完成!
Windows
在jar文件目录下新建一个文本文档修改后缀名为.bat
右键编辑,填入以下内容,若运行后提示未知命令,则修改下文中java为"前文安装时所复制bin目录/java.exe"(注意引号)
1 | java -jar server.jar nogui |
其余步骤同Ubuntu的安装方法,在此不再重复阐述。
进阶
Ubuntu screen
前面的步骤中,操作慢的同学可能发现连接超时了,那么当我们成功开服后还能回到后台吗?答案是不能,如果你不幸遇到了这种情况,请这样操作来先把服务端杀掉:
1 | ps -aux | grep java |
接下来我们创建一个sceen,并把后面的内容作为他的名字
1 | screen -S 一个名字 |
进入sceen后我们再启动服务器,如遇到上述情况,输入以下内容以回到后台
1 | screen -r 那个名字 |
自定义域名
本文中不讲述如何购买域名。
打开dns解析页面,按如下操作配置,接下来,可以在游戏中使用该域名进入游戏了
开整合包
本来mcbbs还在的时候能更简单的,可惜。前文提到的是最基础的服务器部署,其他核心也可以照葫芦画瓢跑起来。找到心仪的整合包,通常,整合包会有server包,如下,直接下载启动内容即可。
若没有server包,则安装对应的整合包到客户端,将.minecraft目录下的文件(未启动版本隔离)全部拖到核心文件夹,选择适合的核心即可,若崩溃,请删除造成原因的mod。
许多整合包都来自国外,因此,汉化成为一个很重要的操作,对于大多数知名整合包通常有汉化,请去网上找,解压后拖入服务端文件夹及客户端文件夹。
server.properties注解
spawn-protection=16 出生点保护半径(若没有op则不生效)
max-tick-time=60000 设置每个tick花费的最大毫秒数
query.port=25565 设置监听服务器的端口号
generator-settings= 用于自定义超平坦世界的生成
force-gamemode=false 玩家加入服务器时强制变成默认游戏模式
allow-nether=true 是否开启地狱世界(关闭后删除将不会生成地狱世界)
enforce-whitelist=false 在服务器上强制执行白名单。
gamemode=survival 设置玩家的游戏模式
broadcast-console-to-ops=true *给op发送控制台信息?
enable-query=false 是否开启GameSpy4协议服务器监听器,用于获取服务器信息,建议不要修改
player-idle-timeout=0 当进入AFK模式,在规定时间内T出服务器,设置成0为不T出服务器
difficulty=easy 设置游戏的难度(peaceful(0)=和平,easy(1)=简单,normal(2)=普通,hard(3)=困难)
broadcast-rcon-to-ops=true *允许远程连接控制台给op发送信息?
spawn-monsters=true 是否生成怪物
op-permission-level=4 设定OP的权限等级
pvp=true是否可以打架
snooper-enabled=true一旦启用,将允许服务端定期发送统计数据
hardcore=false 极限模式(启用后,玩家死后会被服务器封禁)。
enable-command-block=false 是否启用命令方块
network-compression-threshold=256 默认会允许n-1字节的数据包正常发送, 如果数据包为 n 字节或更大时会进行压缩。所以,更低的数值会使得更多的数据包被压缩,但是如果被压缩的数据包字节太小将会得不偿失。
max-players=20 最大玩家数
max-world-size=29999984 设置世界边界的最大半径值,单位为方块。通过成功执行的命令能把世界边界设置更大,
resource-pack-sha1= 资源包的SHA-1值,必须为小写十六进制
function-permission-level=2 用于控制函数拥有的权限等级。
server-port=25565 设置服务器的IPv4端口号
server-ip= 将服务器与一个特定IP绑定。建议留空
spawn-npcs=true 决定是否生成村民
allow-flight=false 允许玩家在安装添加飞行功能的mod前提下在生存模式下飞行。
level-name=world 主世界名称
view-distance=10 设置服务端传送给客户端的区块量 (范围3-15)
resource-pack= 可输入指向一个资源包的URI。玩家可选择是否使用该资源包
spawn-animals=true 动物是否可以生成
white-list=false 服务器的白名单,OP无须加入白名单
rcon.password= 远程访问密码
generate-structures=true 定义是否在生成世界时生成结构(如村庄)
online-mode=true 线上模式是否开启 (即正版模式)
max-build-height=256 玩家在游戏中能够建造的最大高度
level-seed= 世界种子
motd=A Minecraft Server 玩家客户端的多人游戏服务器列表中显示的服务器信息,显示于名称下方。
enable-rcon=false 是否允许远程访问服务器控制台。