本文概述
- 1.安装建筑物要求
- 2.安装无头Java运行时环境(JRE)
- 3.创建服务器级别的minecraft用户
- 4.切换到minecraft用户并创建目录
- 5.下载并编译mcrcon
- 6.下载并配置Minecraft服务器
- 7.创建Minecraft服务器即服务
- 8.验证端口25565是否已打开
- 9.启动我的世界服务器
当我还是个孩子的时候, 我爱上了Minecraft, 因为它是曾经在我的旧版低规格计算机上流畅运行的游戏之一, 游戏的动态性令人难以置信, 并且你可以实现的所有东西都很棒。直到该日期为止, 游戏仍会不断发布更新, 新物品和其他内容。这些令人惊奇的功能之一是可以和不再可用的公共服务器中的朋友一起玩的可能性。
在尝试再次与一些朋友一起玩游戏时, 我发现在服务器上托管自己的Minecraft服务器与他们一起玩是多么容易, 所以今天我将向你说明如何在以下位置轻松设置自己的自托管Minecraft服务器Ubuntu 18.04。
1.安装建筑物要求
在继续配置Minecraft服务器之前, 你需要在服务器上预先安装以下软件包。在安装它们之前, 请确保使用以下命令更新apt储存库(最初你应具有root特权):
sudo apt-get update
然后, 运行以下命令以在你的服务器中安装Git和Build Essential软件包:
sudo apt-get install git build-essential
一旦在服务器中拥有了必要的构建和git, 就应该准备继续。
2.安装无头Java运行时环境(JRE)
如你所知, Minecraft是用Java开发的。为了在ubuntu服务器上运行minecraft服务器代码, 你需要安装Java, 特别是Java 8或更高版本。在这种情况下, 我们将使用以下命令在服务器中安装Java 8的无头版本:
sudo apt-get install openjdk-8-jre-headless
我们安装了无头版本, 因为服务器?♂️上不需要任何图形界面。安装Java之后, 你可以使用以下命令在终端上轻松检查版本:
java -version
应该输出如下内容:
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
安装Java后, 你可以继续下一步。
3.创建服务器级别的minecraft用户
出于安全原因, 你应该在ubuntu服务器中拥有一个独占用户来设置你的minecraft服务器, 因此该服务器不会以root特权运行。用户也应该没有密码, 因为它不能通过SSH访问你的服务器。你可以使用以下命令注册用户:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
但是, 在配置Minecraft服务器时, 你应该具有root特权, 因此你以后可以切换到该用户。运行命令之后, 新用户现在应该已经存在于你的系统上。
4.切换到minecraft用户并创建目录
现在具有root特权, 使用以下命令切换到minecraft用户:
sudo su - minecraft
在你的终端中, 你应该以minecraft用户minecraft @ serverxd登录。然后, 继续创建存储Minecraft数据所需的2个目录:
- 服务器:此目录将包含服务器的来源, 世界等。
- 工具:此目录将存储mcrcon实用程序, 该实用程序将帮助你通过服务器中的终端来管理Minecraft服务器。
你可以使用以下命令创建它们:
mkdir -p ~/{tools, server}
这将在minecraft用户的根目录中创建。
5.下载并编译mcrcon
现在, 你需要在服务器中克隆mcrcon源代码, 然后自己进行编译。 mcrcon是基于控制台的Minecraft rcon客户端, 用于远程管理和服务器维护脚本。在你仍以Minecraft用户身份登录时, 请使用以下命令继续克隆项目的源代码:
cd ~/tools && git clone https://github.com/Tiiffi/mcrcon.git
这会将当前目录更改为tools目录, 并使用git克隆存储库。克隆存储库后, 使用以下命令切换到克隆项目的目录:
cd ~/tools/mcrcon
在此目录中, 运行以下命令以使用GCC编译器开始mcrcon的编译:
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
编译完成后, 你将能够运行以下命令来测试其是否正常运行, 该命令基本上会使用–help参数运行该实用程序:
./mcrcon -h
它将在终端中输出类似以下文本的内容:
Usage: mcrcon [OPTIONS]... [COMMANDS]...
Sends rcon commands to Minecraft server.
Option:
-h Print usage
-H Server address
-P Port (default is 25575)
-p Rcon password
-t Interactive terminal mode
-s Silent mode (do not print received packets)
-c Disable colors
-r Output raw packets (debugging and custom handling)
-v Output version information
Server address, port and password can be set using following environment variables:
MCRCON_HOST
MCRCON_PORT
MCRCON_PASS
Command-line options will override environment variables.
Rcon commands with arguments must be enclosed in quotes.
Example:
mcrcon -H my.minecraft.server -p password "say Server is restarting!" save-all stop
mcrcon 0.6.1 (built: May 19 2019 23:39:16)
Report bugs to tiiffi_at_gmail_dot_com or https://github.com/Tiiffi/mcrcon/issues/
6.下载并配置Minecraft服务器
在为服务器安装控制面板之后, 你将需要下载服务器。在本教程中, 我们将使用mojang的minecraft网站上的官方Vanilla服务器。我们将在此处列出3个最新版本(截止日期为2020年4月23日, 因此, 如果你在此日期之后阅读此文章, 请在官方网站上搜索最新版本), 但是如果你在Google上搜索其他版本, 则可以你需要(https://mcversions.net/):
- 1.15.2:https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar
- 1.15.1:https://launcher.mojang.com/v1/objects/8b11614bea9293592a947ea8f4fd72981ea66677/client.jar
- 1.14.4:https://launcher.mojang.com/v1/objects/8c325a0c5bd674dd747d6ebaa4c791fd363ad8a9/client.jar
- 1.13.2:https://launcher.mojang.com/v1/objects/30bfe37a8db404db11c7edf02cb5165817afb4d9/client.jar
在这种情况下, 我们将使用最新的1.15.2, 因此我们可以使用以下命令通过wget轻松下载服务器文件:
wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar -P ~/server
这会将.jar文件下载到我们之前创建的服务器目录中。下载完成后, 你将需要使用以下命令临时启动服务器:
cd ~/server && java -Xmx1024M -Xms512M -jar server.jar nogui
这将使服务器启动并创建一些基本文件, 但是它将立即停止引发有关接受EULA协议的必要性的异常:
[10:52:12] [main/ERROR]: Failed to load properties from file: server.properties
[10:52:12] [main/WARN]: Failed to load eula.txt
[10:52:12] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
服务器目录上将有2个新文件, 即eula.txt和server.properties。你只需通过将属性从false更改为true来接受EULA:
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
# Thu Apr 23 2020 10:58:54 GMT-0500 (Colombia Standard Time)
eula=true
你可以在终端中使用nano来编辑文件:
nano ~/server/eula.txt
然后, 使用以下命令修改server.properties文件:
nano ~/server/server.properties
并更改以下属性:
# 1. Configure the rcon properties
# change your-password to something secure, this will be used later
rcon.port=25575
rcon.password=your-password
enable-rcon=true
# 2. Allow online mode or not
# If you set this value to false, people with the pirate version of minecraft
# will be able to connect to your server, otherwise if it is set to true, the
# authentication of mojang will be used, so only paid versions of minecraft will work
online-mode=true
在此处需要注意的重要一点是, 你将成为定义服务器工作方式的人, 先前的配置定义了mcrcon的正确功能, 以及是否允许破解的minecraft版本与服务器一起使用。
更改值后, 你将可以继续本教程, 但不要启动服务器。
7.创建Minecraft服务器即服务
现在, 建议的启动Minecraft服务器的方法是通过服务, 因此你可以轻松地通过命令轻松地停止, 启动和重新启动服务。我们将在Ubuntu中通过systemd单位文件来执行此操作。
切换到root用户并使用以下命令创建文件:
sudo nano /etc/systemd/system/minecraft.service
将以下配置设置为文件内容:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
Nice=1
KillMode=none
SuccessExitStatus=0 1
ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p your-password stop
[Install]
WantedBy=multi-user.target
接下来将描述配置文件:该过程将使用minecraft用户运行, 并将具有我们最初创建的/ opt / minecraft / server目录作为工作目录。 ExecStart属性定义了将运行服务器本身的命令:java -Xmx1024M -Xms1024 -jar server.jar nogui。这将使用1GB的最大内存来运行server.jar文件, 你可以根据服务器的可用资源以及你的minecraft服务器的需要来调整此大小。
将更改保存在systemd文件中, 并使用以下命令重新加载守护程序:
sudo systemctl daemon-reload
这样, 你现在就可以通过创建的服务启动, 停止和重新启动Minecraft服务器。
8.验证端口25565是否已打开
人们应该能够使用端口25565连接到你的Minecraft服务器, 因此你应该检查端口是否打开, 以防万一你的服务器受到防火墙保护, 请使用ufw打开端口:
sudo ufw allow 25565/tcp
在类似AWS的环境中, 你应该在管理界面中打开端口。
9.启动我的世界服务器
最后, 你应该能够使用以下命令启动minecraft服务器:
sudo systemctl start minecraft
启动后, 你可以通过以下方式查看服务器的状态:
sudo systemctl status minecraft
现在你的朋友应该可以使用服务器ip并添加后缀your-server-ip:25565来连接到Minecraft服务器。
开心游戏❤️!
评论前必须登录!
注册