当前位置:   article > 正文

【Minecraft】在Linux上架设我的世界Minecraft服务器(保姆级教程)_linux搭建mc服务器

linux搭建mc服务器

这篇文章也可以在我的博客中查看

准备工作

  • 一台服务器
    • vps或者独立服务器都可以,有完全控制权就ok
    • 建议选择国内服务器,国外服务器连接时延较高,不适合做游戏服务器
    • 租用前应详细了解配置要求(以下配置要求以同时在线5人左右的基友服为例)
      • 带宽建议至少3M,带宽过小会导致长时间读图。另外,玩家数量过多应进一步增加带宽,每个玩家大概占用100Kb/s的数据传输,如果是mod服或者有多动症玩家,可能会更高。
      • 硬件配置:纯净服至少1核2G内存;Mod服至少2核4G内存。人多需要进一步提升。
  • Linux系统(本文以Debian10为例)

更新系统包

运行以下命令,确保系统程序包处于最新状态。

apt update
  • 1

安装java

两种做法,如果服务器已安装合适的java,可以跳过

apt安装

如果你的系统包管理工具自带最新jdk,可以直接安装:
比如Debian11应该就有:

查找java 17(目前最新的长期支持版本)

root@debian:~# apt-cache search openjdk | grep 17
openjdk-17-dbg - Java runtime based on OpenJDK (debugging symbols)
openjdk-17-demo - Java runtime based on OpenJDK (demos and examples)
openjdk-17-doc - OpenJDK Development Kit (JDK) documentation
openjdk-17-jdk - OpenJDK Development Kit (JDK)
openjdk-17-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-17-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-17-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-17-jre-zero - Alternative JVM for OpenJDK, using Zero
openjdk-17-source - OpenJDK Development Kit (JDK) source files
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

安装jdk或者jre
两者都可以开服,如果你是开发者,建议选择jdk。否则选择jre可以节省安装空间。

apt install openjdk-17-jdk
  • 1

手动安装

由于大便10自带的程序库不包含最新版java运行时(检查于2022.12.8),而高版本服务器需要最新java,因此我们这一步手动从官网下载安装Java。

进入Oracle官网找到长期支持的jdk安装包并下载。此处我们直接下载针对debian的安装包:.deb文件。

wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.deb
  • 1

安装debian程序包

apt install ./jdk-17_linux-x64_bin.deb
  • 1

为了在命令行中运行java,我们需要将安装好的java加入环境变量。以下命令临时导出至环境变量,持续至会话结束。

export JAVA_HOME=/usr/lib/jvm/jdk-17
export PATH=$PATH:$JAVA_HOME/bin
  • 1
  • 2

此时输入以下命令,应该可以看到java版本,说明java配置完毕

java --version
  • 1

删除安装包

rm jdk-17_linux-x64_bin.deb
  • 1

题外话,如果你以这种形式安装java17,在卸载的时候,它的包名为jdk-17

# 以下是卸载命令,不要输入
apt --purge autoremove jdk-17
  • 1
  • 2

配置环境

安装screen

mc服务器不支持作为服务运行,我们需要使用screen以保证在登出控制台后服务器仍然有效。

apt install screen
  • 1

下载minecraft服务端

先在用户目录下创建minecraft文件夹,然后下载最新的minecraft服务端。

  • 纯净服:官网只给了最新版的下载,建议到第三方平台mcversions下载服务端
  • 插件服:建议使用Paper服务端
  • mod服:建议使用forge服务端

此处以插件服为例,复制下载链接后,输入以下命令:

mkdir ~/minecraft
cd  ~/minecraft
wget https://api.papermc.io/v2/projects/paper/versions/1.19.2/builds/307/downloads/paper-1.19.2-307.jar
  • 1
  • 2
  • 3

如果你安装的是forge服务器,下载的jar其实只是一个安装工具,之后还需要执行以下命令安装,其中forge-x.xx.x-installer.jar是你jar的文件名:

java -jar forge-x.xx.x-installer.jar --installServer
  • 1

该命令会产生另一个文件,该文件才是真正的服务端。

初始化服务器

第一次运行服务器,将生成必要文件

java -Xms1024M -Xmx2048M -jar paper-1.19.2-307.jar nogui
  • 1

输出大致如下:

Downloading mojang_1.19.2.jar
Applying patches
Starting org.bukkit.craftbukkit.Main
System Info: Java 17 (Java HotSpot(TM) 64-Bit Server VM 17.0.5+9-LTS-191) Host: Linux 4.19.0-21-amd64 (amd64)
Loading libraries, please wait...
[15:49:25 INFO]: Building unoptimized datafixer
[15:49:26 ERROR]: Failed to load properties from file: server.properties
[15:49:26 WARN]: Failed to load eula.txt
[15:49:26 INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

简单来说就是生成了服务器文件,然后提示需要同意用户协议。

输入ls可以查看确认目录下的文件,输出如下:

cache  eula.txt  libraries  logs  paper-1.19.2-307.jar	server.properties  versions
  • 1

配置服务器

同意用户协议

用编辑器打开eula.txt

vi eula.txt
  • 1

将文件内的eula赋值为true

eula=true
  • 1

更改配置文件

你在开服前可能需要进行简单定制,详细的配置文件见Minecraft Wiki中server.properties词条,此处只指出必改部分。

首先,使用编辑器打开配置文件

vi server.properties
  • 1

如果你的小伙伴没有购买正版MC客户端,你必须将online-mode设置为false,否则将无法加入服务器。

online-mode=false
  • 1

找到server-port,记住它的值。因为这是我们登入服务器所需要的端口。如果你没有更改过,默认应该是25565

server-port=25565
  • 1

测试服务器

首先运行screen并给予命名,此处为mc-server

screen -S mc-server
  • 1

在screen中,执行开服命令:

java -Xms1024M -Xmx2048M -jar paper-1.19.2-307.jar nogui
  • 1

等待半分钟左右,应该可以看到Done,说明服务器已经成功开设了

[16:12:35 INFO]: Done (26.095s)! For help, type "help"
  • 1

输入组合键:ctrl+a,ctrl+d即可将screen挂到后台
输入命令screen -ls查看窗口一览
输入命令screen -r mc-server可以重新回到服务器窗口中。

此时使用客户端连接服务器,测试是否能正常登入。

  • IP地址是你服务器的公网IP
  • 端口是配置文件中server-port,默认为25565(如果是默认端口,可省略)

举例:

  • IP1.2.3.4上的25565端口:填写1.2.3.4
  • IP1.2.3.4上的其它端口,以12345端口为例:填写1.2.3.4:12345

如果无法登陆,请检查运营商防火墙的相关设置,确保端口处于开放状态!

简化启动

为了让启动更加方便,我们可以设置启动脚本,就省去了输出长命令的时间。

首先在mc服务端根目录新建脚本文件

vi start.sh
  • 1

编辑为以下内容并保存:

#! /bin/bash
# set variables
export JAVA_HOME=/usr/lib/jvm/jdk-17
export PATH=$PATH:$JAVA_HOME/bin
# cd to script directory
cd "${0%/*}"
# start server
java -Xms1024M -Xmx2048M -jar paper-1.19.2-307.jar nogui
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

因为我们没有将JAVA_HOMEPATH持久化,因此我们需要在运行前对这些变量赋值。
如果你希望去掉这两行,你需要创建/etc/profile.d/jdk.sh文件并加入环境变量。

然后输入以下命令将其改为可执行文件:

chmod +x start.sh
  • 1

设置完毕后,以后输入以下命令即可开服,其中~/minecraft/start.sh是脚本的绝对路径:

screen -dmS mc-server ~/minecraft/start.sh
  • 1

因为该命令直接后台启动服务器,你可以使用screen -ls命令确保screen已启动;
或者直接使用screen -r mc-server命令进去看一眼。

要结束服务器,你可以直接杀死screen进程。但更好的方法是进入screen进程,并输入stop终止服务器运行。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/217661
推荐阅读
相关标签
  

闽ICP备14008679号