本文概述
- 1.安装建筑物要求
- 2.安装无头Java运行时环境(JRE)
- 3.创建服务器级别的minecraft用户
- 4.切换到minecraft用户并创建目录
- 5.下载并编译mcrcon
- 6.下载并配置Minecraft服务器
- 7.创建Minecraft服务器即服务
- 8.验证端口25565是否已打开
- 9.启动我的世界服务器
在尝试再次与一些朋友一起玩游戏时, 我发现在服务器上托管自己的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}
【如何在Ubuntu 18.04中安装和设置自己的Vanilla Minecraft 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:-hPrint usage-HServer address-PPort (default is 25575)-pRcon password-tInteractive terminal mode-sSilent mode (do not print received packets)-cDisable colors-rOutput raw packets (debugging and custom handling)-vOutput version informationServer address, port and password can be set using following environment variables:MCRCON_HOSTMCRCON_PORTMCRCON_PASSCommand-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 stopmcrcon 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
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 laterrcon.port=25575rcon.password=your-passwordenable-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 workonline-mode=true
在此处需要注意的重要一点是, 你将成为定义服务器工作方式的人, 先前的配置定义了mcrcon的正确功能, 以及是否允许破解的minecraft版本与服务器一起使用。
更改值后, 你将可以继续本教程, 但不要启动服务器。
7.创建Minecraft服务器即服务现在, 建议的启动Minecraft服务器的方法是通过服务, 因此你可以轻松地通过命令轻松地停止, 启动和重新启动服务。我们将在Ubuntu中通过systemd单位文件来执行此操作。
切换到root用户并使用以下命令创建文件:
sudo nano /etc/systemd/system/minecraft.service
将以下配置设置为文件内容:
[Unit]Description=Minecraft ServerAfter=network.target[Service]User=minecraftNice=1KillMode=noneSuccessExitStatus=0 1ProtectHome=trueProtectSystem=fullPrivateDevices=trueNoNewPrivileges=trueWorkingDirectory=/opt/minecraft/serverExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar server.jar noguiExecStop=/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服务器。
开心游戏??!
推荐阅读
- 使用jarsigner签名APK时出错(无法签名jar无效条目压缩大小)
- 如何使用Java以编程方式打开Android设置
- 如何修复SSH主机密钥验证失败,警告(Ubuntu 18.04中的远程主机标识已更改)
- Boostnote(适用于台式机和移动设备的开源笔记记录应用)
- 一图解密百TB数据分析如何跑进45秒
- flink sql 知其所以然| sourcesink 原理
- Veeam实现MySQL的备份与还原
- Hbase写数据,存数据,读数据的详细过程
- 如何远程调试自定义开发的Flume应用