赞
踩
运行以下命令,确保系统程序包处于最新状态。
apt update
两种做法,如果服务器已安装合适的java,可以跳过
如果你的系统包管理工具自带最新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
安装jdk或者jre
两者都可以开服,如果你是开发者,建议选择jdk
。否则选择jre
可以节省安装空间。
apt install openjdk-17-jdk
由于大便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
安装debian程序包
apt install ./jdk-17_linux-x64_bin.deb
为了在命令行中运行java
,我们需要将安装好的java加入环境变量。以下命令临时导出至环境变量,持续至会话结束。
export JAVA_HOME=/usr/lib/jvm/jdk-17
export PATH=$PATH:$JAVA_HOME/bin
此时输入以下命令,应该可以看到java版本,说明java配置完毕
java --version
删除安装包
rm jdk-17_linux-x64_bin.deb
题外话,如果你以这种形式安装java17,在卸载的时候,它的包名为jdk-17
# 以下是卸载命令,不要输入
apt --purge autoremove jdk-17
mc服务器不支持作为服务运行,我们需要使用screen以保证在登出控制台后服务器仍然有效。
apt install screen
先在用户目录下创建minecraft
文件夹,然后下载最新的minecraft服务端。
此处以插件服为例,复制下载链接后,输入以下命令:
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
如果你安装的是forge服务器,下载的jar
其实只是一个安装工具,之后还需要执行以下命令安装,其中forge-x.xx.x-installer.jar
是你jar
的文件名:
java -jar forge-x.xx.x-installer.jar --installServer
该命令会产生另一个文件,该文件才是真正的服务端。
第一次运行服务器,将生成必要文件
java -Xms1024M -Xmx2048M -jar paper-1.19.2-307.jar nogui
输出大致如下:
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.
简单来说就是生成了服务器文件,然后提示需要同意用户协议。
输入ls
可以查看确认目录下的文件,输出如下:
cache eula.txt libraries logs paper-1.19.2-307.jar server.properties versions
用编辑器打开eula.txt
vi eula.txt
将文件内的eula
赋值为true
eula=true
你在开服前可能需要进行简单定制,详细的配置文件见Minecraft Wiki中server.properties
词条,此处只指出必改部分。
首先,使用编辑器打开配置文件
vi server.properties
如果你的小伙伴没有购买正版MC客户端,你必须将online-mode
设置为false
,否则将无法加入服务器。
online-mode=false
找到server-port
,记住它的值。因为这是我们登入服务器所需要的端口。如果你没有更改过,默认应该是25565
server-port=25565
首先运行screen
并给予命名,此处为mc-server
screen -S mc-server
在screen中,执行开服命令:
java -Xms1024M -Xmx2048M -jar paper-1.19.2-307.jar nogui
等待半分钟左右,应该可以看到Done,说明服务器已经成功开设了
[16:12:35 INFO]: Done (26.095s)! For help, type "help"
输入组合键:
ctrl
+a
,ctrl
+d
即可将screen
挂到后台
输入命令screen -ls
查看窗口一览
输入命令screen -r mc-server
可以重新回到服务器窗口中。
此时使用客户端连接服务器,测试是否能正常登入。
server-port
,默认为25565
(如果是默认端口,可省略)举例:
1.2.3.4
上的25565
端口:填写1.2.3.4
1.2.3.4
上的其它端口,以12345
端口为例:填写1.2.3.4:12345
如果无法登陆,请检查运营商防火墙的相关设置,确保端口处于开放状态!
为了让启动更加方便,我们可以设置启动脚本,就省去了输出长命令的时间。
首先在mc服务端根目录新建脚本文件
vi start.sh
编辑为以下内容并保存:
#! /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
因为我们没有将
JAVA_HOME
和PATH
持久化,因此我们需要在运行前对这些变量赋值。
如果你希望去掉这两行,你需要创建/etc/profile.d/jdk.sh
文件并加入环境变量。
然后输入以下命令将其改为可执行文件:
chmod +x start.sh
设置完毕后,以后输入以下命令即可开服,其中~/minecraft/start.sh
是脚本的绝对路径:
screen -dmS mc-server ~/minecraft/start.sh
因为该命令直接后台启动服务器,你可以使用
screen -ls
命令确保screen已启动;
或者直接使用screen -r mc-server
命令进去看一眼。
要结束服务器,你可以直接杀死screen进程。但更好的方法是进入screen进程,并输入
stop
终止服务器运行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。