linux云服务搭建Minecraft服务器
1 准备工作
以下内容全部要在root用户内完成
1.1 安装文件传输工具
为了方便传文件到服务器上,这里先装一个远程传输工具。
yum -y install lrzsz
1.2 安装java
Minecraft服务端也需要jre才能运行,这里有两个安装方法(选择一种):
1.2.1 官网下载
去官网下载(https://www.oracle.com/java/technologies/javase-jre8-downloads.html)linux x64的gz包,得到jdk-8u271-linux-x64.tar.gz文件(目前最新版本是8u271,以后可能会有更新的版本)。
rz #将下载好的gz文件上传到服务器
# 创建安装目录
mkdir /usr/local/java/
# 解压当前目录下的JDK压缩文件(版本不一样文件名也会不一样,善用tab自动补全)
tar -zxvf jdk-8u271-linux-x64.tar.gz -C /usr/local/java/
# 方便后面配置环境,改一下文件名
mv /usr/usr/local/java/jdk1.8.0_271 /usr/usr/local/java/jdk1.8.0
# 设置环境变量(安装 VIM 输入 yum -y install vim)
vim /etc/profile
# 在末尾添加对应变量
滚动光标到末尾 按下 键盘上的 INS 键,切换至插入模式
输入这几串内容后 按ESC退出插入模式
然后按下 Shift + ; 输入 wq 并回车保存
export JAVA_HOME=/usr/local/java/jdk1.8.0
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# 应用修改后的环境变量
source /etc/profile
# 软链接程序到环境变量中
ln -s /usr/local/java/jdk1.8.0/bin/java /usr/bin/java
# 测试是否安装正常,显示 java version "1.8.0_261" 则为正常
java -version
1.2.2 或yum安装
sudo yum install java-1.8.0-openjdk
有询问输入y即可
1.3 安装screen
安装screen,后面开服时会用到。使用screen可以让服务器进程在后台运行,而不会因为远程连接的断开而停止进程。
# RedHat/CentOS
yum install -y screen
# Ubuntu/Debian
apt install screen
1.4 配置防火墙
一定要在root用户中操作。
这步很关键,开服之后连接不到服务器,很可能就是因为防火墙没配置好!
添加一个端口(25565默认)
firewall-cmd --zone=public --add-port=25565/tcp --permanent
然后 重启防火墙
firewall-cmd --reload
查看端口状态
firewall-cmd --zone= public --query-port=25565/tcp
在网页端的管理控制台 安全 防火墙 右上添加规则
TCP 25565
1.5 创建用户
不建议使用root系统进行后面的操作,接下来为Minecraft创建一个专门的用户。
useradd -m Minecraft # 新建一个名为Minecraft的用户
passwd Minecraft # 为用户Minecraft设置密码
su - Minecraft # 切换至新建的Minecraft用户。改成root,可以切换回root用户
2.Minecraft服务端
给MC服务端创建一个文件夹
cd ~
mkdir MinecraftServer #创建文件夹
cd MinecraftServer #进入文件夹
2.1 获取服务端
MC目前主流的服务端分很多种,简单可以分为三类:
①原版纯净:官网直接下服务端,不能装mod不能装插件
②forge服务端:Mod服,只能装Mod,不能装插件
(http://files.minecraftforge.net/)
③Craftbukkit、Spigot服务端:插件服,只能装插件,不能装Mod
④CatSetver服务端:国人开发的,MOD+插件服,白火现在在用。
以上服务端,按需要选择一个,到对应官网下载。(或直接下载别人配置好的懒人服务端,别人配置好的服务端,可视情况跳至2.3步骤。)
你可以在自己的电脑上下载好服务端,然后利用Xshell等远程终端的lrzsz插件,传输到服务器上。
用cd MinecraftServer指令,进入刚才创建的MinecraftServer内。输入指令:
rz
就会弹出上传窗口,将下载好的服务端上传。

下载好后执行下面这一句。这里分别以Forge和CatServer举例。不论你用那种服务端,你只需要把-jar后面的名字改成你服务端文件的名字即可。善用Tab补全代码,避免输错。
#Forge服
java -jar forge-1.12.2-14.23.4.2705-installer.jar -nogui -installServer
#CatServer服
java -Xmx2G -jar CatServer-2a9163f-universal.jar
这一步其实是在安装服务端,还要在下载一会服务端资源,网络比较慢。有意思的是,其中CatServer服端安装服务端的指令,和后面正真运行服务端的指令是一样的。(Forge则是不同的)
如果提示下载失败了,或部分资源下载超时了,就再重执行一次上面的forge-*-installer.jar
#用ls指令查看文件
ls #会看到多了几个文件

你看到肯定没我截图那么多,是正常的,不用担心。因为我这里有很多mod的配置文件夹之类的,你们的新服务器还没装mod或插件。
现在服务器资源都正确下载了,执行以下代码:
#Forge服
java -Xmx1G -jar forge-1.12.2-14.23.4.2705-universal.jar
#CatServer服
java -Xmx2G -jar CatServer-2a9163f-universal.jar
2.2 同意协议
首次运行必定失败,会提示你需要同意协议。这时我们输入ls就能看到目录下多了一个eula.txt。我们需要修改eula文件同意协议,才能启动。
vim eula.txt
将eula=false改成eula=true即可。
然后按esc,输入:wq保存退出。
2.3 配置文件
为了方便以后开服,我们创建一个startServer.sh文件。(别人配置好的服务端可能已经创建过了)
vim startServer.sh
然后i写入
#Forge服
java -Xmx1G -jar forge-1.12.2-14.23.4.2705-universal.jar
#CatServer服
java -Xmx2G -jar CatServer-2a9163f-universal.jar
按esc,输入:wq保存退出。
其实就是把刚才我们运行服务器的指令,写进了shell中,以后省的敲指令了,直接运行这个shell即可。
这和windows的bat批处理性质相似,在windoes中开服,也是把开服的指令写进一个bat中,每次运行bat就省的敲指令了。
# 给start.sh执行权限
chmod 777 startServer.sh
# 执行start.sh即可开服
./startServer.sh
# 控制台不再跳新的信息时,说明开服成功了
# 我们先结束服务器,完成服务器配置
stop
首次成功开服后,会产生一个server.properties文件,是服务器的配置文件。
vim server.properties #修改配置文件
其中online-mode=true是检测正版登录用户,true是只允许正版玩家进入可以使用,false则允许离线进入。
更多配置参考这个文件。
https://minecraft-zh.gamepedia.com/index.php?title=Server.properties&variant=zh
2.4 正式开服
创建一个名为MinecraftServer的screen,可以让服务器在后台运行,断开远程连接也不终止进程。
screen -S MinecraftServer
启动服务器
./start.sh


不要管我这里绿色的提示,那是我装的领地插件的提示,新服务器肯定没有的。你只要看到有Type “/help” for help,就说明你的服务器已经跑起来了。
然后按住Ctrl + A +D ,将screen加入后台运行
当你需要回到这个sreen页面时,使用如下指令。
screen -ls # 查看screen,记下MinecraftServer的编号
screen -r <MinecraftServer的编号>
现在进游戏,输入自己服务器的ip就可以连上了。

补充
如果服务端正常开服,但是游戏就是无法连接服务器,一般都是防火墙的问题。回去1.4好好看看,再配置下防火墙。
Mod放在服务器文件夹内的mods文件夹内,即MinecraftServer/mods下。前提是你的服务器端必须支持mod,如Forge端、CatServer端。
插件放在服务器文件夹的plugins文件夹内,即MinecraftServer/plugins下。前提是你的服务端必须支持插件,如Craftbukkit、Spigot、CatServer。
没错,CatServer永远的神!
整体来说在Linux上开服不难,前提是有一定的Linux基础。如果有不明白,或者实际操作遇到困难,欢迎在评论,会逐一解答。
因为linux有CentOS、unbuntu等,分支众多,而MC的服务端也五花八门,各不相同。可能会有纰漏,欢迎指正!
如何在Linux下搭建Minecraft服务器
参考:
Minecraft Wiki:server.properties
linux云服务搭建Minecraft服务器的更多相关文章
- linux云服务搭建七日杀服务器
目录 准备工作 1.设置swap 2.安装screen 3.安装SteamCmd运行所需环境 4.创建一个用户 steamCMD与七日杀服务器端 1.下载并安装SteamCMD 2.登录steam账号 ...
- Linux云服务部署Spring boot项目
Linux云服务部署Spring boot项目 背景: 之前经过两个周的时间,做了一个简单的博客网站,网址:点击进入,在本地可以正常使用以后,想着部署到服务器上,给大家伙看个乐呵,于是有了这篇部署文章 ...
- Linux 邮件服务搭建
Linux 邮件服务搭建 邮件服务针对,在大型企业使用的比较多,一般小型企业都会买一些邮件服务,或者使用一些免费的邮件服务,达到我们使用的需求,并且不需要自己维护,下面我就来简单安装一下两个邮箱的案例 ...
- Linux中用postfix搭建邮件服务器实战详解
Linux中用postfix搭建邮件服务器实战详解 postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.Postfix试图更快.更容易管理.更安全,同时 ...
- 关于阿里云专有网络搭建FTP服务器的深坑
之前用的FTP服务器都是,随便搭建一下就能用了, 昨天因为服务器的问题,换了个服务器,搭建FTP服务器的时候发现, 搭建的服务器居然只能使用 主动模式访问,改成被动后 无法获取目录, 百度了 各大论坛 ...
- 腾讯云服务器linux centOS7.4 搭建ftp服务器 vsftpd
腾讯云服务器linux centos 7.4 搭建ftp服务器 vsftpd 在centos 7.3测试也是OK的,其它版本没有实验 # 安装 vsftpd $ yum install vsftpd ...
- 腾讯云服务器linux Ubuntu操作系统搭建ftp服务器vsftpd
腾讯云服务器linux Ubuntu操作系统安装ftp服务器vsftpd 操作系统: Ubuntu Server 16.04.1 LTS 64位 下面我将系统重装, 一步一步从头开始,安装FTP服务器 ...
- 使用Spigot搭建MineCraft服务器
MineCraft 这种游戏还是人多了好玩,以前的服务器放在同学的Windows电脑上,每次我们想玩的时候就让让去打开,但是总是有一些原因,想玩的时候服务器没开着,不想玩的时候服务器空开着费电.昨天一 ...
- Windows和Linux环境下搭建SVN服务器
--------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...
随机推荐
- MyBatis中传参时为什么要用#{}
MyBatis中传参时为什么要用#{},这个问题和MyBatis如何防止SQL注入类似.不过在解释这个问题之前,先解释一下什么是SQL注入,还有些称作注入攻击这个问题. SQL注入就是SQL 对传入参 ...
- React Hooks: useMemo All In One
React Hooks: useMemo All In One useMemo https://reactjs.org/docs/hooks-reference.html#usememo refs x ...
- React Hooks: useState All In One
React Hooks: useState All In One useState import React, { useState } from 'react'; function Example( ...
- js 实现各种算法 APP
js 实现各种算法 APP 常见算法: 排序,搜索/查找,枚举,遍历,最短路径,二叉树 open source web app desktop app react native app flutter ...
- Deno 1.0 & Node.js
Deno 1.0 & Node.js A secure runtime for JavaScript and TypeScript. https://deno.land/v1 https:// ...
- macOS utils
macOS utils dr.unarchiver https://dr-unarchiver.en.softonic.com/mac https://dr-unarchiver.en.softoni ...
- Taro 物料市场
Taro 物料市场 taro component demo https://taro-ext.jd.com/ https://taro-ext.jd.com/plugin/view/5caab6c68 ...
- React Hooks & react forwardRef hooks & useReducer
React Hooks & react forwardref hooks & useReducer react how to call child component method i ...
- 如何理解NGK的Layer2-侧链?
对于 NGK来说,Layer-2越来越重要,并成为共识.但是,"Layer-2" 是个不精确的标签.有些人说起 "Layer-2" 时,仅仅指的是 " ...
- 交易所频频跑路?Baccarat去中心化交易平台助力资金安全
过去,黑客攻击可能是交易所跑路的最常见原因.自OKEx事件以来,这些交易所暂停提币或跑路还多了一个原因,就是因创始人正在协助调查. 据不完全统计,自OKEx于10月16日宣布暂停提币后不到两个月,已经 ...