如何在Ubuntu上搭建Minecraft服务器

PS:本文撰写前已查询相关法律,本文内容不违反《互联网文化管理暂行规定》,遵守EULA协议,请勿举报。

我的世界》(英语:Minecraft)是一款沙盒游戏,最初由瑞典游戏设计师马库斯·阿列克谢·泊松单独开发,随后由2009年成立的瑞典公司Mojang开发并发行。玩家可以在一个随机生成的3D世界内,以带材质贴图的立方体为基础进行游戏。游戏中的其他特色包括探索世界、采集资源、合成物品及生存冒险等。游戏有多种模式,生存模式中玩家必须维持生命并采集资源来打造自己的世界;创造模式中玩家拥有无限的资源并可飞行,大多数玩家会使用此模式来建造大型建筑;冒险模式中玩家可在其他玩家定制的地图中游玩。游戏的Java版以其强大的第三方模组而知名,它们可为游戏添加各种新的对象、角色和功能。

本教程介绍如何在Ubuntu 16.04 LTS或Debian 8设置个人Minecraft服务器。

准备

  1. 要使用Minecraft服务器,您还必须拥有Minecraft.net的游戏客户端版本。
  2. 一台已经设置好可以使用sudo命令的非root账号的CentOS服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器
  3. 更新您的腾讯云CVM软件:
sudo apt update && sudo apt upgrade

4.安装OpenJDK,一个Java的开源实现,以及GNU Screen包。

注意 Minecraft版本1.12仅与OpenJDK 8兼容。如果您使用OpenJDK 7,则必须先使用sudo apt remove openjdk-7-\*命令将其删除,然后再继续本教程。

  • 在Ubuntu 16.04中: sudo apt install openjdk-8-jre-headless screen
  • 在Debian 8中: sudo apt install openjdk-8-jre-headless screen

5. 为Minecraft创建一个新用户:

sudo adduser minecraft

注意 如果您曾经在您服务器上启用过防火墙,如果您使用的是腾讯云的CVM服务器,您可以直接在腾讯云控制台中的安全组进行设置。如果使用的是其他服务器,请将以下行添加到您的iptables.firewall.rules文件中,添加25565端口例外: -A INPUT -p tcp -dport 25565 -j ACCEPT

安装Minecraft

  1. 退出当前的SSH会话并以minecraft用户身份重新登录到您的腾讯云CVM
  2. Minecraft.net下载最新版本的Minecraft多人游戏服务器。替换此示例中的URL以匹配当前版本:
wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12/minecraft_server.1.12.jar

请参阅Minecraft服务器页面以检查最新版本。

3.创建一个脚本来运行Minecraft服务器:

/home/minecraft/run.sh

#!/bin/sh
BINDIR=$(dirname "$(readlink -fn "$0")")
cd "$BINDIR"
​
java -Xms1024M -Xmx1536M -jar minecraft_server.1.12.jar -o true

注意 在XmsXmx定义了Minecraft服务器最小和最大将使用的RAM量。我们购买的腾讯云CVM 内存是2GB,建议使用上述设置。调整这些值以满足您的需求。

4.赋予run.sh可执行权限:

chmod +x /home/minecraft/run.sh

运行Minecraft

第一次运行Minecraft服务器时,它将创建一个EULA文件,然后退出:

$ ./run.sh
[21:39:43] [Server thread/INFO]: Starting minecraft server version 1.12
[21:39:43] [Server thread/INFO]: Loading properties
[21:39:43] [Server thread/WARN]: server.properties does not exist
[21:39:43] [Server thread/INFO]: Generating new properties file
[21:39:43] [Server thread/WARN]: Failed to load eula.txt
[21:39:43] [Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
[21:39:43] [Server thread/INFO]: Stopping server

打开eula.txt文件并将eula值更改为true:

/home/minecraft/eula.txt

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Tue Jan 27 21:40:00 UTC 2015
eula=true

要确保Minecraft服务器独立于SSH运行,请在screen会话中执行:

screen /home/minecraft/run.sh

这次Minecraft服务器控制台将生成大量输出,因为它创建了所需的配置文件并生成了Minecraft世界:

[22:00:06] [Server thread/INFO]: Starting minecraft server version 1.12
[22:00:06] [Server thread/INFO]: Loading properties
[22:00:06] [Server thread/INFO]: Default game type: SURVIVAL
[22:00:06] [Server thread/INFO]: Generating keypair
[22:00:07] [Server thread/INFO]: Starting Minecraft server on *:25565
​
....
​
[22:00:07] [Server thread/INFO]: Preparing level "world"
[22:00:08] [Server thread/INFO]: Preparing start region for level 0
[22:00:09] [Server thread/INFO]: Preparing spawn area: 3%
​
....
​
[22:00:21] [Server thread/INFO]: Preparing spawn area: 96%
[22:00:22] [Server thread/INFO]: Done (14.737s)! For help, type "help" or "?"

注意 要在不停止游戏服务器的情况下断开SSH,请按CTRL + a然后按d。要恢复正在运行的屏幕会话,请使用命令screen -r

您可以自定义您的游戏设置。当run.sh执行脚本,世界与默认的变量创建。如果您想创建一个包含更新变量,请更改文件中的level-name指令server.properties并相应地修改其他设置。

使用level-name更改后停止并重新启动服务器脚本后,将创建一个包含该世界游戏数据的新目录。有关可用设置及其修改方法的更多信息,请参阅Minecraft Wiki设置页面

连接到您的Minecraft服务器

打开您当地的Minecraft客户端。登录后,单击“ 多人游戏”选项:

单击添加服务器,然后输入您的腾讯云CVM的IP地址或域名。完成后,单击“完成”

您的服务器现在可用于传入连接。单击加入服务器进行连接:

你现在可以和你的朋友在服务器的世界里玩Minecraft。怎么样,简单吗?感觉去搭建你的我的世界服务器吧!

更多Linux教程请前往腾讯云+社区学习更多知识。


参考文献:《How to Set Up a Minecraft Server on Ubuntu or Debian》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏原创

浅析开源数据库MySQL架构

数据库是所有应用系统的核心,故保证数据库稳定、高效、安全地运行是所有企业日常工作的重中之重。数据库系统一旦出现问题无法提供服务,有可能导致整个系统都无法继续工作...

577120
来自专栏灯塔大数据

Java程序员使用的20几个大数据工具

最近问了很多Java开发人员关于最近12个月内他们使用的是什么大数据工具。 这是一个系列,主题为: 语言 web框架 应用服务器 SQL数据访问工具 SQL数...

36260
来自专栏程序你好

Monolithic架构到微服务

这种应用程序不是说只负责单个任务,但它们需要几个任务来完成特定的职责。在单体应用程序中,所有服务都打包成一个包,并作为一个进程运行。在单个应用程序中,用户界面、...

24020
来自专栏EAWorld

提升微服务测试效率:消费者驱动契约测试

在软件工程的世界里,我们经常面临变化。微服务不仅改变了软件的体系结构,而且改变了团队的组织方式和协作方式。

26120
来自专栏七夜安全博客

公众号+增量爬虫开发分享

15720
来自专栏极客猴

随意更 | 计划分享 Python Web 学习心得

前段时间,有个读者留言跟我说,有空出使用 Python 实现 RESTful API 的教程。我一看,这正合我意。自己很早就想学习 Python web。之前有...

22520
来自专栏程序你好

微服务体系结构——学习、构建和部署应用程序

更好地理解微服务架构,并举例这种架构好处,以及Uber如何将它们的单体应用变成微型服务。

9150
来自专栏Java架构师历程

推介7个CI / CD(持续集成和持续部署)工具

越来越多的工程团队正在采用敏捷开发,推动更短,更快的发布周期。代码库增长和创建新生产构建的频率导致持续集成和持续部署/交付工具的兴起。

1.1K20
来自专栏搜云库

什么是微服务架构

什么是微服务? 微服务(Microservices Architecture)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被...

265100
来自专栏我是攻城师

Java程序员使用的20几个大数据工具

30290

扫码关注云+社区

领取腾讯云代金券