Techeek's Studio.

如何在Ubuntu上搭建我的世界服务器

字数统计: 1.5k阅读时长: 6 min
2018/08/14

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

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

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

准备

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

注意

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

  • 在Ubuntu 16.04中:

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

    1
    sudo apt install openjdk-8-jre-headless screen
  1. 为Minecraft创建一个新用户:
1
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以匹配当前版本:
1
wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12/minecraft_server.1.12.jar

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

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

/home/minecraft/run.sh

1
2
3
4
5
#!/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,建议使用上述设置。调整这些值以满足您的需求。

  1. 赋予run.sh可执行权限:
1
chmod +x /home/minecraft/run.sh

运行Minecraft

  1. 第一次运行Minecraft服务器时,它将创建一个EULA文件,然后退出:
1
2
3
4
5
6
7
8
$ ./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
  1. 打开eula.txt文件并将eula值更改为true:

/home/minecraft/eula.txt

1
2
3
#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
  1. 要确保Minecraft服务器独立于SSH运行,请在screen会话中执行:
1
screen /home/minecraft/run.sh

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[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

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

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

连接到您的Minecraft服务器

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

Minecraft Launch Menu.

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

Edit Server Info.

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

Minecraft Server List.

Minecraft Players.

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

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


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

CATALOG
  1. 1. 准备
  2. 2. 安装Minecraft
  3. 3. 运行Minecraft
  4. 4. 连接到您的Minecraft服务器