如何在Ubuntu 17.04上设置Minetest服务器

・6 分钟阅读

Minetest是一种免费的开源游戏Minecraft的替代品,服务器非常容易安装和运行。

前提条件

  • 运行Ubuntu 17 ,04的1GB VPS或专用实例,
  • wget (使用apt install wget安装),
  • 文本编辑器,

步骤1添加Minetest稳定repo,并且安装服务器软件

由于Ubuntu往往落后于Minetest的包,所以,你需要使用稳定的PPA,可以使用以下命令添加此命令。


# add-apt-repository ppa:minetestdevs/stable
# apt update

在此之后,你可以安装服务器。


# apt install minetest

步骤2:创建用户、打开端口和测试服务器

出于安全原因,如图所示,在自己的用户中运行服务总是一个好主意。


# useradd -mU minetest

这将创建你的minetest用户,有自己的组和服务运行的主目录。

在测试之前,你必须在默认情况下打开端口30000,否则你将无法连接。


# ufw allow 30000

现在是测试服务器是否运行的好时机。


# su minetest
$ minetest --server

如果一切顺利,你将得到以下输出:


WARNING[Main]: BanManager: creating /home/minetest/.minetest/worlds/world/ipban.txt
WARNING[Main]: NodeDefManager: Ignoring CONTENT_IGNORE redefinition
WARNING[Main]: /! You are using old player file backend. This backend is deprecated and will be removed in next release /!
WARNING[Main]: Switching to SQLite3 or PostgreSQL is advised, please read http://wiki.minetest.net/Database_backends.
ACTION[Main]: .__ __ __ 
ACTION[Main]: _____ |__| ____ _____/ |_ ____ _______/ |_ 
ACTION[Main]: / | |/ _/ __ __/ __ / ___/ __
ACTION[Main]: | Y Y | | ___/| | ___/ ___ | | 
ACTION[Main]: |__|_| /__|___| /___ >__| ___ >____ > |__| 
ACTION[Main]: / / / / / 
ACTION[Main]: World at [/home/minetest/.minetest/worlds/world]
ACTION[Main]: Server for gameid="minetest" listening on 0.0.0.0:30000.

用你的客户端连接到你的服务器,看看是否一切正常。你可以在任何时候在键盘上按下Ctrl C来停止服务器。

步骤3:配置MineTest服务器

首先,你需要下载例子minetest.conf配置文件。


$ cd ~/.minetest
$ wget https://raw.githubusercontent.com/minetest/minetest/master/minetest.conf.example
$ mv minetest.conf.example minetest.conf

此文件有一个广泛的可能设置列表供你修改和启用(通过取消注释行),但是目前你需要设置一些重要的设置。

服务器(例如)的名称和描述:


server_name = Minetest server
server_description = Welcome to my Minetest Server

服务器(例如)的IP地址和所需端口:


bind_address = 203.0.113.1
port = 30000

如果设置的端口与默认的30000不同,请确保更新了防火墙规则。


#ufw delete allow 30000
#ufw allow <port>

另一个重要的选项是name ,连接到有指定值的Minetest服务器的任何人都会被授予管理员权限,将它设置为你想要的用户名,稍后为你的帐户设置密码。

如果在步骤2中测试服务器时没有收到此消息,就可以直接转到步骤4.


$ minetest --server --migrate-players sqlite3 --world ~/.minetest/worlds/world

之后,你应该看到如下消息。


ACTION[Main]: Successfully migrated 1 players
ACTION[Main]: world.mt updated

步骤4:启动时运行服务器

为了在引导时运行服务器,需要一个systemd服务文件,值得庆幸的是,创建它们非常简单。

退出root shell并添加以下内容 /etc/systemd/system/minetest.service


[Unit]
Description=Minetest Server
After=network.target

[Service]
Type=simple
User=minetest
Group=minetest
WorkingDirectory=/home/minetest
ExecStart=/usr/bin/minetest --server
Restart=on-abort

[Install]
WantedBy=multi-user.target

从现在起,可以使用systemctl 启动Minetest服务器(并且会在重新启动后自动启动,或者如果Minetest服务器崩溃)


# systemctl enable minetest.service
# systemctl start minetest.service

同样,你可以通过在上面的命令中替换"start "来检查状态或停止/重启Minetest服务器。

结束语

你的Minetest服务器现在应该活动和可用的。连接时,请验证端口是否已打开,以及是否在minetest.conf中正确指定了IP地址。

Ammyae profile image